| GET | /v2/reservation/notice/{Query} | ||
|---|---|---|---|
| GET | /v2/reservation/notice/{Query}/{CendynPropertyId} |
import Foundation
import ServiceStack
public class ReservationStatusNoticeRequest : Codable
{
public var cendynPropertyId:String?
public var query:ReservationStatusNoticeQueryType?
public var id:String?
public var stayDate:Date?
required public init(){}
}
public enum ReservationStatusNoticeQueryType : String, Codable
{
case ResId
case ProfileId
case RoomId
}
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 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 enum RequestStatus : String, Codable
{
case Success
case Warning
case Error
case NotAuthorized
case Failure
}
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 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(){}
}
Swift ReservationStatusNoticeRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v2/reservation/notice/{Query} HTTP/1.1
Host: cert.cendyn.com
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ReservationStatusNoticeResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CenResSS.ServiceModel">
<PageNumber>0</PageNumber>
<PageSize>0</PageSize>
<RecordsAvailable>0</RecordsAvailable>
<RecordsReturned>0</RecordsReturned>
<Status>Success</Status>
<StatusMessage>String</StatusMessage>
<Records>
<ReservationStatusNotice>
<CancellationDate>0001-01-01T00:00:00</CancellationDate>
<CancellationID>String</CancellationID>
<CendynPropertyId>String</CendynPropertyId>
<Currency>String</Currency>
<DateResUpdated>0001-01-01T00:00:00</DateResUpdated>
<ExternalProfileID>String</ExternalProfileID>
<ExternalResId1>String</ExternalResId1>
<ExternalResId2>String</ExternalResId2>
<ResArriveDate>0001-01-01T00:00:00</ResArriveDate>
<ResDepartDate>0001-01-01T00:00:00</ResDepartDate>
<ResStatus>String</ResStatus>
<ResUpdatedBy>String</ResUpdatedBy>
<RoomNumber>String</RoomNumber>
<RoomNumberEndDate>0001-01-01T00:00:00</RoomNumberEndDate>
<RoomNumberStartDate>0001-01-01T00:00:00</RoomNumberStartDate>
<RoomType>String</RoomType>
<StayHistoryRevenueCollection>
<StayHistoryRevenue>
<Amount>0</Amount>
<CurrencyCode>String</CurrencyCode>
<FolioWindow>String</FolioWindow>
<InactiveDate>0001-01-01T00:00:00</InactiveDate>
<RecordStatus>String</RecordStatus>
<RevenueGroup>String</RevenueGroup>
<RevenueType>String</RevenueType>
<TransactionDate>0001-01-01T00:00:00</TransactionDate>
</StayHistoryRevenue>
</StayHistoryRevenueCollection>
<UniqueIDs>
<UniqueIDType>
<Context>String</Context>
<ID>String</ID>
<Type>String</Type>
</UniqueIDType>
</UniqueIDs>
</ReservationStatusNotice>
</Records>
</ReservationStatusNoticeResponse>