OTA_HotelAvailNotifRQ

Syntax

The OTA_HotelAvailNotifRQ message uses the following syntax:
<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="timestamp"
                       Version="3.0">
  <POS>
    <Source>
      <RequestorID ID="partner_account_name"/>
    </Source>
  </POS>
  <AvailStatusMessages HotelCode="HotelID">
    <AvailStatusMessage BookingLimit="integer">
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"/>
    </AvailStatusMessage>
    <AvailStatusMessage>
      <StatusApplicationControl Start="YYYY-MM-DD"
                                End="YYYY-MM-DD"
                                Mon="boolean_value"
                                Tue="boolean_value"
                                Weds="boolean_value"
                                Thur="boolean_value"
                                Fri="boolean_value"
                                Sat="boolean_value"
                                Sun="boolean_value"
                                InvTypeCode="RoomID"
                                RatePlanCode="PackageID"/>
      <LengthsOfStay>
        <LengthOfStay Time="integer"
                      TimeUnit="[Day]"
                      MinMaxMessageType="[SetMaxLOS|SetMinLOS|SetForwardMaxStay|
                      SetForwardMinStay]"/>
      </LengthsOfStay>
      <RestrictionStatus Status="[Close|Open]"
                         Restriction="[Arrival|Departure|Master]"
                         MaxAdvancedBookingOffset="integer"
                         MinAdvancedBookingOffset="integer"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Elements & Attributes

The OTA_HotelAvailNotifRQ message has the following elements and attributes:
Element / @Attribute Occurrences Type Description
OTA_HotelAvailNotifRQ 1 Complex element The root element for a message that defines room rate availability.
OTA_HotelAvailNotifRQ / AvailStatusMessages 1 AvailStatusMessages A container for one or more <AvailStatusMessage> elements.
OTA_HotelAvailNotifRQ / AvailStatusMessages / @HotelCode 1 String The unique identifier for the property. This value must match the Hotel ID specified using <id> in the <listing> element in the Hotel List Feed. The Hotel ID is also listed in Hotel Center.
OTA_HotelAvailNotifRQ / POS 0..1 POS A container for specifying the partner account for this message (typically used if your backend provides price feeds for multiple partner accounts).
OTA_HotelAvailNotifRQ / POS/ Source 1 Source Required if <POS> is present. A container for the <RequestorID>.
OTA_HotelAvailNotifRQ / POS / RequestorID 1 RequestorID Required if <POS> is present. Defines the partner account.
OTA_HotelAvailNotifRQ / POS / RequestorID / @ID 1 String The partner account for this message. This attribute is typically used if your backend provides price feeds for multiple partner accounts. To get the name of your partner account, contact us.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage 1..n AvailStatusMessage Defines room rate availability and restrictions for different time ranges for a single property.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / @BookingLimit 1 Int The number of remaining rooms that can be booked for the date range in <StatusApplicationControl>. If BooklingLimit is specified, <StatusApplicationControl> must specify InvTypeCode, and the <AvailStatusMessage> cannot contain <LengthOfStay> or <RestrictionStatus>. Must be equal to or greater than 0. Defaults to 0 if not provided.

Note: To establish room availability for a given <StatusApplicationControl> setting, the BookingLimit attribute must be set at least once.

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl 1 StatusApplicationControl Defines the date range, as well as the identifiers for the room type (InvTypeCode) and rate plan (RatePlanCode).
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Start 1 Date The starting date of the date range.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @End 1 Date The ending date of the date range. Must be equal or greater than the start value. If start and end are equal, the update applies to that date.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Mon 0..1 Boolean Set to true or 1 to explicitly include Mondays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Tue 0..1 Boolean Set to true or 1 to explicitly include Tuesdays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Weds 0..1 Boolean Set to true or 1 to explicitly include Wednesdays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Thur 0..1 Boolean Set to true or 1 to explicitly include Thursdays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Fri 0..1 Boolean Set to true or 1 to explicitly include Fridays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sat 0..1 Boolean Set to true or 1 to explicitly include Saturdays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sun 0..1 Boolean Set to true or 1 to explicitly include Sundays.

If set to true, other days of the week that aren't explicitly set to true are excluded (in effect, they are filtered out from the dates within the Start and End).

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @InvTypeCode 1 String The unique identifier for the inventory (room type). This value maps to <RoomID> in a Transactions (Property Data) message.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @RatePlanCode 0..1 String A unique identifier for the rate plan. This identifier maps to the value of the <PackageID> in a Transaction (Property Data) message. The rate plan is further defined and referred to in <StatusApplicationControl> in both <OTA_HotelRateAmountNotifRQ> and <OTA_HotelAvailNotifRQ> messages.

The RatePlanCode attribute is not applicable, and must not be specified, when <AvailStatusMessage> contains the BookingLimit attribute. Must be specified if <RestrictionStatus> or <LengthOfStay> is specified.

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay 0..1 LengthsOfStay A container for defining LOS restrictions. Must not be present if <AvailStatusMessage> includes the BookingLimit attribute.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay / LengthOfStay 1..n LengthOfStay Defines restrictions on the length of stay. When using more than one <LengthOfStay> element, each one must specify a different MinMaxMessageType value.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay / LengthOfStay / @Time 1 Int Unit value of the length of stay measurement.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay / LengthOfStay / @TimeUnit 0..1 Enum

The time unit. Defaults to "Day" if not provided. Valid values are:

  • Day
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay / LengthOfStay / @MinMaxMessageType 1 Enum Various types of length of stay restrictions. SetMaxLOS and SetMinLOS are arrival based. SetForwardMinStay and SetForwardMaxStay are stay-through based. Maximum values must be greater than or equal to minimum values.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus 0..1 RestrictionStatus Defines itinerary restrictions. Must not be present if <AvailStatusMessage> includes the BookingLimit attribute.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus / @Status 0..1 Enum

Indicates whether the type of restriction specified by the Restriction attribute is open or closed. Valid values are:

  • Open
  • Close

Note: To establish room and rate availability for a given <StatusApplicationControl> setting, the Status attribute must be set to Open and the Restriction attribute must be set to Master at least once. Alternatively, partners can request Google to configure their account to default the Status attribute to Open when they've given us a rate and BookingLimit is greater than 0.

OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus / @Restriction 0..1 Enum

This attribute is required if Status is provided.

Valid values are:

  • Arrival: This value prevents itineraries with a check-in date during the Start and End date range, inclusive.
  • Departure: This value prevents itineraries with a check-out date during the Start and End date range, inclusive.
  • Master: This value indicates whether the room rate is available for booking on the date.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus / @MinAdvancedBookingOffset 0..1 Int Minimum days before the arrival date for which this room rate may be booked.
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus / @MaxAdvancedBookingOffset 0..1 Int Maximum days before the arrival date for which this room rate may be booked.

Examples

Example 1

Min/max Length of Stay (based on arrival date) + Min/max Advance Purchase + Closed-to-Arrival + Inventory Count

<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage BookingLimit="5">
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"/>
    </AvailStatusMessage>
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <LengthsOfStay>
        <LengthOfStay Time="5"
                      MinMaxMessageType="SetMaxLOS"/>
        <LengthOfStay Time="2"
                      MinMaxMessageType="SetMinLOS"/>
      </LengthsOfStay>
    </AvailStatusMessage>
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <RestrictionStatus Status="Close"
                         Restriction="Arrival"
                         MaxAdvancedBookingOffset="30"
                         MinAdvancedBookingOffset="7"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Example 2

Min/max Length of Stay (based on stay-through)

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <LengthsOfStay>
        <LengthOfStay Time="5"
                      MinMaxMessageType="SetForwardMaxStay"/>
        <LengthOfStay Time="2"
                      MinMaxMessageType="SetForwardMinStay"/>
      </LengthsOfStay>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Example 3

Closed-to-Departure (prevents itineraries with check-out on specified dates)

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <RestrictionStatus Status="Close"
                         Restriction="Departure"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Example 4

Closed-to-Arrival (prevents itineraries with check-in on specified dates)

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <RestrictionStatus Status="Close"
                         Restriction="Arrival"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Example 5

Open availability, no restrictions

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage BookingLimit="5">
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"/>
    </AvailStatusMessage>
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-05-18"
                                End="2020-05-23"
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <RestrictionStatus Status="Open"
                         Restriction="Master"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>

Example 6

Min/max advanced booking window restrictions applied only on weekends

<?xml version="1.0" encoding="UTF-8"?>
<OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05"
                       TimeStamp="2020-05-13T20:50:37-05:00"
                       Version="3.0">
  <AvailStatusMessages HotelCode="Property_1">
    <AvailStatusMessage>
      <StatusApplicationControl Start="2020-01-01"
                                End="2020-06-30"
                                Mon=”false”
                                Tue=”false”
                                Weds=”false”
                                Thur=”false”
                                Fri=”false”
                                Sat=”true”
                                Sun=”true”
                                InvTypeCode="RoomID_1"
                                RatePlanCode="PackageID_1"/>
      <RestrictionStatus MaxAdvancedBookingOffset="30"
                         MinAdvancedBookingOffset="2"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>