The Legacy Pull Buyers API, our initial Buyers API launched in 2012, is now deprecated and should not be further developed. Instead, we introduced the Hotel-X Buyers API in 2017, which serves as the sole API for new Buyers looking to integrate and participate in our Marketplace.
Room List
The Room List method returns a comprehensive room list from a supplier's access that may include translations to other languages, granting you access to all the rooms configured by the Seller for a given set of credentials. The returned fields include: Room code
, Room name
etc.
The amount of information and content returned might vary between Sellers.
RoomList Request
<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns = "http://schemas.xmltravelgate.com/hub/2012/06" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns:RoomList>
<ns:roomListRQ>
<ns:timeoutMilliseconds>20000</ns:timeoutMilliseconds>
<ns:version>1</ns:version>
<ns:providerRQ>
<ns:code>suppliercode</ns:code>
<ns:id>1</ns:id>
<ns:rqXML>
<RoomListRQ xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<timeoutMilliseconds>19700</timeoutMilliseconds>
<source>
<languageCode>en</languageCode>
</source>
<filterAuditData>
<registerTransactions>true</registerTransactions>
</filterAuditData>
<Configuration>
<User>user</User>
<Password>password</Password>
<UrlAvail>www.supplier.com/avail</UrlAvail>
<UrlReservation>www.supplier.com/reservation</UrlReservation>
<UrlValuation>www.supplier.com/valuation</UrlValuation>
<UrlGeneric>www.supplier.com/generic</UrlGeneric>
<Parameters>
<Parameter key = "UrlListHotels" value = "http://www.supplier.com/ListHotels"></Parameter>
<Parameter key = "Access" value = "22334"></Parameter>
</Parameters>
</Configuration>
</RoomListRQ>
</ns:rqXML>
</ns:providerRQ>
</ns:roomListRQ>
</ns:RoomList>
</soapenv:Body>
</soapenv:Envelope>
Request Data Breakdown
Check the values you need to add in the header and common elements.
RoomList
request does not require any elements.
How to Paginate Responses
The Legacy Pull Buyers API provides paginated responses to handle cases where the number of rooms from the selected supplier exceeds 200.000. The default response page contains a maximum of 200.000 rooms, but you can specify the number of objects returned per page using the ContinuationToken
and the attribute expectedRange
fields in the request.
To include the ContinuationToken in your request, all you need to do is:
-
Add the ContinuationToken and expectedRange fields to the request.
-
After receiving a response, you will only receive a portion of the full list. To access the next page, simply copy the ContinuationToken tag from the response and include it in your next request. This will allow you to obtain a new set of objects in the following response.
-
Repeat these steps until the token is no longer included in the response.
If the client requests 1000 rooms, the response may contain a range between 1000 to 1999 rooms.
1. Indicate the ContinuationToken and expectedRange in the Request
First, in your room list request you will add ContinuationTokentoken
field and specify in expectedRange
field the number of rooms expected to receive in the response:
<RoomListRQ xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<ContinuationToken expectedRange = "1000"></ContinuationToken>
</RoomListRQ>
2. You will recieve the Response
You will obtain a response with 1000 rooms per page:
<RoomListRS xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<ContinuationToken expectedRange = "1000"><?xml version="1.0" encoding="utf-16"?><ContinuationToken><ContinuationToken><Version>2.0</Version><Type>Table</Type><NextPartitionKey>1!24!bG93Y29zdGhvbGlkYXlfWk1U</NextPartitionKey><NextRowKey>1!40!bG93Y29zdGhvbGlkYXlfWk1UXzBoNFIlMjNvcXBr</NextRowKey><TargetLocation>Primary</TargetLocation></ContinuationToken></ContinuationToken></ContinuationToken>
</RoomListRS>
3. Add the Token in the Request
This token should be used as input in your next rooms list request, inside the ContinuationToken
field:
<RoomListRQ xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
<ContinuationToken><?xml version="1.0" encoding="utf-16"?><ContinuationToken><ContinuationToken><Version>2.0</Version><Type>Table</Type><NextPartitionKey>1!24!bG93Y29zdGhvbGlkYXlfWk1U</NextPartitionKey><NextRowKey>1!40!bG93Y29zdGhvbGlkYXlfWk1UXzBoNFIlMjNvcXBr</NextRowKey><TargetLocation>Primary</TargetLocation></ContinuationToken></ContinuationToken></ContinuationToken>
</RoomListRQ>
RoomList Response
The response to the previous request is a list of rooms from our database that corresponds to the supplier specified in the request.
<RoomListRS>
<UpgradeUTCDate>2016-10-18T13:18:03+02:00</UpgradeUTCDate>
<RoomsInfo>
<RoomInfo>
<Code>STD</Code>
<Name>Standard</Name>
</RoomInfo>
<RoomInfo>
<Code>ST</Code>
<Name>Suite</Name>
</RoomInfo>
</RoomsInfo>
</RoomListRS>
Response Data Breakdown
Element | Rel | Type | Description |
---|---|---|---|
RoomListRS/UpgradeUTCDate | 1 | DateTime | Indicates the update date of the information in UTC format. |
RoomListRS/RoomsInfo | 1 | Root node, list of rooms | |
RoomsInfo/RoomInfo | 1..n | ||
RoomInfo/Code | 1 | String | Room code |
RoomInfo/Name | 1 | String | Room name |
In AvailRQ (Common Elements), you have the option to specify the language for the room description you want to receive. You can choose any language supported by the supplier; otherwise, the default language, typically English, will be used. The standard language options include English and Spanish.