GenHTNG - Rate Amount Notification Messages
Overview
The Hotel Rate Amount Notification message notifies CRS of changes in the rates charged for room of a hotel.
The creation of a new rate plan is done through the Rate Plan Notification message. 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 (or non-room product) at the newly established rate amount.
Supported Operations
Using the Status Application Control, rate changes can be made based on dates, days of week, rate plan codes and/or inventory and inventory block codes. The following are examples of different types of rate amount changes that could be applied through this message:
Dates—the rate changes from $89.00 per night to $99.00 per night from May 21st through July 31st for the inventory codes related to double bed rooms and king bed rooms.
Days of Week—The rate for all rooms on this property change from $69.00 per night to $59.00 per night on Fridays and Saturdays.
Rate Plan Codes—AAA and AARP rates are increased from $79.00 to $89.00 per night.
Inventory Codes (Room product)—Suites and apartment room rates are increased by 10% (using inventory codes that define these inventory types).
Inventory Code (Non-room product)—Rates for Bedtime Snacks are increased from $7 to $10.
Additional occupancy—Rates are $ 9.00 per night for additional adults. Rates for additional children are $5.00 per night.
Business Rules
Creating a new room type or rateplan via this message is not supported. If a room type or rateplan can’t be mapped to an existing room type or rateplan in the CRS system, this entire message is ignored.
The max value for NumberOfGuests in the BaseByGuestAmt element is 4
Non-room products only support a single rate value which applies to all dates.
OTA_HotelRateAmountNotifRQ Elements & Attributes
Element | @Attribute | Num | Description/Contents | Origin | Value |
OTA_HotelRatePlanNotifRQ | 1 | Root element of the message. |
|
@EchoToken | 0..1 | Optional |
|
@TimeStamp | 1 | Mandatory. Time of the transaction. Indicates the creation date and time of the message in UTC using the following format specified by ISO 8601: |
|
@Version | 1 | Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same |
|
@ChainCode | 1 | Optional |
|
@HotelCode | 1 | Mandatory. The unique hotel code within the CRS system. |
|
@HotelName | 1 | Optional | “Test Hotel” |
@RateAmountMessages | 1 | Mandatory |
|
@RateAmountMessage | 0..1 | Mandatory |
|
@ StatusApplicationControl | 0..1 | Mandatory |
|
@RatePlanCode | 0..1 | Optional. A string value may be used to request a particular code or an ID if the guest qualifies for a specific rate, such as AARP, AAA, a corporate rate, etc., or to specify a negotiated code.. | “Bar” |
@InvTypeCode | 1 | Optional. Code that identifies an inventory item. | “STD” |
@IsRoom | 1 | Mandatory. Boolean | True/false |
@Rates | 1 | Mandatory. |
|
@Rate | 1..n | Mandatory. An individual rate, which is a collection of amounts by guest, additional guests, fees, collection of related guarantee, cancel and payment policies, a description and the unique id to identify the rate. Rate restrictions can be sent along with the rate as attributes of this rate. |
|
@MinLOS | 1 | Optional. The minimum length of stay required by this rate plan. | String (16) |
@MaxLOS | 1 | Optional. The maximum length of stay allowed by this rate plan. | String(16) |
@Start | 1 | Optional. The starting value of the time span (date range). | Date |
@End | 1 | Optional. The ending value of the time span (date range). | Date |
@Mon | 1 | Optional. Boolean. |
|
@Tue | 1 | Optional. Boolean. |
|
@Weds | 1 | Optional. Boolean. |
|
@Thur | 1 | Optional. Boolean. |
|
@Fri | 1 | Optional. Boolean. |
|
@Sat | 1 | Optional. Boolean. |
|
@Sun | 1 | Optional. Boolean. |
|
@BaseByGuestAmts | 1 | Optional. A collection of Base charges by number of guests. |
|
@BaseByGuestAmt | 1..n | Mandatory. |
|
@AmountBeforeTax | 1 | Mandatory. Money. |
|
@NumberOfGuests | 1 | Mandatory. The number of guests associated with this base charge |
|
@Type | 1 | Codes. Type of charge. Refer to OpenTravel Code List Charge Type (CHG). Supported types are Per Item, Per Person, Per room, Per room per night. Mandatory for non-room products. |
|
@AdditionalGuestAmounts | 1 | Optional. Collection of incremental charges per age qualifying code for additional guests. Amount charged for additional occupant with respect to age group of the base guests. |
|
@AdditionalGuestAmount | 1..n | Mandatory for room products. |
|
@Amount | 1 | Mandatory. Money. |
|
@AgeQualifyingCode | 1 | Optional Codes. “10” for adult and “8” for child Defines an age range or age category ofa guest – i.e., under 21, over 65, teen, infant, etc. Refer to OTA Code List Age Qualifying Code (AQC). |
|
OTA_HotelRateAmountNotifRQ Sample Rate Message
<?xml version='1.0' encoding='UTF-8'?>
<n1:Envelope xmlns:n1="http://www.w3.org/2003/05/soap-envelope" xmlns:n3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:n2="http://www.w3.org/2005/08/addressing" xmlns:n4="http://htng.org/PWSWG/2007/02/AsyncHeaders">
<n1:Header>
<n2:MessageID>{{MessageID}}</n2:MessageID>
<n4:CorrelationID>2b36432943304e8d81ba5618d5df9e5a</n4:CorrelationID>
<n2:Action>http://htng.org/PWSWG/2010/12/OTA_HotelResNotifRQ _SubmitRequest</n2:Action>
<n2:To>https://uat.windsurfercrs.com/pms/genhtngservice.aspx</n2:To>
<n2:ReplyTo>
<n2:Address>http://www.w3.org/2005/08/addressing/role/anonymous</n2:Address>
</n2:ReplyTo>
<n3:Security mustUnderstand="1">
<n3:UsernameToken>
<n3:Username>{{UserName}}</n3:Username>
<n3:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">{{Password}}</n3:Password>
</n3:UsernameToken>
</n3:Security>
<n4:ReplyTo>
<n2:Address>https://api-dev.protel.net/services/ProtelApiService.ProtelApiServiceHttpsSoap12Endpoint</n2:Address>
</n4:ReplyTo>
</n1:Header>
<soap:Body>
<OTA_HotelRateAmountNotifRQ EchoToken="1861376" TimeStamp="2001-12-17T09:30:47-05:00" Version="1.0" xmlns="http://www.opentravel.org/OTA/2003/05"; xmlns:xsi="http://www.w3.org/2001/XMLSchemainstance">;
<RateAmountMessages ChainCode="WSD" HotelCode="SKY001" HotelName="SKY001">
<RateAmountMessage>
<StatusApplicationControl InvTypeCode="QUEEN" RatePlanCode="BAR" IsRoom="true" />
<Rates>
<Rate Start="2018-10-10" End="2018-10-15" Mon="true" Tue="false" Weds="true" Thur="true" Fri="true" Sat="true" Sun="true">
<BaseByGuestAmts>
<BaseByGuestAmt AmountBeforeTax="160.75" NumberOfGuests="1" />
<BaseByGuestAmt AmountBeforeTax="155.00" NumberOfGuests="2" />
<BaseByGuestAmt AmountBeforeTax="160.00" NumberOfGuests="3" />
<BaseByGuestAmt AmountBeforeTax="165.00" NumberOfGuests="4" />
</BaseByGuestAmts>
<AdditionalGuestAmounts>
<AdditionalGuestAmount AgeQualifyingCode="10" Amount="17.00"/>
</AdditionalGuestAmounts>
</Rate>
</Rates>
</RateAmountMessage>
</RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
</soap:Body>
</soap:Envelope>
Response Message handling is not yet available
OTA_HotelRateAmountNotifRS Elements & Attributes
Element | @Attribute | Num | Description/Contents | Origin | Value |
OTA_HotelRatePlanNotifRS | 1 | Root element of the message. |
|
@EchoToken | 0..1 | Optional |
|
@TimeStamp | 1 | Time of the transaction. |
|
@Version | 1 | Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same message. |
|
@MessageContentCode | 1 | The attribute refers to OTA code list MCC which includes RateAvail, RoomAvail, RoomRateAvail, SegmentAvail, SegmentRoomAvail, HouseAvail, and |
|
OTA_HotelRatePlanNotifRS / Success |
| This is the annotation that the availability status message batch was received successfully. It could be combined with warning messages if some of the |
|
OTA_HotelRatePlanNotifRS / Warnings | 1..n | Optional. The attribute refers to the MCC OTA code list which includes Rate, Package, Group. |
|
OTA_HotelRatePlanNotifRS / Warnings / Warning | 1..99 | Mandatory if parent level is present. |
|
@ Type | 1 | Mandatory in OTA. Refers to OTA EWT list (error warning type). |
|
@ Code | 0..1 | Optional. Refers to OTA list ERR. Should be used wherever possible. |
|
@ RecordID | 0..1 | If the receiving system can identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be |
|
OTA_HotelRatePlanNotifRS/ Errors | 1 | Optional. Errors are returned if the request was unable to be processed. The attribute refers to the MCC OTA code list which includes Rate, Package, Group. |
|
OTA_HotelRatePlanNotifRS/ Errors / Error | 1..99 | Mandatory if parent level is present. |
|
@ Type | 1 | Mandatory in OTA. Refers to OTA EWT list (error warning type). |
|
@ Code | 0..1 | Optional. Refers to OTA list ERR. Should be used wherever possible |
|
@ RecordID | 0..1 | If the receiving system can identify within a batch of availability status messages which specific message failed, the UniqueID of the message should be reported here. |
|
OTA_HotelRateAmountNotifRS Sample Rate Message
<OTA_HotelRatePlanNotifRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRatePlanNotifRS.xsd" TimeStamp="2004-05-01T06:39:09" Target="Production" Version="1.002">
<Success/>
</OTA_HotelRatePlanNotifRS>