OTA_HotelRateAmountNotifRQ

Let's start with the simplest example of a rates update.

We receives a RateAmountMessages element which tells us which hotel is being updated.

The good old StatusApplicationControl element tells us what room (InvTypeCode) and rate we need to update.

Then we get a Rates element that can have many Rate elements – each with its own Start and End attributes for dates.

Inside each Rate element, we get the BaseByGuestAmts element which itself is a collection of BaseByGuestAmt elements that tell us how much the given room on the given rate costs for a particular number and type of people.

The below example ensures two people are charged a room rate of £123.

<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2018-03-20T09:00:16.609" Version="1.0" EchoToken="21ab4d9f-57fb-4744-a4f8-70ddbdaa6a20">
  <RateAmountMessages HotelCode="90dd0e6d-438a-477e-aeb6-0292c1e780c3">
    <RateAmountMessage>
      <StatusApplicationControl InvTypeCode="927df75b-a9fe-4d58-b3fd-2542a61f36ec" RatePlanCode="fb00e505-d228-490a-a7c6-29e4a7ffb538"/>
      <Rates>
        <Rate Start="2018-04-01" End="2018-04-14">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="123" NumberOfGuests="2" AgeQualifyingCode="10"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>
We don't have the slightest idea why AgeQualifyingCode for an adult is 10 and for a child is 8. But it is. Answers on a postcard to the usual address, please.

Single Occupancy

If you'd like to offer those travelling alone a reduced rate, this becomes a reasonably trivial extension to the prior example.

<OTA_HotelRateAmountNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2018-03-20T09:00:16.609" Version="1.0" EchoToken="21ab4d9f-57fb-4744-a4f8-70ddbdaa6a20">
  <RateAmountMessages HotelCode="90dd0e6d-438a-477e-aeb6-0292c1e780c3">
    <RateAmountMessage>
      <StatusApplicationControl InvTypeCode="927df75b-a9fe-4d58-b3fd-2542a61f36ec" RatePlanCode="fb00e505-d228-490a-a7c6-29e4a7ffb538"/>
      <Rates>
        <Rate Start="2018-04-01" End="2018-04-14">
          <BaseByGuestAmts>
            <BaseByGuestAmt AmountAfterTax="101" NumberOfGuests="1" AgeQualifyingCode="10"/>
            <BaseByGuestAmt AmountAfterTax="123" NumberOfGuests="2" AgeQualifyingCode="10"/>
          </BaseByGuestAmts>
        </Rate>
      </Rates>
    </RateAmountMessage>
  </RateAmountMessages>
</OTA_HotelRateAmountNotifRQ>