CenResService

<back to all web services

HotelRate

The following routes are available for this service:
POST/hotelrate/{SubscriptionId}/{CendynPropertyId}
import Foundation
import ServiceStack

public class HotelRate : Codable
{
    public var rateContainer:RateContainer?
    public var subscriptionId:String?
    public var cendynPropertyId:String?

    required public init(){}
}

public class RateContainer : Codable
{
    public var echoToken:String?
    public var rateType:RateType?
    public var changeAction:String?
    public var rates:[Rate] = []

    required public init(){}
}

public class RateType : Codable
{
    public var hotelCode:String?
    public var rateCode:String?
    public var rateCategory:String?
    public var rateName:String?
    public var startDate:Date?
    public var endDate:Date?
    public var rateStatus:String?
    public var baseRateCode:String?
    public var marketCode:String?
    public var confidential:Bool?
    public var mealsIncluded:Bool?
    public var taxIncludedIndicator:String?
    public var rateCategoryDescription:String?
    public var displayText:String?
    public var shortDescription:String?
    public var longDescription:String?
    public var minLOS:Int?
    public var sourceName:String?
    public var sourceID:String?
    public var rateAdjustDirection:String?
    public var rateAdjustAmount:Double?
    public var rateAdjustPercent:Double?
    public var currencyCode:String?
    public var isDaily:Bool?
    public var isActive:Bool?
    public var inactiveDate:Date?

    required public init(){}
}

public class Rate : Codable
{
    public var hotelCode:String?
    public var rateCode:String?
    public var roomCode:String?
    public var startDate:Date?
    public var endDate: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 extraBed:Double?
    public var currencyCode:String?
    public var freeChildLimit:Int?
    public var includeMonday:Bool?
    public var includeTuesday:Bool?
    public var includeWednesday:Bool?
    public var includeThursday:Bool?
    public var includeFriday:Bool?
    public var includeSaturday:Bool?
    public var includeSunday:Bool?
    public var customerSegment:String?
    public var sourceName:String?
    public var sourceID:String?
    public var isActive:Bool?
    public var inactiveDate:Date?
    public var rateSetID:String?
    public var rateChargeDetails:[RateChargeDetail] = []
    public var rateGuestCountDetails:[RateGuestCountDetail] = []

    required public init(){}
}

public class RateChargeDetail : Codable
{
    public var chargeCode:String?
    public var isBaseRate:Bool?
    public var rateBeforeTax:Double?
    public var rateAfterTax:Double?
    public var unitCount:Int?
    public var taxAmount:Double?

    required public init(){}
}

public class RateGuestCountDetail : Codable
{
    public var guestCount:Int?
    public var minRate:Double?
    public var maxRate:Double?

    required public init(){}
}

public class Response : Codable
{
    public var statusCode:String?
    public var recordCount:Int?
    public var errorCount:Int?

    required public init(){}
}


Swift HotelRate DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /hotelrate/{SubscriptionId}/{CendynPropertyId} HTTP/1.1 
Host: cert.cendyn.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"rateContainer":{"echoToken":"String","rateType":{"hotelCode":"String","rateCode":"String","rateCategory":"String","rateName":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","rateStatus":"String","baseRateCode":"String","marketCode":"String","confidential":false,"mealsIncluded":false,"taxIncludedIndicator":"String","rateCategoryDescription":"String","displayText":"String","shortDescription":"String","longDescription":"String","minLOS":0,"sourceName":"String","sourceID":"String","rateAdjustDirection":"String","rateAdjustAmount":0,"rateAdjustPercent":0,"currencyCode":"String","isDaily":false,"isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000"},"changeAction":"String","rates":[{"hotelCode":"String","rateCode":"String","roomCode":"String","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","rate1":0,"rate2":0,"rate3":0,"rate4":0,"extraAdult":0,"extraChild":0,"extraBed":0,"currencyCode":"String","freeChildLimit":0,"includeMonday":false,"includeTuesday":false,"includeWednesday":false,"includeThursday":false,"includeFriday":false,"includeSaturday":false,"includeSunday":false,"customerSegment":"String","sourceName":"String","sourceID":"String","isActive":false,"inactiveDate":"0001-01-01T00:00:00.0000000","rateSetID":"String","rateChargeDetails":[{"chargeCode":"String","isBaseRate":false,"rateBeforeTax":0,"rateAfterTax":0,"unitCount":0,"taxAmount":0}],"rateGuestCountDetails":[{"guestCount":0,"minRate":0,"maxRate":0}]}]},"subscriptionId":"String","cendynPropertyId":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"statusCode":"String","recordCount":0,"errorCount":0}