OTA_HotelRatePlanNotifRQ / OTA_HotelRatePlanNotifRS

OTA_HotelRatePlanNotifRQ / OTA_HotelRatePlanNotifRS

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

  • The price per rate/room/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_HotelRatePlanNotifRQ request
<OTA_HotelRatePlanNotifRQ xmlns="http://www.opentravel.org/OTA/2003/05" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRatePlanNotifRQ.xsd" Version="1.000" Target="Test" TimeStamp="2011-07-29T14:06:25"> <POS> <Source> <RequestorID ID="USERNAME" MessagePassword="PASSWORD"></RequestorID> </Source> </POS> <RatePlans HotelCode="00P5519244d6b5c6" HotelName="HOTELNAME"> <RatePlan RatePlanCode="00P551924536469f"> <Rates> <Rate RateTier="1234" Start="2015-08-24" End="2015-08-24" Status="Open" > <BaseByGuestAmts> <BaseByGuestAmt AgeQualifyingCode="10" NumberOfGuests="1" AmountAfterTax="85.00" DecimalPlaces="0" CurrencyCode="EUR" /> <BaseByGuestAmt AgeQualifyingCode="10" NumberOfGuests="2" AmountAfterTax="100.00" DecimalPlaces="0" CurrencyCode="EUR" /> <BaseByGuestAmt AgeQualifyingCode="10" NumberOfGuests="3" AmountAfterTax="115.00" DecimalPlaces="0" CurrencyCode="EUR" /> </BaseByGuestAmts> </Rate> </Rates> <SellableProducts> <SellableProduct InvCode="00P5519245316dc1" InvType="ROOM" /> </SellableProducts> </RatePlan> </RatePlans> </OTA_HotelRatePlanNotifRQ>
OTA_HotelRatePlanNotifRS 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>

The attribute InvCode might need to be replaced by the attribute InvTypeCode depending on the way we declared your interface on our side during development.

This is a setting that is set only once and then inpact all your requests.

In that case the result would be 

<SellableProducts>

  <SellableProduct InvTypeCode="00P5519245316dc1" InvType="ROOM" />

</SellableProducts>


Request structure

OTA_HotelRatePlanNotifRQ

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), RatePlans

 

RatePlans

Parent: OTA_HotelRatePlanNotifRQ

Mandatory: yes

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

HotelCode

No

The Hotel-Spider hotel ID which you are updating

By default our system will search for the HotelCode attribute. Should this not be available, our system will try to identify the hotel based on the room ID as this is uniquely linked to one hotel.

HotelName

No

This attribute can be used for readability.

Child elements: RatePlan

 

RatePlan

Parent: RatePlans

Mandatory: yes

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

RatePlanCode

No

The Hotel-Spider rate plan ID which you are updating

Children: Rates

 

Rates

Parent: AvailStatusMessage

Mandatory: yes

Attributes: None

Children: Rate

 

Rate

Parent: Rates

Mandatory: No

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

RateTier

No

Parameter that was required on the third generation of the Hotel-Spider but is not needed anymore with the current version.

Start

Yes

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

End

Yes

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

Child elements: BaseByGuestAmts

 

BaseByGuestAmts

Parent: Rate

Mandatory: yes

Attributes: None

Children: BaseByGuestAmt

 

BaseByGuestAmt

Parent: BaseByGuestAmts

Mandatory: No

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

AgeQualifyingCode

Yes

The default value should be "10"

NumberOfGuests

No

The number of guests for which the price transmitted is applicable.

AmountAfterTax/AmountBeforeTax

Yes

The price for the number of guests as provided by the NumberOfGuests attribute

DecimalPlaces

No

The number of decimal places for a particular currency.

CurrencyCode

No

The CurrencyCode which has been configured in the Hotel-Spider system

Child elements: None

Room based pricing

When the NumberOfGuests attribute is not provided the Hotel-Spider will apply the provided AmountAfterTax/AmountBeforeTax to the default occupancy configured in the Hotel-Spider system.

Use of DecimalPlaces attribute

If the decimal places separator "." is provided in the AmountAfterTax/AmountBeforeTax attribute, the value of the DecimalPlaces attribute should reflect the number of digits behind the ".".

Should no decimal places separator be provided in the AmountAfterTax/AmountBeforeTax attribute, the "." will be shifted to the left by the value of the DecimalPlaces attribute. For exemple: AmountAfterTax="8500" DecimalPlaces="2" will result in 85.00

 

SellableProducts

Parent: RatePlan

Mandatory: yes

Attributes: None

Children: SellableProduct

 

SellableProduct

Parent: SellableProducts

Mandatory: No

Attributes:

Name

Mandatory

Description

Name

Mandatory

Description

InvCode

Yes

The Hotel-Spider room ID which you are updating

InvType

No

The default value is "ROOM"

Child elements: None

Determining the right product

It is the combination of the room ID provided in the SellableProduct element and the rate plan ID provided in the RatePlan element that determines for which product the price update is.

 

Response structure

OTA_HotelRatePlanNotifRS

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