Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel3

Overview

The Hotel Rate Plan Notification message is used to notify the CRS of a new rate plan created for a hotel or to modify and synchronize existing rate plans between the PMS and CRS.

When a hotel creates a new rate, whether that hotel is new or has been in operation for some period of time, the synchronization of rate plans can be a complicated process. A translation table may be required to identify the rate plan in one system with the same rate plan that is stored in another system.

With the creation of a new rate plan, a business process must also take place to ensure that the rate plan is populated up through the distribution system. New rate plans and group blocks are broadcast through authorized channels of distribution determined by negotiated business agreements. Viewership is usually set up when a new rate plan code is negotiated and it defines the distribution channel for the rate plan and the profile of the authorized booker(s). The distribution channels are indicated by a collection of System Codes.

When a hotel system sends out a status message to notify systems of the availability of a hotel, the StatusApplicationControl uses the rate plan codes that have been established by the Hotel Rate Plan Notification to determine which rate plans are available.

The <OTA_HotelRatePlanNotifRS> returns a response to the Hotel Rate Plan Notification request message, indicating that the notification message was successfully processed and warnings from business processing rules or errors if the notification was not able to be processed.

Supported Operations

  • The PMS uses the Rate Plan Notification message to the CRS to:
    • Announce a new rate plan
    • Update an active rate plan
    • Deactivate a rate plan that is no longer in effect

  • The CRS uses the Rate Plan Notification message to the PMS to:
    • Announce a new rate plan
    • Update an active rate plan
    • Deactivate a rate plan is no longer in effect

Business Rules

  • The guarantee policy detail is not supported in version 100. Instead, the GuaranteeCode is used to identify an existing policy that has been already setup in the CRS.

  • The cancel policy detail is not supported in version 1.00. Instead, the CancelPenalty. PolicyCode is used to identify an existing policy that has been already setup in the CRS.

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  

...

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 Rate, Package, Group.

...

   

...

OTA_HotelRatePlanNotifRQ / RatePlans

...

 1  

...

Element grouping the rate plans to be transferred.

...

   

...

@HotelCode  

...

 1  

...

This is the code of the property whose rate plans are being updated.

...

   

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan  

...

 1..n  

...

Element defining rate plan being sent. Upper limit to be agreed by trading partners.  

...

 

...

@RatePlanCode  

...

 1  

...

This is the rate plan which is being uploaded/downloaded.  

...

 

...

@RatePlanCategory  

...

 0..1  

...

This is the segment/category to which the rate being uploaded/downloaded belongs. Only one RatePlanCategory is acceptable for RatePlan code; therefore, the RatePlanCategory must be the same for all seasons passed.  

...

 

...

@ RatePlanStatusType  

...

 0..1  

...

The status of the rate plan – Initial, Active, Deactivated.  

...

 

...

@BaseRatePlanCode  

...

 0..1  

...

The rate plan this rate plan is derived from. Used for Character Strings, length1 to 64.  

...

 

...

@AdjustedAmount  

...

 0..1  

...

The amount which should be added to the base rate plan to determine the price of this derived rate plan. Specifies an amount, max 3 decimals.  

...

 

...

@AdjustedPercentage  

...

 0..1  

...

The percentage off the base rate plan amount used to determine the price of this derived rate plan. Used for percentage values.  

...

 

...

@AdjustUpIndicator  

...

 0..1  

...

When true, the adjusted amount or adjusted percentage is added to the amount specified for the base rate plan to determine the derived rate amount. When false, the adjusted amount or adjusted percentage is subtracted from the amount specified for the base rate plan to determine the derived rate amount.  

...

 

...

@ExtraNightRatePlancode  

...

 0..1  

...

Used to indicate what rate plan is used for shoulder night(s) booked in addition to the base nights. Used for Character Strings, length 1 to 64.  

...

 

...

@YieldDeltaAmount  

...

 0..1  

...

Numeric attribute indicating the amount to be added or subtracted to the rate to determine the real “yieldable” value of the rate.  

...

 

...

@YieldableIndicator  

...

 0..1  

...

Used to indicate the rate plan is subject to yield management logic. When true, the rate plan is yieldable. When false, the rate plan is not yieldable.  

...

 

...

@MarketCode  

...

 0..1  

...

String attribute to indicate the market code for the rate. Only one MarketCode is acceptable for RatePlan code; therefore, the MarketCode must be the same for all seasons passed  

...

 

...

@RestrictedDisplayIndicator  

...

 0..1  

...

This attribute is a boolean to indicate if the rate is to be considered “Confidential”. Only one Confidential attribute is acceptable for each RatePlan code; therefore, the attribute must be the same for all seasons passed.  

...

 

...

@RatePlanNotifType  

...

 1  

...

This enumeration indicates whether the upload/download is meant to overwrite existing data or add to it. Possible enumerations are: New, Delta, Overlay, Remove.  

...

 

...

@Start, @End  

...

 1  

...

In general, the Start and End attributes used at the RatePlan level should be used as follows: The Start attribute should be equal to the earliest Start attribute at the Rate level, and the End attribute should be equal to the latest End attribute at the Rate level. In other words, the Start and End attributes at the RatePlan level should specify the entire span of dates representing the Rate elements found inthe Rates collection. HOWEVER, the same Start and End attribute or Rate Plan level could be used to indicate the actual seasons of the rate if the two systems integrating using this message intend to transfer some of the elements at rate plan level as season-based elements. For instance, if the two systems are both capable of treating the “Commissionable” indicator as a seasonal item rather than an item that applies to the entire rate. If the Start and End attribute at rate plan level are used to indicate each season, the Start and End attribute at rate level WOULD ONLY BE USED in case of DOW variations – if no DOW variation is needed the Start and end attributes at Rate level could be omitted.  

...

 

...

@AdjustedPercentage  

...

 0..1  

...

The percentage off the base rate plan amount used to determine the price of this derived rate plan. Used for percentage values.  

...

 

...

@AdjustUpIndicator  

...

 0..1  

...

When true, the adjusted amount or adjusted percentage is added to the amount specified for the base rate plan to determine the derived rate amount. When false, the adjusted amount or adjusted percentage is subtracted from the amount specified for the base rate plan to determine the derived rate amount.  

...

 

...

@ExtraNightRatePlancode  

...

 0..1  

...

Used to indicate what rate plan is used for shoulder night(s) booked in addition to the base nights. Used for Character Strings, length 1 to 64.  

...

 

...

@YieldDeltaAmount  

...

 0..1  

...

Numeric attribute indicating the amount to be added or subtracted to the rate to determine the real “yieldable” value of the rate.  

...

 

...

@InventoryAllocatedInd

...

0..1

...

Boolean attribute to indicate whether the inventory allocated to this rate is taken out of the house inventory. Only
one InvBlock indicator is acceptable for RatePlan code; therefore, the InvBlock indicator must be the same for all seasons passed.

...

 @IsCommissionable  

...

 0..1 (was 1)

...

This indicates whether the rate season is commissionable or not. If the Boolean is sent as False, the rate season is not commissionable. If the Boolean is set to “True”, but NO commission is sent in the commission element, then the commission to be applied is the default one for the property. If the Boolean is set to True and a commission is passed in the field then the commission sent is the one applied to the rate season.

...

 Commissionable, if present 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Description

...

 2  

...

This element should be repeated twice: one instance for the short description and the other for the long description of the rate that is being uploaded/downloaded.

...

   

...

 @Name  

...

 1  

...

This element should be repeated twice: one instance for the short description and the other for the long description of the rate that is being uploaded/downloaded. Its value must be ‘Short Description’ in one instance and ‘Long Description’ in the other.

...

   

...

OTA_HotelRatePlanNotifRQ  / RatePlans / RatePlan / Description / Text

...

 1  

...

This element inside the Description element described above has the actual text corresponding to the long and short description of the rate being uploaded/downloaded.

...

   

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / UniqueID

...

 0..1 (was 1)

...

   

...

   

...

@Type  

...

 1  

...

Refers to OTA code list UIT – nr 16 = Reference. This is used to identify each single rate plan message for error reporting purposes.

...

   

...

@ID

...

 1  

...

ID is a unique incremental number for each rate plan message that identifies that specific message.

...

Counter for each message that starts at 0 and increments with each new RatePlan element.

...

** OTA_HotelRatePlanNotifRQ
/ RatePlans / RatePlan /
Commission

...

 0..1  

...

   

...

 Element not mapped  

...

 @Percent  

...

 0..1  

...

This is the amount of commission paid to an agency for booking the rate that is being uploaded/downloaded.

...

   

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules

...

 0..1  

...

Optional. Used to transfer booking rules.

...

 Element not mapped 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule

...

 1  

...

Mandatory if BookingRules is transferred.

...

   

...

@MinAdvancedBookingOffset

...

 0..1  

...

This is the minimum amount of days prior to arrival that the rate can be booked.

...

   

...

@MaxAdvancedBookingOffset

...

 0..1  

...

This is the maximum amount of days prior to arrival that the rate can be booked.

...

   

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / LengthsOfStay

...

 1  

...

 SetMinLOS & SetMaxLOS Mandatory.  

...

   

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / LengthsOfStay / LengthOfStay

...

 2  

...

 SetMinLOS & SetMaxLOS Mandatory.  

...

   

...

@MinMaxMessageType  =SetMinLOS, @Time @TimeUnit  

...

 1  

...

This is the minimum length of stay requirement associated to the rate that is being uploaded/downloaded. See note at the beginning of the document with regards to alternative solution on how to transmit the LOS restrictions.

...

   

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / DOW_Restrictions / AvailableDaysOfWeek

...

 0..1  

...

Element to transfer DOW when stay is possible.

...

   

...

@Mon,@Tue,@Weds,@Thur,@Fri,@Sat,@Sunday

...

 0..1  per day

...

The day of the week indicators selected are those in which the rate selected are those in which the rate be used to reflect when STAY is possible. Days marked as 0 (boolean) would mean on those days the rate is not available and therefore stay would not be possible. If one DOW indicator is used they must all be used.

...

   

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / DOW_Restrictions / ArrivalDaysOfWeek

...

 0..1  

...

Element to transfer DOW when arrival is possible.

...

 

...

@Mon,@Tue,@Weds,@Thur,@Fri,@Sat,@Sunday

...

 0..1 per day

...

The day of the week indicators set to 1 are those in which Arrival is allowed. Those set to 0 are the days in which arrival is not allowed.

...

 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / Viewerships

...

 0..n  

...

   

...

 

...

OTA_HotelRatePlanNotifRQ  / RatePlans / RatePlan / BookingRules / BookingRule / Viewerships / Viewership/

...

 1  

...

 Path to BookingChannelCodes.  

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / Viewerships / Viewership / BookingChannelsCodes /

...

 0..1  

...

   

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / Viewerships / Viewership / BookingChannelsCodes / BookingChannelCode

...

 0..n  

...

This would be used to indicate which Channels can view and book the rate. Could be substituted with SystemCode.

...

 

...

@Sort

...

 0..1  

...

The attribute “sort” can be associated to each code. Must be a string where we can pass C for closed as well as a
selling order.

...

 

...

** OTA_HotelRatePlanNotifRQ  / RatePlans / RatePlan / Rates  

...

 0..1  

...

Includes all rates loaded for the rate plan.

...

 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate

...

 1..n  

...

Upper limit may be agreed upon by partners.

...

 

...

@Start, @End  

...

 0..1  

...

This set of Start and End attribute represent the start and end of each season which is being transferred with
the rate. HOWEVER, if the Start and End attribute at rate plan level are used to indicate each season, the Start and End attribute at rate level WOULD ONLY BE USED in case of DOW variations – if no DOW variation is needed the Start and end attributes at Rate level could be omitted.

...

Start Date

End Date

...

 @CurrencyCode  

...

 1  

...

This is the currency associated to the rate that is being uploaded/downloaded – it could be different to the currency loaded for the property.

...

Currency Code 

...

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

...

per day

...

These DOW indicators are used tospecify to which days the rate passed is applicable. If one is sent, they must
all be sent and rates must be sent for each exception. If there is an exception to the pricing DOW indicators must be passed and the Rate element is then repeated for the exception days. Exceptions to the pricing are only allowed if no stay or arrival restrictions have been applied.

...

@InvTypeCode  

...

 1  

...

This is the room type for which the rates are transferred. For each room type a new instance of the Rate element must be passed. If the room type is transmitted with rate values attached it will be considered opened at the price indicated. If the room type is passed with a 0 value it will be considered closed for that rate plan (i.e., not applicable for the rate plan). If in a modification message a room type that was previously loaded is Not sent, then it remains
unchanged.

...

Room Type  

...

@Status

...

 0..1  

...

This is used to indicate for each room code passed for the rate whether it is opened or closed. Default value to be
agreed by partners.

...

Not mapped 

...

@RateTimeUnit, @UnitMultiplier

...

 0..1  

...

If NOT sent the default assumed is always 1 day (i.e., the rate is based on a nightly rate). Rate Time unit is an Enumeration of time units upon which the RateAmount is based (e.g., daily, weekly, single rate for full stay). UnitMultiplier is the number of RateTimeUnits that the rate Amount is based upon (e.g., rate for one day in case of nightly rates).

...

Not mapped 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate / BaseByGuestAmnts / BaseByGuestAmt  

...

 1..n  

...

At least one instance for NumberOfGuest=1 is mandatory for the RatePlanNotifType = New or Overlay. For the RatePlanNotifType of Delta or Remove it is optional

...

   

...

@NumberOfGuests

...

 1  

...

The NumberOfGuest Attribute indicates what type of rate is being passed – if NumberOfGuests is = 1 then we are transmitting a single rate, if higher than 1 then it is a double or full occupancy rate.

...

   

...

@AmountBeforeTax or @AmountAfterTax

...

 1  

...

Either @AmountBeforeTax or AmountAfterTax is Mandatory for each @NumberOfGuests. Partners must select whether to send either the @AmountBeforeTax or @AmountAfterTax (or both) attributes.

...

   

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / Rates / Rate / AdditionalGuestAmounts / AdditionalGuestAmount

...

0..n

...

Used to transfer extra adult and extra child information.

...

@AgeQualifyingCode  

...

 0..1  

...

@AgeQualifyingCode - 8 = child, 10 =  adult.  

...

 

...

@Percent OR @Amount

...

 0..1  

...

This is the percentage of the single rate that represents the child rate. Could also be expressed as fixed amount.

...

 

...

** OTA_HotelRatePlanNotifRQ  / RatePlans / RatePlan /
RatePlanLevelFee

...

 0..1  

...

Linked to Total Pricing – used to pass all Tax and fees info.

...

 Not mapped

...

** OTA_HotelRatePlanNotifRQ
/ RatePlans / RatePlan /
RatePlanLevelFee / Fee

...

 1..n  

...

Repeatable once per fee.  

...

 

...

@Type

...

 0..1 per Fee

...

An enumeration to indicate whether the fee is inclusive, exclusive, or cumulative.

...

 

...

@Code  

...

 0..1 per Fee

...

The Code attribute refers to the OTA FeeTaxType code list and is used to indicate what fee is being transferred. Code used will be:

3 – City tax
8 – Lodging tax
10 – Occupancy
14 – Service charge
15 – State tax
16 – Surcharge
17– Total Tax
19 – VAT/GST Tax
27 – Miscellaneous

A request has been made to OTA for the MPT list to be accessible from the same attribute so that meal plan info can also be passed in the same field.

...

 

...

@Amount OR @Percent  

...

 1 per Fee

...

Either @Amount or @Percent is Mandatory.

...

 

...

@Charge Unit  

...

 0..1  

...

Charge Unit is used to indicate the unit of measure of the fee/tax passed. Based on the OTACharge Type code
list, some examples are:

18 - Per room per stay
19 - Per room per night
20 - Per person per stay

Per person per night

...

 

...

@CurrencyCode

...

0..1

...

@MandatoryIndicator  

...

 0..1  

...

MandatoryIndicator is a boolean Attribute. This will indicate if the fee or meal plan passed is Mandatory or not and will help in the determination of the calculation for total pricing.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / RatePlanLevelFee / Fee /

...

 0..1  

...

Linked to Total Pricing – used to pass all tax and fees info. For fees and tax that are not OTA coded, Description/Text will be used to indicate the fee that is being passed. Only one description allowed for each fee element.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / RatePlanLevelFee / Fee / Description / Text

...

 1  

...

 Description of the fee.  

...

 

...

  

...

 

...

  

...

 

...

  

...

 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / CancelPenalties /

...

 0..1  

...

Used to transfer the Cancellation penalty for the rate plan transferred.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / CancelPenalties / CancelPenalty

...

 0..1  

...

   

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / CancelPenalties / CancelPenalty / Deadline

...

 0..1  

...

   

...

 

...

@AbsoluteDeadline  

...

 0..1  

...

This is used to indicate the “exact date” or “exact date and time” by which a reservation made for the rate passed needs to be cancelled in order to avoid penalties.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / CancelPenalties / CancelPenalty / Deadline

...

   

...

This is used to indicate the “number of days or hours”, “before arrival”, or “after booking” by which a reservation made for the rate passed needs to be cancelled to avoid penalties.

The following three attributes are used to indicate the “number of days or hours”, “before arrival”, or “after booking” by which a reservation made for the rate passed needs to be cancelled to avoid penalties.

...

 

...

@OffsetDropTime

...

 0..1  

...

An enumeration to indicate BeforeArrival or AfterBooking.

...

 

...

@OffsetUnitMultiplier  

...

 0..1  

...

A numeric to indicate the number of hours or days by which to cancel.

...

 

...

@OffsetTimeUnit  

...

 0..1  

...

An enumeration to indicate whether we are talking about hours or days. Possible enumerations for Ota are
various BUT RECOMMENDED ENUMERATIONS to be used by HTNG should only be: Hour and Day.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / CancelPenalties / CancelPenalty / AmountPercent

...

 1  

...

Conditionally Mandatory. If a Deadline is passed, then an AmountPercent must also be indicated using the appropriate attribute.

...

 

...

@NmbrOfNights OR @Amount OR @Percent

...

 1  

...

Conditionally Mandatory.  

...

 

...

** OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees /

...

 0..1  

...

This is used to transfer Guarantee AND/OR Deposit policies for the rate.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees / AcceptableGuarantee

...

 1..n  

...

This is used to indicate the specific Guarantee AND/OR Deposit policy for the rate.

...

 

...

@GuaranteePolicyType

...

 0..1  

...

To pass a Guarantee policy, the GuaranteeType attribute will be set to GuaranteeRequired. To pass a deposit it will be set to DepositRequired.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees / AcceptableGuarantee / GuaranteesAccepted

...

 1  

...

Conditionally Mandatory - if GuaranteeType is passed.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees / AcceptableGuarantee / GuaranteesAccepted / GuaranteeAccepted

...

 1  

...

 Mandatory.  

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees / AcceptableGuarantee / GuaranteesAccepted / GuaranteeAccepted / PaymentCard

...

 1  

...

 Mandatory.  

...

 

...

@GuaranteeCode  

...

 1  

...

The Code associated to the guarantee or deposit. Set to Card Type OTA code CDT nr 1- Credit.

...

 

...

@CardType

...

 1  

...

Used to indicate that the deposit or guarantee must be provided by credit card. Set to Card Type OTA code CDT to 1- Credit.

...

 

...

OTA_HotelRatePlanNotifRQ / RatePlans / RatePlan / BookingRules / BookingRule / AcceptableGuarantees / AcceptableGuarantee / GuaranteeDescription / Text

...

 0..1  

...

   

...

 

...

@GuaranteeCode

...

 0..1  

...

Goes with the GuaranteeCode attribute and describes the Guarantee or Deposit requirement. For instance:
GuaranteeCode = GCD, GuranteeDescription/Text = Guarantee by Corporate ID GuaranteeCode = DDP, GuranteeDescription/Text = Deposit by Check, Transfer

...

 

OTA_HotelRateAmountNotifRQ Sample Rate Message

...

languagexml

...

Table of Contents
maxLevel3

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.

A_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:
YYYYMMDDThh:mm:ssZ with time values using the 24 hour clock (e.g. 20 November 2009, 1:59:38 pm UTC becomes 20091120T13:59:38Z).

   

@Version  

 1  

Version is a mandatory attribute in OTA; therefore, it must remain Mandatory in HTNG to be able to use the same
message.

@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

Code Block
languagexml
<?xml version="1.0" encoding="UTF-8" ?>
<soap:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"; xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"; xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; 
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">; 

<soap:Header>
<wsa:Action>http://uat.windsurfercrs.com/Htng2AvailabilityService/OTA_HotelAvailNotifRQ</wsa:Action>;
<wsa:MessageID>urn:uuid:a66b8901-da23-4918-9a8f-d08076e572fe</wsa:MessageID>
<wsa:ReplyTo><wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>;</wsa:ReplyTo>
<wsa:To>https://uat.windsurfercrs.com/pms/GenHTNGService.aspx</wsa:To>; 
<wsse:Security soap:mustUnderstand="1">
<wsu:Timestamp wsu:Id="Timestamp-3bfdf977-9a77-4293-aa2c-6fc20b9095e0"><wsu:Created>2018-09-14T15:59:06</wsu:Created><wsu:Expires>2018-09-15T15:59:06</wsu:Expires></wsu:Timestamp>
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"; wsu:Id="SecurityToken-a4200b7e-5ae6-4c18-a1a9-2fdc8d4afe93">
<wsse:Username>Skyware</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">skyhtng01</wsse:Password>; <wsse:Nonce>rJkxy5VWvPsEO0DF+lAb+A==</wsse:Nonce>
<wsu:Created>2018-09-14T15:59:06</wsu:Created>
</wsse:UsernameToken>
</wsse:Security>
</soap: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" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRatePlanNotifRQ.xsd" EchoToken="354" TimeStamp="20050126T10:22:0005:00" Version="1.0">
	<RatePlans>; 
<RateAmountMessages ChainCode="GOWSD" HotelCode="SKY001" HotelName="GONOLASKY001">
		<RatePlan RatePlanCode<RateAmountMessage>
<StatusApplicationControl InvTypeCode="PKGQUEEN" RatePlanNotifTypeRatePlanCode="OverlayBAR" RatePlanTypeIsRoom="Packagetrue" Commissionable/>
<Rates>
<Rate Start="True2018-10-10" YieldableIndicatorEnd="True2018-10-15" RestrictedDisplayIndicatorMon="Truetrue" ExtraNightRatePlanCodeTue="RACKfalse" MarketCodeWeds="LStrue">
			<BookingRules>
				<BookingRule MinAdvancedBookingOffset="2" QualifiedRateYN="False" PriceViewable="False">
					<AcceptableGuarantees>
						<AcceptableGuarantee GuaranteeCode="GUTCC" GuaranteeType="GuaranteeRequired"/>
					</AcceptableGuarantees>
					<CancelPenalties>
						<CancelPenalty PolicyCode="CXL24H"/>
					</CancelPenalties>
					<Description Language="EN">
						<Text>Public RACK rate</Text>
					</Description>
				</BookingRule>
			</BookingRules>
			<Commission Precent="10.00">
				<FlatCommission Amount="15.00"/>
			</Commission>
		</RatePlan>
	</RatePlans>
</OTA_HotelRatePlanNotifRQ> 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>

Docs are missing the response message information

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
HurdleRateUpdate.

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
messages in the batch had issues.

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
reported here.

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

Code Block
languagexml
<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>

  

Page Properties
hiddentrue

Method

<OTA_HotelRateAmountNotifRQ/RS>

Summary

Rate Amount Notification

Revision

v1.0