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
- HTTP RAW POST
- SOAP
- JSON (We recommend using OTA via XML, if you want to use JSON interface please contact us)
Example request and response
<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_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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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
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 |
---|---|---|
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
Response structure
OTA_HotelRatePlanNotifRS
Parent: None (Root element)
Mandatory: yes
Attributes:
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:
Name | Mandatory | Description |
---|---|---|
Type | Yes | OTA EWT type code |
Code | Yes | OTA ERR error code |
Status | Yes | Possible values: NotProcessed | Incomplete | Complete | Unknown |
ShortText | Yes | Textual 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:
Name | Mandatory | Description |
---|---|---|
Type | Yes | OTA EWT type code |
Code | Yes | OTA ERR error code |
Status | Yes | Possible values: NotProcessed | Incomplete | Complete | Unknown |
ShortText | Yes | Textual explanation of the error. |
Child elements: None