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