Errors must be returned within a 'SOAP Envelope' and use the defined response message container depending on the message being responded to. See the relevant parts of our specification within the Rooms and Rates, Availability and Restrictions and Rates sections for more information about each error response message.
If the error is specifically related to application-level errors, do not respond with any other error types (HTTP, etc.). If you have server-level issues, then it is OK to respond with HTTP standard error codes.
It is expected that your booking channel has a robust error handling process in place. This includes a queuing mechanism and a robust retry strategy.
An error response must contain a short error description to assist our Support teams.
Sample Error Response
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<SOAP-ENV:Body>
<OTA_HotelAvailNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="6" Code="392">Hotel not found for HotelCode=XXXXXX</Error>
</Errors>
</OTA_HotelAvailNotifRS>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Mandatory Error Responses
Building these errors are required. The error descriptions must be the same as shown below.
<OTA_HotelAvailRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="6" Code="392">Hotel not found for HotelCode=XXXXXX</Error>
</Errors>
</OTA_HotelAvailRS>
<OTA_HotelAvailNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="12" Code="402">Room type code not found for this hotel</Error>
</Errors>
</OTA_HotelAvailNotifRS>
<OTA_HotelAvailNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="12" Code="249">Rate code not found for this hotel</Error>
</Errors>
</OTA_HotelAvailNotifRS>
Optional: the error Invalid included occupancy can be combined with expecting N (e.g. Invalid included occupancy: expecting 2). This provide more detailed information about the correct value that need to be configured in the room rate mapping.
Invalid number of adults
This error will validate against the # of BaseByGuestAmt nodes received in the OTA_HotelRateAmountNotifRQ. If you have set the Max Occupancy to 5, then you must expect 5BaseByGuestAmt indicating the price per pax. If you receive more or less, then the error Invalid number of adults must be sent to alert the hotelier to check the Max Occupancy setting in SiteMinder. BaseByGuestAmt nodes must match the Max Occupancy value for that room rate combo.
Required for OBP
<OTA_HotelRateAmountNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="12" Code="397">Invalid number of adults</Error>
</Errors>
</OTA_HotelRateAmountNotifRS>
Optional: the error Invalid number of adults can be combined with expecting N (e.g. Invalid number of adults: expecting 5). This provide more detailed information about the correct value that need to be configured in the room rate mapping.
Auto-Disable Mechanism
To ensure data accuracy and system integrity, our error handling includes an auto-disabling mechanism that temporarily disconnects a property or specific rooms and rates when certain errors are returned after pushing availability, restriction or rate updates.
Once disabled, the system stops retrying the connection indefinitely and sends an email notification to the property with details about the action taken, the error encountered, and steps for resolution. Inform us If your booking channel requires additional error responses to trigger this mechanism
This mechanism relies on the error descriptions to function correctly. Ensure that the descriptions used match those listed above.
Responses from SiteMinder
Your system should have a strong error handling process that can queue and resend reservation requests.
Ensure that your system waits for a response from SiteMinder before sending additional reservation requests for the same site. Set an appropriate timeout duration, between 60 and 120 seconds, to allow requests to complete before retrying. This prevents unnecessary retries and ensures smooth communication.
Check that the correct username/password is sent in the request.
<OTA_HotelResNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="6">Hotel not found for HotelCode=XXXXXX</Error>
</Errors>
</OTA_HotelResNotifRS>
Contact the hotel to make sure they have the correct hotel code configured in SiteMinder.
<OTA_HotelResNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="6">No HotelCodes were found in the message payload. Authorisation cannot proceed.</Error>
</Errors>
</OTA_HotelResNotifRS>
Check your reservation request. <BasicPropertyInfo HotelCode="HOTELCODE" HotelName="The Hotel Name"/> must be present.
Your reservation request must be adjusted to send the required data.
This applies to any other required element or attributes that are missing in the XML.
<OTA_HotelResNotifRS
xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="9a40291f-24fa-410d-b1c2-b64efab47da4" TimeStamp="2023-04-28T20:46:53+10:00" Version="1.0">
<Errors>
<Error Type="12">Failed to process reservation with UniqueID XXXXXXXXXX</Error>
</Errors>
</OTA_HotelResNotifRS>
Handling HTTP 400
Handling HTTP 500
If the response is a HTTP error response code in the 500 range then it is expected that the connecting OTA will implement a retry strategy until they are successfully delivered or a pre-defined timeout period is reached, for example, 30 minutes. Below we've provided a table that outlines the expected behaviour for each 500 range error. In the case that an update cannot be delivered within the timeout period, a case should be raised with our Application Operations team.
For instance, if an error like Hotel not found for HotelCode is detected in your or , the entire property connection is disabled. In cases where errors such as Room type code not found for this hotel, Rate code not found for this hotel, Invalid included occupancy, or Invalid number of adults occur, only the affected rooms or rates are disabled.
If the response contains an OTA message with an 'Error' element, then the reservation cannot be processed because some data is invalid. See below . The reservation request message will not process until the error is fixed.
In this case, do not retry sending the reservation request until the issue in the payload is fixed. Remove the request from the queue.
In some cases, you will receive this error if using the incorrect region reservation endpoint. Please review Region-Dependent Reservation Delivery under .