Requests
Syntax
TheOTA_HotelAvailNotifRQ
message uses the following syntax:
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="message_ID" 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 / @xmlns | 0..1 | String (URI) | The XML namespace. |
OTA_HotelAvailNotifRQ / @EchoToken | 1 | String | A unique identifier for this request message. This value is returned in the response message. Allowed characters are a-z, A-Z, 0-9, _ (underscore), and - (dash). |
OTA_HotelAvailNotifRQ / @TimeStamp | 1 | DateTime | The creation date and time of this message. |
OTA_HotelAvailNotifRQ / @Version | 1 | Decimal | The OpenTravel message version. |
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 string value is the
"Partner key" value listed on
the
Account settings page in Hotel Center.
Note: If you have a backend that provides feeds for multiple
accounts, this value needs to match the |
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 / 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 |
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 |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Tue | 0..1 | Boolean | Set to true or 1 to explicitly include Tuesdays.
If set to |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Weds | 0..1 | Boolean | Set to true or 1 to explicitly include Wednesdays.
If set to |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Thur | 0..1 | Boolean | Set to true or 1 to explicitly include Thursdays.
If set to |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Fri | 0..1 | Boolean | Set to true or 1 to explicitly include Fridays.
If set to |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sat | 0..1 | Boolean | Set to true or 1 to explicitly include Saturdays.
If set to |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / StatusApplicationControl / @Sun | 0..1 | Boolean | Set to true or 1 to explicitly include Sundays.
If set to |
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 |
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. Note that a value of
zero is treated as no restriction. For example, <LengthOfStay
Time="0" MinMaxMessageType="SetMaxLOS"/> means no maximum
length of stay. |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / LengthsOfStay / LengthOfStay / @TimeUnit | 0..1 | Enum | The time unit. Defaults to "Day" if not provided. Valid values are:
|
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
Note: To establish room and rate availability for a
given |
OTA_HotelAvailNotifRQ / AvailStatusMessages / AvailStatusMessage / RestrictionStatus / @Restriction | 0..1 | Enum | This attribute is required if Valid values are:
|
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" EchoToken="12345678" 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" EchoToken="12345678" 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" EchoToken="12345678" 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" EchoToken="12345678" 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" EchoToken="12345678" 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" EchoToken="12345678" 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>
Example 7
Set multiple restrictions over the same dates for a room type and rate plan.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="12345678" 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="Master"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <RestrictionStatus Status="Open" Restriction="Arrival"/> </AvailStatusMessage> <AvailStatusMessage> <StatusApplicationControl Start="2020-05-18" End="2020-05-23" InvTypeCode="RoomID_1" RatePlanCode="PackageID_1"/> <RestrictionStatus Status="Open" Restriction="Departure"/> </AvailStatusMessage> </AvailStatusMessages> </OTA_HotelAvailNotifRQ>
Responses
Syntax
TheOTA_HotelAvailNotifRS
message uses the following syntax:
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="timestamp" EchoToken="echo_token" Version="3.0"> <!-- Either Success or Errors will be populated. --> <Success/> <Errors> <Error Type="12" Status="NotProcessed" ShortText="issue_code">issue_description</Error> </Errors> </OTA_HotelAvailNotifRS>
Elements & Attributes
TheOTA_HotelAvailNotifRS
message has the following
elements and attributes:
Element / @Attribute | Occurrences | Type | Description |
---|---|---|---|
OTA_HotelAvailNotifRS | 1 | Complex element | The root element for a response to an availability message. |
OTA_HotelAvailNotifRS / @TimeStamp | 1 | DateTime | The creation date and time of this message. |
OTA_HotelAvailNotifRS / @EchoToken | 1 | String | The unique identifier from the associated
OTA_HotelAvailNotifRQ message. |
OTA_HotelAvailNotifRS / Success | 0..1 | Success | Indicates that the OTA_HotelAvailNotifRQ message was
processed successfully.
Either |
OTA_HotelAvailNotifRS / Errors | 0..1 | Errors | A container for one or more issues encountered while processing the
OTA_HotelAvailNotifRQ message.
Either |
OTA_HotelAvailNotifRS / Errors / Error | 1..n | Error | The description of an error encountered while processing the
OTA_HotelAvailNotifRQ message. Details on these errors can
be found in Feed Status Error Messages. |
OTA_HotelAvailNotifRS / Errors / Error / @Type | 1 | Integer | The OpenTravel Alliance EWT (Error Warning Type) associated with the
error. Only the value 12 (Processing exception) is used. |
OTA_HotelAvailNotifRS / Errors / Error / @Code | 1 | Integer | The OpenTravel Alliance ERR (Error Code) associated with the error.
Only the value 450 (Unable to process) is used. |
OTA_HotelAvailNotifRS / Errors / Error / @Code | 1 | Enum | The status of the original request. Only the value
NotProcessed is used. |
OTA_HotelAvailNotifRS / Errors / Error / @ShortText | 1 | String | The Google identifier for the issue. Details on these errors can be found in Feed Status Error Messages. |
Examples
Success
The following is a response to a successfully processed OTA_HotelAvailNotifRQ message.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-05-13T20:50:37-05:00" Version="3.0"> <Success/> </OTA_HotelAvailNotifRS>
Errors
The following is a response to a OTA_HotelAvailNotifRQ message not processed due to errors.
<?xml version="1.0" encoding="UTF-8"?> <OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" TimeStamp="2020-05-13T20:50:37-05:00" Version="3.0"> <Errors> <Error Type="12" Code="450" Status="NotProcessed" ShortText="8001">Example</Error> </Errors> </OTA_HotelAvailNotifRS>