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 |
---|---|---|
@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 |
---|---|---|
@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 |