CenResService

<back to all web services

HotelRate

The following routes are available for this service:
POST/hotelrate/{SubscriptionId}/{CendynPropertyId}
namespace CenResSS.ServiceModel

open System
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type Response() = 
        member val StatusCode:String = null with get,set
        member val RecordCount:Int32 = new Int32() with get,set
        member val ErrorCount:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type RateType() = 
        member val HotelCode:String = null with get,set
        member val RateCode:String = null with get,set
        member val RateCategory:String = null with get,set
        member val RateName:String = null with get,set
        member val StartDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val EndDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RateStatus:String = null with get,set
        member val BaseRateCode:String = null with get,set
        member val MarketCode:String = null with get,set
        member val Confidential:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val MealsIncluded:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val TaxIncludedIndicator:String = null with get,set
        member val RateCategoryDescription:String = null with get,set
        member val DisplayText:String = null with get,set
        member val ShortDescription:String = null with get,set
        member val LongDescription:String = null with get,set
        member val MinLOS:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SourceName:String = null with get,set
        member val SourceID:String = null with get,set
        member val RateAdjustDirection:String = null with get,set
        member val RateAdjustAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RateAdjustPercent:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CurrencyCode:String = null with get,set
        member val IsDaily:Boolean = new Boolean() with get,set
        member val IsActive:Boolean = new Boolean() with get,set
        member val InactiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set

    [<AllowNullLiteral>]
    type RateChargeDetail() = 
        member val ChargeCode:String = null with get,set
        member val IsBaseRate:Boolean = new Boolean() with get,set
        member val RateBeforeTax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RateAfterTax:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val UnitCount:Int32 = new Int32() with get,set
        member val TaxAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type RateGuestCountDetail() = 
        member val GuestCount:Int32 = new Int32() with get,set
        member val MinRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val MaxRate:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type Rate() = 
        member val HotelCode:String = null with get,set
        member val RateCode:String = null with get,set
        member val RoomCode:String = null with get,set
        member val StartDate:DateTime = new DateTime() with get,set
        member val EndDate:DateTime = new DateTime() with get,set
        member val Rate1:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Rate2:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Rate3:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Rate4:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExtraAdult:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExtraChild:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ExtraBed:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CurrencyCode:String = null with get,set
        member val FreeChildLimit:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val IncludeMonday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeTuesday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeWednesday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeThursday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeFriday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeSaturday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val IncludeSunday:Nullable<Boolean> = new Nullable<Boolean>() with get,set
        member val CustomerSegment:String = null with get,set
        member val SourceName:String = null with get,set
        member val SourceID:String = null with get,set
        member val IsActive:Boolean = new Boolean() with get,set
        member val InactiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val RateSetID:String = null with get,set
        member val RateChargeDetails:ResizeArray<RateChargeDetail> = new ResizeArray<RateChargeDetail>() with get,set
        member val RateGuestCountDetails:ResizeArray<RateGuestCountDetail> = new ResizeArray<RateGuestCountDetail>() with get,set

    [<AllowNullLiteral>]
    type RateContainer() = 
        member val EchoToken:String = null with get,set
        member val RateType:RateType = null with get,set
        member val ChangeAction:String = null with get,set
        member val Rates:ResizeArray<Rate> = new ResizeArray<Rate>() with get,set

    [<AllowNullLiteral>]
    type HotelRate() = 
        member val RateContainer:RateContainer = null with get,set
        member val SubscriptionId:String = null with get,set
        member val CendynPropertyId:String = null with get,set

F# 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}