Push API - Rate Change Notifications

Rate Change Notification

This web service operation allows the Windsurfer CRS to update external channel with the change in Rates.

 

Whenever rates change in the Windsurfer, the interface will send the changes to external channel using OTA_HotelRateAmountNotifRQ message. Rate changes are applied in CRS by way of daily rate changes, creation of new rate plans, addition of new inventory to existing rate plans or as a result of enabling a hotel for integration, rolling refresh, re-status etc.

In all these situations, Windsurfer CRS will send notification messages for the products for the date ranges that are affected.

Windsurfer CRS send the notification using an OTA_HotelRateAmountNotifRQ message. External channel will send a response using the OTA_HotelRateAmountNotifRS message.

OTA_HotelRateAmountNotifRQ

Sample Message

<OTA_HotelRateAmountNotifRQ xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" EchoToken="2344556" TimeStamp="2020-02-19T00:36:45.57792-06:00" Target="Production" Version="1" xmlns="http://www.opentravel.org/OTA/2003/05"> <RateAmountMessages HotelCode="WINDTESTHOTEL_01"> <RateAmountMessage> <StatusApplicationControl Start="2021-02-14" End="2021-02-14" RatePlanCode="BARTST" InvCode="DLXTST" /> <Rates> <Rate CurrencyCode="USD"> <BaseByGuestAmts> <BaseByGuestAmt AmountBeforeTax="133.0" NumberOfGuests="1" AgeQualifyingCode="10" /> <BaseByGuestAmt AmountBeforeTax="144.0" NumberOfGuests="2" AgeQualifyingCode="10" /> <BaseByGuestAmt AmountBeforeTax="199.0" NumberOfGuests="3" AgeQualifyingCode="10" /> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="10" Amount="50" /> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>

XML Usage Specification

Element/Attribute

Description

Occurrences

Element/Attribute

Description

Occurrences

@TimeStamp

Time of the transaction in XML schema date-time format

1

@EchoToken

Unique identifier to track RQ/RS message

1

@Target

Always set to “Production”

1

@Version

Always set to “1.0”

1

RateAmountMessages

Contains list of rate change messages

1

@HotelCode

Hotel code of the property whose rate is being updated

1

RateAmountMessage

The rate change to be made

1..n

StatusApplicationControl

The date range, room type code and rate code for which this notification is sent is specified in this element.

1

@Start

The start date for which the availability update is being set

1

@End

The end date for which the availability update is being set

1

@InvCode

Identifies the room type for which the availability is being updated. The room type code + rate code identify a unique product for which this update applies.

1

@RatePlanCode

Identifies the rate for which the availability is being updated. If the rate code is not sent, the availability is updated for all the products that have the room type code specified above. Optional.

1

@Mon, @Tues, @Weds, @Thur, @Fri, @Sat, @Sun

The day of the week indicators are used to communicate which days of the week the update pertains to. For example, if Mon, Tue, and Weds are set to “1”, and the other days are set to “0”, the availability will only be updated for Mondays, Tuesdays and Wednesdays. Optional. If not set, all are assumed to be set to true.

NOTE: If one is sent, then they must all be sent.

0..1

Rates

Contains the rate details

1

Rate

The changed rate which has necessitated this update

1..n

@CurrencyCode

Standard 3-Character currency code of the rate. e.g. “USD”

1

BaseByGuestAmts

Contains information about the rates

1

BaseByGuestAmt

Contains the rate amounts per guest

1..n

@AmountBeforeTax

AmountBeforeTax to be present for rate updates

0..1

@AmountAfterTax

AmountAfterTax to be present for rate updates

0..1

@AgeQualifyingCode

Optional and valid if required that Product rates to be configured per guest count wise:

“10” for Adult

“8” for Children

Represent the guest type to which the rate is applied.

0..1

AdditionalGuestAmount

Contains the additional rate amounts per guest type.

1..n

@Amount

Required if AdditionalGuestAmount is present. Represent the rate applied to the additional guest

1

OTA_HotelRateAmountNotifRS

External channel should respond to the above request by returning an OTA_HotelRateAmountNotifRS message.

Sample Success Message

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <s:Header> <ActivityId CorrelationId="71af6e5c-cd8c-49c3-b2b6-64432f087956" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f676f339-1599-4fbc-bb92-768485b8f29c</ActivityId> <a:To s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <OTA_HotelRateAmountNotifRS EchoToken="5685" TimeStamp="2016-05-17T15:24:54" Target="Production" Version="1" xmlns="http://www.opentravel.org/OTA/2003/05"> <Success /> </OTA_HotelRateAmountNotifRS> </s:Body> </s:Envelope>

Sample Error Message

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing"> <s:Header> <ActivityId CorrelationId="71af6e5c-cd8c-49c3-b2b6-64432f087956" xmlns="http://schemas.microsoft.com/2004/09/ServiceModel/Diagnostics">f676f339-1599-4fbc-bb92-768485b8f29c</ActivityId> <a:To s:mustUnderstand="1">http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:To> </s:Header> <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <OTA_HotelRateAmountNotifRS EchoToken="5685" TimeStamp="2016-05-17T15:24:54" Target="Production" Version="1" xmlns="http://www.opentravel.org/OTA/2003/05"> <Errors> <Error Type="4" Code="">Product [-BAR] not mapped</Error> </Errors> </OTA_HotelRateAmountNotifRS> </s:Body> </s:Envelope>

XML Usage Specification

Element/@Attribute

Description

Occurrences

Element/@Attribute

Description

Occurrences

@TimeStamp

Time of the transaction in XML schema date-time format

1

@EchoToken

Unique identifier to track RQ/RS message

1

@Target

Always set to “Production”

1

@Version

Always set to “1.0”

1

Success

If included, this element will indicate that the request message was successfully processed.

Either a Success element or Errors/Error element are required in every response.

0..1

Errors

Either a Success element or Errors/Error element are required in every response.

0..1

Error

Description of cause for a fatal problem during request message processing.

If an Errors element is included, one or more Error elements are required.

1

@Type

This is an enumeration of HTNG approved error types (OTA code list EWT). See appendix for supported values.

1

@Code

This is an enumeration of HTNG approved error codes (OTA code list ERR). See appendix for supported values.

1