/* Options: Date: 2026-10-08 22:18:36 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: HotelInventoryBlockRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v2/hotelInventoryBlocks/{Query}", "GET") // @Route("/v2/hotelInventoryBlocks/{Query}/{CendynPropertyId}", "GET") public class HotelInventoryBlockRequest : IReturn, Codable { public typealias Return = HotelInventoryBlockResponse public var cendynPropertyId:String? public var query:InventoryBlockQueryType? public var startDate:Date? public var endDate:Date? public var blockName:String? public var id:String? // @DataMember(Name="Limit") public var pageSize:Int? // @DataMember(Name="Page") public var pageNumber:Int? required public init(){} } public class HotelInventoryBlockResponse : CenResResponse { public var records:[InventoryBlock] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case records } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) records = try container.decodeIfPresent([InventoryBlock].self, forKey: .records) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if records.count > 0 { try container.encode(records, forKey: .records) } } } public enum InventoryBlockQueryType : String, Codable { case Name case Id case LastUpdated } public class InventoryBlock : Codable { public var cendynPropertyID:String? public var hotelCode:String? public var actionCode:String? public var blockName:String? public var blockCodeType:String? public var blockType:String? public var inventoryBlockStatus:String? public var groupingCode:String? public var blockCodes:String? public var Description:String? public var resortAllotmentId:String? public var blockStartDate:Date? public var blockEndDate:Date? public var marketCode:String? public var sourceCode:String? public var channelCode:String? public var cutOffStartDate:Date? public var cutOffEndDate:Date? public var priceViewable:Bool? public var averageRate:Double? public var pickupComplete:Bool? public var comments:String? public var lostReason:String? public var externalID:String? public var sourceName:String? public var sourceID:String? public var sourceDateCreated:Date? public var sourceCreateUser:String? public var sourceDateUpdated:Date? public var sourceUpdateUser:String? public var isActive:Bool? public var inactiveDate:Date? public var recordStatus:String? public var inventoryBlockEvents:[InventoryBlockEvent] = [] public var inventoryBlockRates:[InventoryBlockRate] = [] public var profiles:[Profile] = [] required public init(){} } public enum RequestStatus : String, Codable { case Success case Warning case Error case NotAuthorized case Failure } public class CenResResponse : Codable { public var status:RequestStatus? public var statusMessage:String? public var recordsReturned:Int? public var recordsAvailable:Int? public var pageNumber:Int? public var pageSize:Int? 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 UniqueIDType : Codable { public var id:String? public var type:String? public var context:String? required public init(){} } public class InventoryBlockEvent : Codable { public var cendynPropertyID:String? public var hotelCode:String? public var inventoryCode:String? public var eventStartDate:Date? public var eventEndDate:Date? public var eventName:String? public var eventClassification:String? public var eventBookedDate:Date? public var eventStatus:String? public var roomSetupCode:String? public var roomSetupDescription:String? public var roomSetupCapacity:Int? public var expectedAttendance:Int? public var expectedRevenue:Double? public var foodRevenue:Double? public var beverageRevenue:Double? public var roomRevenue:Double? public var resourceRevenue:Double? public var otherRevenue:Double? public var comments:String? public var externalID:String? public var sourceDateCreated:Date? public var sourceCreateUser:String? public var sourceDateUpdated:Date? public var sourceUpdateUser:String? public var isActive:Bool? public var inactiveDate:Date? public var recordStatus:String? required public init(){} } public class InventoryBlockRate : Codable { public var cendynPropertyID:String? public var hotelCode:String? public var inventoryCode:String? public var blockCount:Int? public var inventoryDay:Date? public var rate1:Double? public var rate2:Double? public var rate3:Double? public var rate4:Double? public var extraAdult:Double? public var extraChild:Double? public var blocksSold:Int? public var roomsContracted:Int? public var roomsReserved:Int? public var isActive:Bool? public var inactiveDate:Date? public var roomBlockID:String? public var roomBlockName:String? public var roomBlockStatus:String? public var recordStatus: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(){} }