Rate Amount Notif

The Hotel Rate Amount Notification message notifies a booking source of changes in the rates charged for room and non-room products of a hotel.  When the rate amount of an active (bookable) rate plan changes, an update is made through the Rate Amount Notification message. The Status Application Control is used to identify the inventory item (or inventory block), and the rate plan that the change in rate amount applies to.

The Hotel Rate Amount Message defines the amount of the base rate for a specific number of guests up to the rooms maximum, along with the charges for additional adults and children. Tax amounts that apply to the rate are also communicated, indicating the type of tax and how it is calculated, whether a flat amount or percentage. 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.

By default, the interface will only update the price seasons that are defined in the rate amount message. Any price season not specified in the message will continue to exist in our system.  If the intent is to recreate all the price seasons for a rate, then the Instance attribute of the UniqueID element should be set to "FullLoad".  This will delete all the price seasons for any rate included in the message before the update occurs.

Direction

  • Levart can send  a valid request to 3rd Party and expect a success response.

Request

<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 https://secure.levartdistributionsystems.com.au/html/schema/OTA/2015B/OTA_HotelRateAmountNotifRQ.xsd"
                            TimeStamp="2020-06-19T22:21:23+08:00" Target="Production" Version="1.0">
   <RateAmountMessages HotelCode="111111" HotelName="Levart Dev Site">
    <RateAmountMessage>
      <StatusApplicationControl InvTypeCode="150" RatePlanCode="266" />
      <Rates>
        <Rate Start="2018-06-28" End="2018-06-28">
          <BaseByGuestAmts>
            <BaseByGuestAmt NumberOfGuests="1" AmountAfterTax="200.00" CurrencyCode="AUD" />
            <BaseByGuestAmt NumberOfGuests="2" AmountAfterTax="200.00" CurrencyCode="AUD" />
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount AgeQualifyingCode="10" Amount="35.00" />
            <AdditionalGuestAmount AgeQualifyingCode="8" Amount="5.00" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl InvTypeCode="142" RatePlanCode="265" />
      <Rates>
        <Rate Start="2018-06-26" End="2018-06-30">
          <BaseByGuestAmts>
            <BaseByGuestAmt NumberOfGuests="1" AmountAfterTax="150.00" CurrencyCode="AUD" />
            <BaseByGuestAmt NumberOfGuests="2" AmountAfterTax="150.00" CurrencyCode="AUD" />
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount AgeQualifyingCode="10" Amount="35.00" />
            <AdditionalGuestAmount AgeQualifyingCode="8" Amount="5.00" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
    <RateAmountMessage>
      <StatusApplicationControl InvTypeCode="164" RatePlanCode="267" />
      <Rates>
        <Rate Start="2018-06-30" End="2018-06-30">
          <BaseByGuestAmts>
            <BaseByGuestAmt NumberOfGuests="1" AmountAfterTax="290.00" CurrencyCode="AUD" />
            <BaseByGuestAmt NumberOfGuests="2" AmountAfterTax="290.00" CurrencyCode="AUD" />
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount AgeQualifyingCode="10" Amount="35.00" />
            <AdditionalGuestAmount AgeQualifyingCode="8" Amount="5.00" />
          </AdditionalGuestAmounts>
        </Rate>
        <Rate Start="2018-07-01" End="2018-07-06">
          <BaseByGuestAmts>
            <BaseByGuestAmt NumberOfGuests="1" AmountAfterTax="256.00" CurrencyCode="AUD" />
            <BaseByGuestAmt NumberOfGuests="2" AmountAfterTax="256.00" CurrencyCode="AUD" />
          </BaseByGuestAmts>
          <AdditionalGuestAmounts>
            <AdditionalGuestAmount AgeQualifyingCode="10" Amount="35.00" />
            <AdditionalGuestAmount AgeQualifyingCode="8" Amount="5.00" />
          </AdditionalGuestAmounts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
ElementNumDescription
OTA_HotelRateAmountNotifRQ1Root Element
OTA_HotelRateAmountNotifRQ > @Version1Current version 1.0
OTA_HotelRateAmountNotifRQ > @TimeStamp1Date and time of the transaction in ISO 8601 format. e.g. 2016-01-28T15:15:00+08:00
OTA_HotelRateAmountNotifRQ > @EchoToken0..1Echo Token (Random String)
OTA_HotelRateAmountNotifRQ > RateAmountMessages1
RateAmountMessages > @HotelCode1Hotel code of the property to be updated.
RateAmountMessages > @HotelName1Name of the property to be updated.
RateAmountMessages > RateAmountMessage1..nRates message to be updated
RateAmountMessage > StatusApplicationControl1Contains room identification information
StatusApplicationControl > @InvTypeCode1
StatusApplicationControl > @RatePlanCodeIdentifies the rate to be updated
RateAmountMessage > Rates1
Rates > Rate1..nContains the timespan the update applies to and the currency code if this is a rate update
Rate > @Start1The start and end date of the rate plan in xml date format.
Rate > @End1End date is inclusive.
Rate > BaseByGuestAmts1Contains information about the base rate.
BaseByGuestAmts > BaseByGuestAmt1..nContains the rate amount per room for a quantity of NumberOfGuests.
BaseByGuestAmt > @NumberOfGuests1The number of guests that the base rate applies to.
BaseByGuestAmt > @AmountAfterTax1The actual rate to be updated.
AdditionalGuestAmounts > AdditionalGuestAmount1..2Contains the Extra Guest Amounts.
AdditionalGuestAmount > @AgeQualifyingCode1As per OTA,  "10" = Adults, "8" = Children.
AdditionalGuestAmount > @Amount1The amount for an extra guest.

Response (Success)

<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 https://secure.levartdistributionsystems.com.au/html/schema/OTA/2015B/OTA_HotelRateAmountNotifRS.xsd"
                            TimeStamp="2020-06-19T22:21:23+08:00" Target="Production" Version="1.0">
  <Success/>
</OTA_HotelRateAmountNotifRS>

Response (Error)

<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05"
                            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                            xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 https://secure.levartdistributionsystems.com.au/html/schema/OTA/2015B/OTA_HotelRateAmountNotifRS.xsd"
                            TimeStamp="2020-06-19T22:21:23+08:00" Target="Production" Version="1.0">
  <Errors>
    <Error Type="1">Message Here</Error>
  </Errors>
</OTA_HotelRateAmountNotifRS>