Overview
The Hotel Rate Amount Notification message notifies CRS of changes in the rates charged for room of a hotel.
When the rate amount of an active (bookable) rate plan changes an update is done through the Rate Amount Notification message, The Status Application Control is used to identify the inventory items and the rate plan (for room products) that the change in rate amount applies to.
The Hotel Rate Amount Message defines the amount of the base rate, as well as the maximum number of adults permitted in a room at the rate, along with the charges for additional adults and children. Tax amounts that apply to the rate are also communicated. In short, the Rate Amount Notification should convey all of the information needed by a reservation system to book a hotel room at the newly established rate amount.
Business Rules
Creating a new room type or rate plan via this message is not supported. If a room type or rate plan can’t be mapped to an existing room type or rate plan in the CRS system, this entire message is ignored.
The max value for NumberOfGuests in the BaseByGuestAmt element is 4
OTA_HotelRateAmountNotifRQ Elements & Attributes
Element | @Attribute | Num | Description/Contents | Origin | Value |
OTA_HotelRateAmountNotifRQ | 1 | Root element of the message. |
|
OTA_HotelRateAmountNotifRQ / RateAmountMessages | |||
@ChainCode | |||
@HotelCode | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / StatusApplicationControl | |||
@InvTypeCode | |||
@RatePlanCode | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate | |||
@Start | |||
@End | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / BaseByGuestAmts / BaseByGuestAmt | |||
@AgeQualifyingCode | |||
@AmountBeforeTax | |||
@NumberOfGuests | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmounts | |||
OTA_HotelRateAmountNotifRQ / RateAmountMessages / RateAmountMessage / Rates / Rate / AdditionalGuestAmount | |||
@AgeQualifyingCode | |||
@Amount |
OTA_HotelRateAmountNotifRQ Sample
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://www.opentravel.org/OTA/2003/05" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Header> <PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" RequestorId="TEST" SourceId="RMS" DestinationId="CRS" RetryInd="false"> <Authentication Username="username" Password="Password"/> <PayloadDescriptor Name="OTA_HotelRateAmountNotifRQ" Version="1.0"/> </PayloadInfo> </soap:Header> <soap:Body> <OTA_HotelRateAmountNotifRQ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:ns="http://www.opentravel.org/OTA/2003/05" EchoToken="123456" TimeStamp="2021-07-16T19:58:15.970422+05:30" Target="Test" Version="1" MessageContentCode="8" TransactionIdentifier="6172037375195"> <RateAmountMessages ChainCode="TEST" HotelCode="TEST"> <RateAmountMessage> <StatusApplicationControl InvTypeCode="KING" RatePlanCode="DD" /> <Rates> <Rate Start="2021-11-15" End="2021-11-16"> <BaseByGuestAmts> <BaseByGuestAmt AgeQualifyingCode="10" AmountBeforeTax="1000.00" NumberOfGuests="1"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountBeforeTax="1000.00" NumberOfGuests="2"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountBeforeTax="1000.00" NumberOfGuests="3"/> <BaseByGuestAmt AgeQualifyingCode="10" AmountBeforeTax="1000.00" NumberOfGuests="4"/> </BaseByGuestAmts> <AdditionalGuestAmounts> <AdditionalGuestAmount AgeQualifyingCode="10" Amount="25.00"/> <AdditionalGuestAmount AgeQualifyingCode="8" Amount="15.00"/> </AdditionalGuestAmounts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ> </soap:Body> </soap:Envelope>
OTA_HotelRateAmountNotifRS Sample (Success)
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header> <PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" SourceId="CRS" DestinationId="RMS" RetryInd="false"></PayloadInfo> </soap:Header> <soap:Body> <OTA_HotelRateAmountNotifRS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.00" xmlns="http://www.opentravel.org/OTA/2003/05"> <Success /> </OTA_HotelRateAmountNotifRS> </soap:Body> </soap:Envelope>
OTA_HotelRateAmountNotifRS Sample (Warning)
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header> <PayloadInfo RequestId="22d3ac7c-f01e-49c6-8fbd-ae269f39c0ad" SourceId="CRS" DestinationId="RMS" RetryInd="false"></PayloadInfo> </soap:Header> <soap:Body> <OTA_HotelRateAmountNotifRS xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.00" xmlns="http://www.opentravel.org/OTA/2003/05"> <Warnings> <Warning>Warning: Unable to map ratecode:BAR1</Warning> </Warnings> </OTA_HotelRateAmountNotifRS> </soap:Body> </soap:Envelope>