/* Options: Date: 2026-10-08 22:17:06 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: ReservationPost.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class UniqueIDType { public id: string; public type: string; public context: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProfileExtension { public languageCode: string; public salutationExt: string; public firstNameExt: string; public familiarNameExt: string; public middleNameExt: string; public lastNameExt: string; public nameSuffixExt: string; public companyNameExt: string; public blacklist: string; public blackListMessage: string; public anonymizationStatus: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Address { public addressTypeCode: string; public addressTypeDescription: string; public addressStatus: string; public attn: string; public address1: string; public address2: string; public city: string; public stateProvince: string; public postalCode: string; public countryCode: string; public isPrimary?: boolean; public addressLanguage: string; public addressCleansed?: boolean; public optOutMarketing?: boolean; public optOutDate?: string; public constructor(init?: Partial
) { (Object as any).assign(this, init); } } export class Membership { public externalID: string; public programCode: string; public membershipID: string; public membershipCategory: string; public membershipName: string; public membershipLevel: string; public membershipStatus: string; public enrollmentCode: string; public dateMembershipStarts?: string; public dateMembershipExpires?: string; public totalStays?: number; public awardCredits?: number; public awardAvailable?: number; public primaryAirline?: boolean; public displaySequence?: number; public sourceName: string; public sourceID: string; public isActive: boolean; public inactiveDate?: string; public pointsIndicator?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ContactMethod { public type: string; public category: string; public dataValue: string; public extraData: string; public optOut?: boolean; public sourceDate?: string; public isPrimary?: boolean; public confirmation?: boolean; public inactiveDate?: string; public optOutMarketing?: boolean; public optOutDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ActionComment { public externalID: string; public commentType: string; public commentTitle: string; public commentClass: string; public actionType: string; public comment: string; public actionDate?: string; public inactiveDate?: string; public guestViewable?: boolean; public creatorCode: string; public dateCommentCreated?: string; public resortCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SpecialRequest { public externalID: string; public requestType: string; public requestCode: string; public requestComments: string; public resortField: string; public actionTypeCode: string; public actionType: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class UDFDataType { public cendynPropertyID: string; public moduleName: string; public tableName: string; public columnName: string; public udfValue: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Lead { public fK_Reservation?: string; public externalLeadID: string; public externalLeadSource: string; public leadStatus: string; public leadAcquired?: string; public tentativeStartDate?: string; public tentativeEndDate?: string; public assignedAgent: string; public assignedDate?: string; public contactMethod: string; public contactAgent: string; public contactDate?: string; public lastFollowupMethod: string; public lastFollowupAgent: string; public lastFollowupDate?: string; public bookingMethod: string; public bookingAgent: string; public bookingDate?: string; public reasonforStay: string; public marketCode: string; public campaignCode: string; public campaignName: string; public priceEstimate?: number; public flaggedForAttention?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RelatedTraveler { public cendynPropertyID: string; public propertyName: string; public uniqueIDs: UniqueIDType[]; public salutation: string; public firstName: string; public familiarName: string; public middleName: string; public lastName: string; public fullName: string; public suffix: string; public relation: string; public isPrimary?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Document { public documentID: string; public documentType: string; public documentSource: string; public codeOnDocument: string; public documentNotes: string; public nameOnDocument: string; public nationalityOnDocument: string; public effectiveDate?: string; public expirationDate?: string; public issuer: string; public issuerCountry: string; public isPrimary?: boolean; public piI_StoredAs: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Voucher { public hotelCode: string; public voucherID: string; public voucherID2: string; public appliedToResort: string; public reservationID: string; public profileIDRecipient: string; public subscriberIDRecipient: string; public recipientName: string; public emailaddress: string; public profileIDPurchaser: string; public purchaserName: string; public voucherStatus: string; public voucherType: string; public membershipType: string; public certCode: string; public certNo: string; public shortDescription: string; public giftMessage: string; public comments: string; public voucherAmount?: number; public currencyCode: string; public issueType: string; public dateConsumed?: string; public expirationDate?: string; public awardPoints?: number; public ruleType: string; public ruleValue: string; public cancelAllowed?: boolean; public maxExtensions?: number; public referenceType: string; public referenceID: string; public promotionCode: string; public reservationConsumed?: boolean; public webConsumed?: boolean; public pmsConsumed?: boolean; public verifyCertNo?: boolean; public generateInLieu?: boolean; public creatorCode: string; public lastUpdaterCode: string; public folioID: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ProfilePolicy { public policyType: string; public attributeName: string; public integerValue?: number; public stringValue: string; public effectiveDate?: string; public expirationDate?: string; public comments: string; public externalID: string; public appliesTo: string; public appliesToDescriptor: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Profile { public cendynPropertyID: string; public propertyName: string; public uniqueIDs: UniqueIDType[]; public profileTypeCode: string; public profileTypeDescription: string; public nameCode: string; public profileTypeCategory: string; public jobTitle: string; public salutation: string; public firstName: string; public familiarName: string; public middleName: string; public lastName: string; public fullName: string; public nameSuffix: string; public vipid: string; public vipCode: string; public primaryLanguage: string; public genderCode: string; public dobYear: string; public dobMonth: string; public dobDayOfMonth: string; public companyName: string; public arNumber: string; public allowMail?: boolean; public allowEMail?: boolean; public guestPriv?: boolean; public allowPhone?: boolean; public allowSMS?: boolean; public allowHistory?: boolean; public allowMarketResearch?: boolean; public allowThirdParty?: boolean; public allowLoyaltyProgram?: boolean; public creatorCode: string; public lastUpdaterCode: string; public dateProfileCreated?: string; public dateProfileUpdated?: string; public inactiveDate?: string; public nationality: string; public resortCode: string; public retiredProfileId: string; public transferredSubscriptionId: string; public sourceName: string; public sourceID: string; public optOutMarketing?: boolean; public optOutDate?: string; public profileExtension: ProfileExtension; public addresses: Address[]; public memberships: Membership[]; public contactMethods: ContactMethod[]; public actionComments: ActionComment[]; public specialRequests: SpecialRequest[]; public udfDataCollection: UDFDataType[]; public lead: Lead; public relatedTravelers: RelatedTraveler[]; public documents: Document[]; public vouchers: Voucher[]; public profilePolicies: ProfilePolicy[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ExternalReference { public pK_ExternalReferences: string; public fK_Internal?: string; public fK_InternalId?: number; public keyTable: string; public referenceType: string; public referenceSource: string; public referenceNumber: string; public legNumber?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Activity { public cendynPropertyID: string; public reservationID: string; public profileID: string; public activityStatus: string; public activityCategory: string; public activityID1: string; public activitySource1: string; public activityID2: string; public activitySource2: string; public activityName: string; public activityDescription: string; public activityNotes: string; public groupCode: string; public currencyCode: string; public amount?: number; public depositRequired?: number; public depositCollectorType: string; public inactiveDate?: string; public urlLink: string; public confirmationNum: string; public activityClass: string; public activityCode: string; public activitySubCode: string; public languageCode: string; public numAdults?: number; public numYouths?: number; public numChildren?: number; public startDate?: string; public startTaskType: string; public startLocationCode: string; public startLocationName: string; public endDate?: string; public endTaskType: string; public endLocationCode: string; public durationUnit: string; public relatedDate?: string; public relatedType: string; public relatedLocationCode: string; public relatedDescription: string; public vipCode: string; public assignedUser: string; public bookedDate?: string; public bookedBy: string; public lastUpdatedDate?: string; public lastUpdatedBy: string; public cancellationCode: string; public customField1: string; public customField2: string; public customField3: string; public customField4: string; public customField5: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Guest { public arrivalDate?: string; public departureDate?: string; public profileSequence?: number; public isPrimary: boolean; public folioID: string; public percentageBilled: number; public purposeOfStay: string; public originalReservationNum: string; public originalConfirmationNum: string; public guestGroupSequence?: number; public taxType: string; public guestProfile: Profile; public externalReferences: ExternalReference[]; public activities: Activity[]; public udfDataCollection: UDFDataType[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class TaxType { public amount: number; public code: string; public description: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayDetail { public externalID: string; public stayDate: string; public roomNumber: string; public roomType: string; public rateType: string; public marketCode: string; public resSourceCode: string; public numberOfRooms: number; public dailyRate?: number; public currencyCode: string; public dateStayDetailUpdated?: string; public dailyRateBeforeTax?: number; public dailyRateAfterTax?: number; public taxTypes: TaxType[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class CancelPenalty { public ruleType: string; public ruleCode: string; public ruleDescription: string; public resortRuleID: string; public ruleID: string; public amount?: number; public percentage?: number; public cancelByDate?: string; public cancelPercentDue?: number; public cancelRoomNights?: number; public activityDeposit?: number; public roomDeposit?: number; public ruleScope: string; public currencyCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ResServicePrice { public externalID: string; public actualBeginDate?: string; public actualEndDate?: string; public unitPrice?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ResService { public externalID: string; public serviceType: string; public serviceGroup: string; public resAction: string; public servicePricingType: string; public serviceSequence?: number; public serviceInventoryCode: string; public startDate?: string; public endDate?: string; public frequency: string; public priceAmount?: number; public currencyCode: string; public quantity?: number; public ratePlanCode: string; public inventoryBlockCode: string; public priceGuaranteed?: boolean; public inclusive?: boolean; public serviceComments: string; public inactiveDate?: string; public servicePrices: ResServicePrice[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PayInfo { public recordType: string; public methodTypeCode: string; public methodType: string; public dueDate?: string; public amount?: number; public currencyCode: string; public cancelIfNotReceived?: boolean; public dropTime?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class FixedCharge { public chargeCode: string; public chargeName: string; public description: string; public frequency: string; public chargeUnit: number; public chargeType: string; public curencyCode: string; public amount: number; public taxInclusive?: boolean; public taxAmount?: number; public percentage?: number; public effectiveDate?: string; public expirationDate?: string; public taxable?: boolean; public customCode1: string; public customCode2: string; public customCode3: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class StayHeader { public externalID: string; public stayBeginDate: string; public stayEndDate: string; public buildingCode: string; public roomNumber: string; public roomType: string; public marketSegmentCode: string; public resSourceCode: string; public shareCode: string; public invBlockCode: string; public resStatusType: string; public rtc: string; public channelCode: string; public sourceSequence?: number; public rateType: string; public rateCategory: string; public dailyRate?: number; public currencyCode: string; public promotionCode: string; public stayDetails: StayDetail[]; public cancelPenalties: CancelPenalty[]; public resServices: ResService[]; public payInfoCollection: PayInfo[]; public fixedCharges: FixedCharge[]; 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 PaymentCard { public cardType: string; public cardHolderName: string; public cardValue: string; public cardValueType: string; public expirationMonth?: number; public expirationYear?: number; public securityCode: string; public isPrimary?: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PaymentMethod { public methodOfPayment: string; public folioID: string; public paymentCards: PaymentCard[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum ResActionTypeCode { RT = 'RT', AT = 'AT', TR = 'TR', } export class ResAction { public externalID: string; public resActionTypeID: string; public resActionType: ResActionTypeCode; public sourceResAction: string; public resActionText: string; public resActionBy: string; public resActionDate?: string; public inactiveDate?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Reservation { public cendynPropertyID: string; public propertyName: string; public uniqueIDs: UniqueIDType[]; public resTypeCode: string; public resStatusCode: string; public resStatus: string; public confirmationNum: string; public centralResNum: string; public resArriveDate: string; public resDepartDate: string; public resArriveTime: string; public resDepartTime: string; public numRooms?: number; public buildingCode: string; public roomTypeCode: string; public roomNumber: string; public rateCode: string; public rateCategoryCode: string; public rateAmount?: number; public rateConfidential?: boolean; public packageCode: string; public packageAmount?: number; public packageDescription: string; public discountCode: string; public discountAmount?: number; public discountPercent?: number; public discountReasonCode: string; public guaranteedByCode: string; public mop: string; public isNotRefundable?: boolean; public sharerCode: string; public legNumbers: string; public groupID: string; public groupName: string; public resSourceCode: string; public resSourceCategory: string; public trvlAgntPmsID: string; public trvlAgntCode: string; public trvlAgntIATA: string; public trvlAgntName: string; public marketSegmentCode: string; public marketCodeCategory: string; public marketRegionCode: string; public companyCode: string; public companyName: string; public billingCode: string; public billingName: string; public customerSegment: string; public numAdults?: number; public numYouths?: number; public numChildren?: number; public totalRoomNights?: number; public dateResMade?: string; public dateResUpdated?: string; public resMadeBy: string; public resUpdatedBy: string; public checkedInBy: string; public checkedOutBy: string; public cancellationID: string; public cancellationCode: string; public cancellationComment: string; public cancellationDate?: string; public sourceName: string; public sourceID: string; public averageRoomRate?: number; public depositAmountDue?: number; public depositAmountPaid?: number; public accountBalance?: number; public totalOtherRevenue?: number; public totalFBRevenue?: number; public totalRoomRevenue?: number; public totalTax?: number; public totalRevenue?: number; public currencyCode: string; public guests: Guest[]; public stayHeaders: StayHeader[]; public actionComments: ActionComment[]; public specialRequests: SpecialRequest[]; public udfDataCollection: UDFDataType[]; public taxTypes: TaxType[]; public stayHistoryRevenueCollection: StayHistoryRevenue[]; public resServices: ResService[]; public externalReferences: ExternalReference[]; public paymentMethods: PaymentMethod[]; public resActions: ResAction[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ReservationContainer { public echoToken: string; public changeAction: string; public reservations: Reservation[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class Response { public statusCode: string; public recordCount: number; public errorCount: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/reservation/{SubscriptionId}/{CendynPropertyId}", "POST") export class ReservationPost implements IReturn { public reservationContainer: ReservationContainer; public subscriptionId: string; public cendynPropertyId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'ReservationPost'; } public getMethod() { return 'POST'; } public createResponse() { return new Response(); } }