Retrieve Room Codes Only
SiteConnect sends an OTA_HotelAvailRQ to retrieve a list of available rooms and their configurations.
The connected booking channel must return an OTA_HotelAvailRS with a list of RoomStays with all active room and configurations.
Only use this message if your channel does NOT support Rate Codes.
If your channel supports Rate Codes, refer to Retrieve Room and Rate Codes documentation.
OTA_HotelAvailRQ
SiteConnect sends an OTA_HotelAvailRQ to retrieve a list of available rooms and their configurations.
OTA_HotelAvailRQ Example
<OTA_HotelAvailRQ
xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2022-08-01T09:30:47+02:00" EchoToken="abc123" AvailRatesOnly="true">
<AvailRequestSegments>
<AvailRequestSegment AvailReqType="Room">
<HotelSearchCriteria>
<Criterion>
<HotelRef HotelCode="HOTEL1"/>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
OTA_HotelAvailRQ Specification
Elements and attributes marked with Number 1 or more will always be sent.
Number 0 means that the element or attribute is optional
While a second numeric value or 'n' indicates the element or attribute can repeat (where n = no limit)"
Element | Attribute | Number | Description |
---|---|---|---|
OTA_HotelAvailRQ |
| 1 | Root element |
| @EchoToken | 1 | Globally unique identifier for the request, this will be reflected as an EchoToken in the response. See EchoTokens. |
| @Version | 1 | Always "1.0" |
| @TimeStamp | 1 | Time of the transaction in xml schema dateTime format. Format like yyyy-MM-dd'T'HH:mm:ssZZ (without fraction of a second) See TimeStamp. |
| @AvailRatesOnly | 1 | Always “true“ |
OTA_HotelAvailRQ / AvailRequestSegments / AvailRequestSegment |
| 1..n | A SiteConnect request will only contain one AvailRequestSegment requesting rooms for one single hotel at a time. |
| @AvailReqType | 1 | Always “Room” |
OTA_HotelAvailRQ / AvailRequestSegments / AvailRequestSegment / HotelSearchCriteria / Criterion / HotelRef |
| 1 | Identifies the hotel for which information is being requested. |
| @HotelCode | 1 | The hotel code for which the information is being requested. |
OTA_HotelAvailRS
The connected channel should return an OTA_HotelAvailRS with a list of all active rooms and configurations.
OTA_HotelAvailRS Example
One room per RoomStay.
The RoomDescription @Name will be used to identify the room and it must be unique per each room type.
The OTA_HotelAvailRS MUST be returned in a SOAP envelope. However, the SOAP Header can be empty.
The EchoToken received in the request should be mirrored back in the response.
Ensure the 'Content-Type' of your OTA_HotelAvailRS is 'text/xml; charset=utf-8'
Basic Success Response
<OTA_HotelAvailRS
xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2022-08-01T09:30:47+02:00" EchoToken="abc123">
<Success/>
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="SGL">
<RoomDescription Name="Single Room"/>
</RoomType>
</RoomTypes>
</RoomStay>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="DBX">
<RoomDescription Name="Deluxe Double Room"/>
</RoomType>
</RoomTypes>
</RoomStay>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="DBL">
<RoomDescription Name="Standard Double Room"/>
</RoomType>
</RoomTypes>
</RoomStay>
</RoomStays>
</OTA_HotelAvailRS>
Success Response with Additional Room Description
<OTA_HotelAvailRS
xmlns="http://www.opentravel.org/OTA/2003/05" Version="1.0" TimeStamp="2022-08-01T09:30:47+02:00" EchoToken="abc123">
<Success/>
<RoomStays>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="SGL">
<RoomDescription Name="Single Room">
<Text>Bedding is Queen sized bed. Continental breakfast for each guest.</Text>
</RoomDescription>
</RoomType>
</RoomTypes>
</RoomStay>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="DBX">
<RoomDescription Name="Deluxe Double Room">
<Text>Bedding is 1 x King sized bed and 1 x Single bed. Continental breakfast for each guest.</Text>
</RoomDescription>
</RoomType>
</RoomTypes>
</RoomStay>
<RoomStay>
<RoomTypes>
<RoomType RoomTypeCode="DBL">
<RoomDescription Name="Standard Double Room">
<Text>Bedding is 2 x Queen sized bed. Continental breakfast for each guest.</Text>
</RoomDescription>
</RoomType>
</RoomTypes>
</RoomStay>
</RoomStays>
</OTA_HotelAvailRS>
Success Response with Maximum Occupancy - OBP
Failure Response
OTA_HotelAvailRS Specification
Element | Attribute | Number | Description |
---|---|---|---|
OTA_HotelAvailRS |
| 1 | Root element. |
| @TimeStamp | 1 | Time of the transaction in xml schema dateTime format. Format like yyyy-MM-dd'T'HH:mm:ssZZ (without fraction of a second) See TimeStamp. |
| @Version | 1 | Always "1.0" |
| @EchoToken | 1 | Mirror the EchoToken in the OTA_HotelAvailRQ request that your system received. See EchoTokens. |
OTA_HotelAvailRS / Success |
| 0..1 | Mandatory when success. |
OTA_HotelAvailRS / RoomStays |
| 0..1 | A collection of RoomStay elements. |
OTA_HotelAvailRS / RoomStays / RoomStay |
| 1..n | Room stay details. |
OTA_HotelAvailRS / RoomStays / RoomStay / RoomTypes / RoomType |
| 1 | Each RoomStay element should contain 1 RoomType. |
| @RoomTypeCode | 1 | The code identifying this room. |
OTA_HotelAvailRS / RoomStays / RoomStay / RoomTypes / RoomType / RoomDescription |
| 1 |
|
| @Name | 1 | The room name. This name should be a unique description of the room. E.g. "Deluxe Double Room 1 King size bed". The hotel will use this value to identify the room. |
OTA_HotelAvailRS / RoomStays / RoomStay / RoomTypes / RoomType / RoomDescription / Text |
| 0..1 | Additional text to describe the room. |
OTA_HotelAvailRS / RoomStays / RoomStay / RoomTypes / RoomType / Occupancy |
| 0..1 | Mandatory, if your channel is using Occupancy Based Pricing. |
| @AgeQualifyingCode | 1 | Mandatory if your channel is using Occupancy Based Pricing Always “10” indicating the maximum adult occupancy of the room. |
| @MaxOccupancy | 1 | Mandatory if your channel is using Occupancy Based Pricing Value Range: Min 1 - Max 50 |
OTA_HotelAvailRS / Errors |
| 0..1 | Contains a list of errors in the event of a failed request |
OTA_HotelAvailRS / Errors / Error |
| 1..n | Mandatory if Errors present. |
| @Type | 1 | Mandatory if Errors present. 1: Unknown The use of the following types under their respective conditions is mandatory: 4: Authentication (If username and password are not authenticated) 6: Authorisation (If authenticated username is not authorised to alter hotel data) |
| @Code | 0..1 | Any code from the OTA Error Codes (ERR) table can be used. If @Code is present, the use of the following codes under their respective conditions is mandatory: 448: System error |