Error Handling

Responses to SiteConnect

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 to 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="4" Code="448">Invalid Username and/or Password</Error>
	</Errors>
</OTA_HotelAvailRS>
Error DescriptionMandatory

Invalid Username and/or Password

OTA_HotelAvailRS

OTA_HotelAvailNotifRS

OTA_HotelRateAmountNotifRS

Hotel not found for HotelCode=XXXXXX

OTA_HotelAvailRS

OTA_HotelAvailNotifRS

OTA_HotelRateAmountNotifRS

Room type code not found for this hotel

OTA_HotelAvailNotifRS

OTA_HotelRateAmountNotifRS

Rate code not found for this hotel

OTA_HotelAvailNotifRS

OTA_HotelRateAmountNotifRS

Invalid included occupancy

Required for PDP
<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="137">Invalid included occupancy</Error>
	</Errors>
</OTA_HotelRateAmountNotifRS>

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 5 BaseByGuestAmt 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.

Responses from SiteConnect

If the response contains an OTA message with an 'Error' element then the reservation can not be processed because some data is invalid. This could be, for example, if required data is missing or if the credentials/hotel code are incorrect and the message will not process until the error is fixed. If the error is that a required element or attributes are missing, the implementation will need to be adjusted to send the required data. If the error is to do with credentials, check that the correct username/password is sent. If the error is an invalid hotel code, contact the hotel to make sure they have the correct hotel code configured in SiteMinder.

Sample Error Response

<SOAP-ENV:Envelope
	xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
	<SOAP-ENV:Header/>
	<SOAP-ENV:Body>
		<OTA_HotelResNotifRS
			xmlns="http://www.opentravel.org/OTA/2003/05" EchoToken="8c836193-ef3d-43b9-835a-19f8ffa7282a" TimeStamp="2023-04-28T10:35:29+00:00" Version="1.0">
			<Errors>
				<Error Type="10">Node CreateDateTime must exist</Error>
			</Errors>
		</OTA_HotelResNotifRS>
	</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Common Error Responses

<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="4">Invalid Username and/or Password for ABC</Error>
	</Errors>
</OTA_HotelResNotifRS>

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.

Refer to https://github.com/siteminder-au/gitbook/blob/master/sm-published-apis/additional-resources/reference-tables/handling-http-500.md

Last updated