OTA_HotelAvailNotifRQ / OTA_HotelAvailNotifRS

The OTA_HotelAvailNotif messages are used to update the following elements in the Hotel-Spider system:

  • The amount of rooms available per room/date
  • Restrictions per date


Every time the hotel's inventory or any of its stay restrictions (Booking rules) has been changed inside the third party software, the changes (and only the changes) should be transfered to Hotel-Spider. As this is a "notif" message, it implies that the third party software client pushes the information to the Hotel-Spider servers.

Endpoints

Example request and response

OTA_HotelAvailNotifRQ request
<OTA_HotelAvailNotifRQ 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_HotelAvailNotifRQ.xsd" TimeStamp="2012-10-05T14:20:50" Target="Test" Version="1.005">
  <POS>
    <Source>
      <RequestorID Type="5" ID="USERNAME" MessagePassword="PASSWORD"></RequestorID>
    </Source>
  </POS>
  <AvailStatusMessages>
    <AvailStatusMessage BookingLimit="25" LocatorID="1">
      <StatusApplicationControl Start="2015-09-24" End="2015-09-24" InvCode="00P5519245316dc1"/>
    </AvailStatusMessage>
    <AvailStatusMessage LocatorID="2">
      <StatusApplicationControl Start="2015-09-24" End="2015-10-14" InvCode="00P5519245316dc1" RatePlanCode="00P551924536469f" />
      <LengthsOfStay>
        <LengthOfStay Time="2" MinMaxMessageType="SetMinLOS"/>
        <LengthOfStay Time="5" MinMaxMessageType="SetMaxLOS"/>
      </LengthsOfStay>
      <RestrictionStatus Status="Open"/>
    </AvailStatusMessage>
  </AvailStatusMessages>
</OTA_HotelAvailNotifRQ>
OTA_HotelAvailNotifRS response
<OTA_HotelAvailNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelAvailNotifRQ.xsd" TimeStamp="2015-11-17T14:45:54+01:00" Target="Test" Version="1.0" CorrelationID="00Q564b2f91e1bf6">
  <Success />
</OTA_HotelAvailNotifRS>

Request structure

OTA_HotelAvailNotifRQ

Parent: None (Root element)

Mandatory: yes

Attributes:

NameMandatoryDescription
TimeStampYesThe format should respect the ISO 8601 2015-11-16T22:23:48+00:00
TargetYes

When sending updates to the staging environment "Test" must be used.

When sending updates to the production environment "Production" must be used.

VersionYesThe default value should be "1.000"

Child elements: POS (when using POS authentication. See Authentication methods for more information), AvailStatusMessages


AvailStatusMessages

Parent: OTA_HotelAvailNotifRQ

Mandatory: yes

Attributes: None

Child elements: AvailStatusMessage


AvailStatusMessage

Parent: AvailStatusMessages

Mandatory: yes

Attributes:

NameMandatoryDescription
BookingLimitNoThe amount of available rooms to sell per room type. When transmitting this attribute, no rate plan should be provided in the underlying StatusApplicationControl element since inventory is managed exclusively on room level in the Hotel-Spider system.
LocatorIDNoShould contain an unique ID

Children: StatusApplicationControl, LengthsOfStay, RestrictionStatus


StatusApplicationControl

Parent: AvailStatusMessage

Mandatory: yes

Attributes:

NameMandatoryDescription
StartYesThe format should respect the ISO 8601 2015-11-16
EndYes

The format should respect the ISO 8601 2015-11-17

The End date is inclusive meaning that it will also be updated.

InvCode/InvTypeCode/RoomIDNo

The Hotel-Spider room ID which you are updating

By default our system will search for the InvCode attribute. Should you have been using InvTypeCode in a previous development (for example: OTA version of the Booking.com interface ), we can configure our interface to ignore InvCode and work with InvTypeCode. The same goes for the RoomID attribute.

RatePlanCode/RatePlanType/RatePlanIDNo

The Hotel-Spider rate ID which you are updating.

By default our system will search for the RatePlanCode atttribute. Should you have been using RatePlanType in a previous development, we can configure our interface to ignore RatePlanCode and work with RatePlanType. The same goes for the RatePlanID attribute.

Children: LengthsOfStay, RestrictionStatus

Determining which level to update

With the exception of the BookingLimit attribute of the AvailStatusMessage element, which only applies on room level, all the other parameters transmitted will apply on the level determined by the combination of the InvCode and/or RatePlanCode attributes.

  • No InvCode nor RatePlanCode: The update will be for the hotel level
  • InvCode is given but no RatePlanCode: The update will be for the room level
  • RatePlanCode is given but no InvCode: The update will be for the rate plan level
  • InvCode and RatePlanCode are given: The update will be for the product level

LengthsOfStay

Parent: AvailStatusMessage

Mandatory: No

Attributes:

NameMandatoryDescription
ArrivalDateBasedNoCan be set to 0 or 1. If this boolean value is set to 1, the restriction set has an effect only on the arrival day of a booking, whereas the '0' value may affect a search for availability or reservation on all the dates that the query covers. When left out, '0' is assumed.

Child elements: LengthOfStay


LengthOfStay

Parent: LengthsOfStay

Mandatory: yes (If LengthsOfStay is provided)

Attributes:

NameMandatoryDescription
TimeYes

The integer value that will determine which Minimum Length Of Stay or which Maximum Length Of Stay will be applied.

"1"is the default value for a MinLOS. This is equal to removing the MinLOS.

"0" is the default value for a MaxLOS. This is equal to removing the MaxLOS

MinMaxMessageTypeYesPossible values are "SetMinLOS" or "SetMaxLOS".

Children: None


RestrictionStatus

Parent: AvailStatusMessage

Mandatory: No

Attributes:

NameMandatoryDescription
StatusYes

Possible values are "Open" or "Close".

RestrictionNo

Possible values are "Master", "Arrival" or "Departure"

When set to "Master", depending on the value of the Status attribute AND the level identification via the StatusApplicationControl element, this will either open/close on Hotel level, on room level, on rate plan level or on product level.

When set to "Arrival", depending on the value of the Status attribute AND the level identification via the StatusApplicationControl element, this will either prevent (Status="Close") or allow (Status="Open") a guest to book with this date as arrival.

When set to "Departure", depending on the value of the Status attribute AND the level identification via the StatusApplicationControl element, this will either prevent (Status="Close") or allow (Status="Open") a guest to book with this date as departure.

Children: None

No Restriction attribute provided

Should no Restriction attribute be provided (Only a Status attribute), the update will be interpreted as-if Restriction="Master" was provided.


Response structure

OTA_HotelAvailNotifRS

Parent: None (Root element)

Mandatory: yes

Attributes:

NameMandatoryDescription
TimeStampYesThe format will respect the ISO 8601 2015-11-16T22:23:48+00:00
TargetYesThe same value, used in the request, will be returned.
VersionYesThe value wil be "1.000"

Child elements: Success, Warnings and Errors

Success

Parent: OTA Response root element

Mandatory: No

Attributes: None

Child elements: None


Warnings

Parent: OTA Response root element

Mandatory: No

Attributes: None

Child elements: None


Warning

Parent: Warnings

Mandatory: yes (If Warnings is provided)

Attributes:

NameMandatoryDescription
TypeYesOTA EWT type code

Code

YesOTA ERR error code
StatusYesPossible values: NotProcessed | Incomplete | Complete | Unknown
ShortTextYesTextual explanation of the error.

Child elements: None


Errors

Parent: OTA Response root element

Mandatory: No

Attributes: None

Child elements: Error


Error

Parent: Error

Mandatory: yes (If Errors is provided)

Attributes:

NameMandatoryDescription
TypeYesOTA EWT type code

Code

YesOTA ERR error code
StatusYesPossible values: NotProcessed | Incomplete | Complete | Unknown
ShortTextYesTextual explanation of the error.

Child elements: None