/* Options: Date: 2026-10-08 22:18:30 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: ReservationStatusNoticeRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v2/reservation/notice/{Query}", "GET") // @Route("/v2/reservation/notice/{Query}/{CendynPropertyId}", "GET") public class ReservationStatusNoticeRequest : IReturn, Codable { public typealias Return = ReservationStatusNoticeResponse public var cendynPropertyId:String? public var query:ReservationStatusNoticeQueryType? public var id:String? public var stayDate:Date? required public init(){} } public class ReservationStatusNoticeResponse : CenResResponse { public var records:[ReservationStatusNotice] = [] 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([ReservationStatusNotice].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 ReservationStatusNoticeQueryType : String, Codable { case ResId case ProfileId case RoomId } public class ReservationStatusNotice : Codable { public var cendynPropertyId:String? public var externalResId1:String? public var externalResId2:String? public var resStatus:String? public var cancellationID:String? public var cancellationDate:Date? public var dateResUpdated:Date? public var resUpdatedBy:String? public var roomNumber:String? public var roomNumberStartDate:Date? public var roomNumberEndDate:Date? public var stayHistoryRevenueCollection:[StayHistoryRevenue] = [] public var resArriveDate:Date? public var resDepartDate:Date? public var currency:String? public var roomType:String? public var externalProfileID:String? public var uniqueIDs:[UniqueIDType] = [] 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 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(){} }