OTA_HotelAvailNotifRQ / OTA_HotelAvailNotifRS

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:

Name

Mandatory

Description

Name

Mandatory

Description

TimeStamp

Yes

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

Target

Yes

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

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

Version

Yes

The 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:

Name

Mandatory

Description

Name

Mandatory

Description

BookingLimit

No

The 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.

LocatorID

No

Should contain an unique ID

Children: StatusApplicationControl, LengthsOfStay, RestrictionStatus

 

StatusApplicationControl

Parent: AvailStatusMessage

Mandatory: yes

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

Start

Yes

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

End

Yes

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

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

InvCode/InvTypeCode/RoomID

No

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/RatePlanID

No

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:

Name

Mandatory

Description

Name

Mandatory

Description

ArrivalDateBased

No

Can 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:

Name

Mandatory

Description

Name

Mandatory

Description

Time

Yes

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

MinMaxMessageType

Yes

Possible values are "SetMinLOS" or "SetMaxLOS".

Children: None

 

RestrictionStatus

Parent: AvailStatusMessage

Mandatory: No

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

Status

Yes

Possible values are "Open" or "Close".

Restriction

No

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:

Name

Mandatory

Description

Name

Mandatory

Description

TimeStamp

Yes

The format will respect the ISO 8601 2015-11-16T22:23:48+00:00

Target

Yes

The same value, used in the request, will be returned.

Version

Yes

The 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