OTA_HotelRateAmountNotifRQ / OTA_HotelRateAmountNotifRS
The OTA_HotelRateAmountNotif messages are used to update the following elements in the Hotel-Spider system:
- The price per rate/room/date
Every time the hotel's prices 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_HotelRateAmountNotifRQ 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_HotelRateAmountNotifRQ.xsd" TimeStamp="2012-10-12T11:34:05" Target="Test" Version="3.000"> <POS> <Source> <RequestorID Type="5" ID="USERNAME" MessagePassword="PASSWORD"></RequestorID> </Source> </POS> <RateAmountMessages HotelCode="HOTELCODE" HotelName="HOTELNAME"> <RateAmountMessage LocatorID="1"> <StatusApplicationControl Start="2015-08-25" End="2015-08-31" RatePlanCode="00P551924536469f" InvCode="00P5519245316dc1"/> <Rates> <Rate> <BaseByGuestAmts> <BaseByGuestAmt AmountAfterTax="3800" DecimalPlaces="2" NumberOfGuests="1" AgeQualifyingCode="10" CurrencyCode="EUR" /> <BaseByGuestAmt AmountAfterTax="4500" DecimalPlaces="2" NumberOfGuests="2" AgeQualifyingCode="10" CurrencyCode="EUR" /> </BaseByGuestAmts> </Rate> </Rates> </RateAmountMessage> </RateAmountMessages> </OTA_HotelRateAmountNotifRQ>
<OTA_HotelRateAmountNotifRS xmlns="http://www.opentravel.org/OTA/2003/05" schemaLocation="http://www.opentravel.org/OTA/2003/05 OTA_HotelRateAmountNotifRQ.xsd" TimeStamp="2015-11-17T14:45:54+01:00" Target="Test" Version="1.0" CorrelationID="00Q564b2f91e1bf6"> <Success /> </OTA_HotelRateAmountNotifRS>
Request structure
OTA_HotelRateAmountNotifRQ
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), RateAmountMessages
RateAmountMessages
Parent: OTA_HotelRateAmountNotifRQ
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: Inventory
Child elements: RateAmountMessage
RateAmountMessage
Parent: RateAmountMessages
Mandatory: yes
Attributes:
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, Rates
StatusApplicationControl
Parent: RateAmountMessage
Mandatory: yes
Attributes:
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 | Yes | 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 | Yes | 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: None
Rates
Parent: RateAmountMessage
Mandatory: Yes
Attributes: None
Child elements: Rate
Rate
Parent: Rates
Mandatory: yes
Attributes: None
Children: BaseByGuestAmts
BaseByGuestAmts
Parent: Rate
Mandatory: yes
Attributes: None
Children: BaseByGuestAmt
BaseByGuestAmt
Parent: BaseByGuestAmts
Mandatory: yes
Attributes:
Name | Mandatory | Description |
---|---|---|
AmountAfterTax/AmountBeforeTax | Yes | The format should respect the ISO 8601 2015-11-16 |
NumberOfGuests | No | The format should respect the ISO 8601 2015-11-17 The End date is inclusive meaning that it will also be updated. |
DecimalPlaces | No | The number of decimal places for a particular currency. |
AgeQualifyingCode | Yes | The age category for which the prices should be applied. Default value: 10 |
CurrencyCode | Yes | The currency in which the prices are being transmitted. |
Children: None
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
Response structure
OTA_HotelAvailNotifRS
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, 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