HOTEL XML API
Availability and Booking Request/Response
XML Interface Specification
XML Online Booking Developers Guide. Version 1.4
Copyright Policy
Information in this document is subject to change without any notice. The software in this document is subject to a license agreement or nondisclosure agreement. The software may not be used for copying following the terms of this agreement. No part of this manual may be reproduced, stored in a retrieval system, or transmitted in any form or any means electronic or mechanical, including photocopying and recording for any purpose other than the purchaser’s personal use without the written permission of HolidayLogin.
You acknowledge that HolidayLogin reserves the right to revoke the authorization to view, download, and print the materials available on this site at any time, and for any reason; and such authorization shall be deemed to be discontinued immediately upon the removal of these materials from the document.
Except where expressly provided otherwise by HolidayLogin, nothing on this document shall be construed to confer any license offer for license or sale under any of HolidayLogin or any Third Party Provider’s intellectual property rights, whether by estoppels, implication, or otherwise.
You acknowledge sole responsibility for obtaining any such licenses. Materials provided by Third Party Providers have not been independently reviewed, tested, certified, or authenticated in whole or in part by HolidayLogin and as such; HolidayLogin makes no warranty with respect to its contents.
HolidayLogin does not provide, sell, license, or lease any of the Materials other than those specifically identified as being provided by HolidayLogin.
All trademarks used herein are properties of their respective owners.
1.0 Introduction
This manual describes the specifications of XML requests and responses sent to the Hotel Booking Web Services online hotel reservation interface system. The intended audience is the client’s technical staff or the client’s system integrator.
Because all communication between the client’s system and the Hotel API interface is done through predefined JSON messages over the Internet using standard web protocols, you will need basic JSON programming skills and knowledge of SOAP (in case you want to use the web services front end) and HTTP. Where applicable, this document refers to other related documentation.
The methods will be provided to the Client by HolidayLogin; this will include all the hotels that the Client will be able to book through this interface. The data that will be passed to the Client is included in this document. We are assuming that this data will then be loaded into the Client system and that by using the unique IDs associated with each Hotel the Client will be able to perform various queries on the Tour Operators data.
The INTERFACE will allow the following functions:
- Find the room price and availability of a specific hotel
- Create a new booking for a specific hotel
- Fetch details of a booking by giving a unique booking reference number.
- All APIs support the search and booking of hotels by providing certain parameters in JSON.
HolidayLogin retains the right to make changes or improvements to the JSON specification in the future. HolidayLogin will inform the clients in advance. The client will be responsible for any action derived from those modifications in their system.
1.1 What is Hotel API service?
The Hotel API services are a set of web methods that perform core hotel search and book functionality with Holidaylogin.
HolidayLogin Hotel allows customers to perform business functions such as searching for and booking hotels. Customers can check hotel availability and rates, reserve and cancel bookings as well as retrieve a booking.
1.2 About the Developer’s Guide
This is a programmer’s guide. The purpose of this document is to provide a set of instructions, guidelines, and technical information needed to interact with WS. The developer should be familiar with the underlying technologies used, including JSON, HTTP, and SOAP.
In the document, JSON data is shown as simple text, which is used mainly for examples of JSON requests and responses. Examples are for illustration only. Any information in the examples should not be considered accurate.
1.3 Agent Registration
Before using Hotel Service, an agent must register with HolidayLogin Hotel API Service.
After the registration process is done, you will have these items associated with your account.
- Username – a ‘login’ name for authentication
- Password – The password for the assigned Username
During the registration process, you will need to provide us with the range of IP addresses from which you will be connecting to our servers. We will white-list these IPs. This process usually takes around 1-2 business days.
1.4 Technical Support
If you have development, production questions or problems while connecting Hotel API Service, you can contact our Technical support team Email: support@holidaylogin.com
When contacting API Support team with issues, please provide any information that can be used to help solve your challenge including the type of message and request and response messages.
1.5 Features
The Hotel API allows you to
- Search for availability and rates of hotels for a given date range
- Reserve a hotel for a customer
- Cancel an existing reservation
1.6. Certification
Once development is completed a certification process is carried out to ensure the solution has met the basic requirements.
2.0 Test URL
http://apitest.holidaylogin.com/HotelServiceRest
The hotel service RestAPI authentication key will be announced in an email by our support team.
API key: | 83BA****-*****-****-****-******D7F |
Comp Code | HL***** |
Mode | TEST |
Endpoint UDR | http://apitest.holidaylogin.com/HotelServiceRest |
Your live key will be provided after you complete the integration and get a few successful confirmed reservations.
3.0 Messaging Protocol
CallMethods
Hotel Service is an interactive application ideally meant for web-based clients. Messages are sent by the client via an HTTP POST. Hotel API receives the message, performs the function, and responds back to the client immediately. The POST request data and the returned data are in JSON format. This allows for very simple serialization/deserialization with most modern languages.
4.0 HOTEL API Interface
Communicating with the Hotel Service
The XML Service will accept data via the Web. This will ensure consistency of the existing architecture and will allow the Client to maintain their existing web infrastructure. The API Client will need to use the JSON, HTTP, and POST protocol to post JSON to WEB pages.
The Client will post the JSON file onto the WEB page hosted by the Client. The Client will provide the exact URL/IP address. The Client will maintain a Test environment. The Test environment will contain valid data but will not affect any live data held by the Client.
The result of any JSON call made by the Client will be sent back to the Client in the response object of that WEB page. The methods for calling HOTEL INTERFACE that are providing for request and response are given below:
By direct HTTP Post
- Request
- Response
4.1 Credential
The below details need to be set for your postman.
- Endpoint
- Test API key
- Comp Code
- Mode
5.0 Supported Transactions
Hotel API supports the following functions:
Methods | Description |
---|---|
GetCity | Get City List |
Hotel_Search | Check the availability of hotels |
Hotel_Features | Get Hotel Rooms and Hotel Details |
GetCancellationFee | Check Cancellation Policy |
Hotel_Booking_Out | Book hotel |
BookingCancellation_Out | Cancel booked hotel |
6.0 Elements
6.1 Root Elements
All API calls share a common root element. The child elements of this element are shown in the following table.
Elements | Description |
---|---|
@CityName | Name of City (Singapore) |
@CityCode | CityCode (SIN) |
@ChkInDate | Check In Date (Example:- mm/dd/yyyy (12/24/2014)) |
@ChkOutDat | Check Out Date Example:- mm/dd/yyyy (12/25/2014) |
@Duration | Number of Nights Total nights (1) |
@CountryName | Country Name |
@CountryCode | Country Code |
@IP_Address | Your IP Address |
@Comp_Curr | Company Currency Code USD (All Major Currency) |
@Agent_Curr | Agency Currency Code USD (All Major Currency) |
@Gross_Curr | Search Currency Code USD (All Major Currency) |
@LangCode | Language Code (Default-GB) |
@Nationality | Nationality(ISO Code) |
@NationalityName | Nationality Name |
@RCountry | Country Code of Residence Country (Optional) |
@RCountryName | Residence Country Name (Optional) |
@LocationCode | Values will be Blank |
GUID | Unique GUID |
CompanyId | Company Code |
Channel | It Should be :- subagent |
SubChannel | It Should be :- True |
IsApiUser | It Should be :- True |
APIKey | Provided by HolidayLogin |
APIMode | TEST for Development Phase, LIVE for Production. |
Id | Provided by HolidayLogin |
UserId | Provided by HolidayLogin |
StaffId | Provided by HolidayLogin |
BranchId | Provided by HolidayLogin |
SaBranchId | Provided by HolidayLogin |
ServiceType | It Should be :- Hotel |
7.0 Hotel API Methods
7.1 Hotel Search
This specification outlines the INTERFACE that will be available to allow information to be passed to and from the HOTEL API INTERFACE used by a Client.
The INTERFACE will be accessible via either by Http post or by direct Proxy protocol IP address.
The INTERFACE will be provided to the Client, which will include all the locations, which the Client will be able to search via this interface.
The data that will be passed to the Client is included in this document. We are assuming that this data will then be loaded into the Client’s system and that by using the ‘locations’ that Client will be able to perform searches on the data.
The interface will allow the Client to perform the following functions:
Input Parameters:
Parameter | Description |
---|---|
HIndex | Unique Hotel Index number |
HName | Hotel Name |
HDes | Hotel Description |
Add | Hotel Address |
Star_Rating | Hotel Rating |
Front_Image | Hotel Image URL |
Lattitude | Lattitude |
Longitude | Longitude |
Min_Price | Minimum Price |
Max_Price | Maximum Price |
TripAdvisor | TripAdvisior Rating Or Review (Optional) |
TripAdvisorURL | TripAdvisior URL (Optional) |
Type | Type of Hotel (Ex: Hotels or Apartments) |
7.2 Hotel Features
The interface will allow the Client to perform the following functions:
Input Parameters:
Parameter | Description |
---|---|
@HIndex | Hotel Index |
Input Parameters:
Input Parameters: Including with Hotel and Room Availability.
7.3 Cancellation Policy
The interface will allow the Client to perform the following functions:
Parameter | Description |
---|---|
Hotel_Details/ Hotel | (as it is rec’d in avail response) |
Hotel_Details/ Hotel/ Occupancy List OccupancyList | Need to be Append in Request |
@AdultCount | Total Adult Count |
@ChildCount | Total Child Count |
@RoomType | Room Type Name |
@ExtraBed | Blank |
Title | Blank |
First_Name | Blank |
Last_Name | Blank |
Parameter | Description |
---|---|
@AllowBooking | Booking Allow or Not(Optional) |
@PriceChange | Price Change (true Or False) |
@PriceDiff | The difference in the price |
@DateFrom | Policy date from |
@DateTo | Policy date to |
@Tax_Value | Tax Values(Optional) |
@Desc | Policy description |
@Gross_Price | Gross Price |
Note:
- If AllowBooking is false then don’t send a Booking Request.
- If you don’t get a CancelltionPolicy Response then don’t send a Booking Request.
- PriceChange and PriceDiff will be available in the response if there is any change in the price
7.4 Hotel Booking
The interface will allow the Client to perform the following functions:
Parameter | Mandatory |
---|---|
Master | Yes (Received in Avail Resposne) |
Authentication | Yes (Received in Avail Resposne) |
Hotel | Yes |
OccupanyList | Yes |
Parameter | Description | Reamrks |
---|---|---|
Booking_ID | Hotel Booking ID | Show on Voucher |
Status | Booking Status | Show on Voucher |
SupplierRef | Supplier Ref No. | Show on Voucher |
Our_Booking_Ref | (Optional) | Optional |
ReservationRef | For Internal Reference | Show On Voucer |
ReservationId | For Internal Reference | For Internal Reference |
File_No | – | Optional |
IncomingOfficeCode | – | Show on Voucher If it is not blank |
ContractName | – | Show on Voucher |
Reservation Status
Confirmed
Booking Confirmed
Pending
Booking not confirmed yet
OnRequest
Booking On-Reqeust
Cancelled
Booking Cancelled
7.5 Hotel Cancellation
The interface will allow the Client to cancel the hotel.
Parameter | Mandatory |
---|---|
Authentication | Yes |
Booking_Id | Yes |
ReservationRef | Yes |
ReservationId | Yes |
Status
CANCELLED – Booking Cancelled
CANCELLATION PENDING – Booking cancellation is in process. UNPROCESSED – Cancellation unprocessed
PENDING – Booking cancellation is in process
INPROGRESS– Booking cancellation is in process PROCESSED– Booking Cancelled
REJECTED– Booking Rejected
7.6 Sample Request
7.7 Room Search
The room search method will return the list of rooms for the requested hotel.
Input Parameters:
Parameter | Description |
---|---|
@HIndex | Hotel Index |
8.0 Static Data Methods:
8.1 Country List:
Input Parameters:
Parameter | Description |
---|---|
CompCode | CompCode |
APIKey | APIKey |
APIMode | API Mode |
8.2 City List:
Input Parameters:
Parameter | Description |
---|---|
CountryCode | ISO Country Code |
CompCode | Company Code |
APIKey | API Key |
APIMode | API Mode |
9.0 Developer Section Help:
This Section is for all the cases of search Requests. Need to see the attached JOSN Request and Response.
10.0 Troubleshooting
11.0 Testing of Client’s Test URL
This step is mandatory for testing of URL where the client has integrated the web services/JSON of hotels. Post-testing of this URL the Live access would be provided.
The purpose of the testing at our end would enable us to scan and plug the bugs that might have occurred while integrating the booking engine.
This process would take a minimum of 7- 10 working days.