/* Options: Date: 2026-10-08 22:17:44 Version: 6.21 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://cert.cendyn.com/CenResServiceR2Test //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: StayHistoryRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export enum StayHistoryQueryType { ProfileId = 'ProfileId', ResId = 'ResId', } export enum RequestStatus { Success = 'Success', Warning = 'Warning', Error = 'Error', NotAuthorized = 'NotAuthorized', Failure = 'Failure', } export class CenResResponse { public status: RequestStatus; public statusMessage: string; public recordsReturned: number; public recordsAvailable: number; public pageNumber: number; public pageSize: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UniqueIDType { public id: string; public type: string; public context: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayHistoryRevenue { public recordStatus: string; // @DataMember(IsRequired=true) public revenueGroup: string; // @DataMember(IsRequired=true) public revenueType: string; // @DataMember(IsRequired=true) public amount: number; public currencyCode: string; public folioWindow: string; public transactionDate?: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayHistoryDailyRate { public recordStatus: string; public transactionDate?: string; public rateCode: string; public marketCode: string; public amount: number; public currencyCode: string; public roomNumber: string; public resourceID: string; public pseudoRoom: string; public roomCategory: string; public rateRoomType: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayHistory { public cendynPropertyID: string; public resortID: string; public externalProfileID1: string; public externalResId1: string; public crsBookNo: string; public resortBookNo: string; public resortLegNo?: number; public confirmationID: string; public reservationStatus: string; public hasDailyRooms?: boolean; public rateRoomType: string; public actualArrivalDate?: string; public actualDepartureDate?: string; public bookDate?: string; public bookedArrivalDate?: string; public bookedDepartureDate?: string; public compYN: string; public adults?: number; public children?: number; public roomCategory: string; public roomNumber: string; public rateAmount?: number; public rateCode: string; public rateAmountCurrencyCode: string; public currencyCode: string; public sourceCode: string; public marketCode: string; public travelAgentID: string; public companyID: string; public channel: string; public paymentMethod: string; public rateCurrencyCode: string; public totalRevenue?: number; public roomRevenue?: number; public fbRevenue?: number; public membershipType: string; public membershipID: string; public transactionID: string; public transactionStatus: string; public uniqueIDs: UniqueIDType[]; public stayHistoryRevenueCollection: StayHistoryRevenue[]; public stayHistoryDailyRateCollection: StayHistoryDailyRate[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayHistoryResponse extends CenResResponse { public records: StayHistory[]; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } // @Route("/v2/stayhistory/{Query}", "GET") // @Route("/v2/stayhistory/{Query}/{CendynPropertyId}", "GET") export class StayHistoryRequest implements IReturn { public cendynPropertyId: string; public query: StayHistoryQueryType; public id: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'StayHistoryRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new StayHistoryResponse(); } }