Académique Documents
Professionnel Documents
Culture Documents
2011
Contents
Contents................................................................................................................................. 2
1 General................................................................................................................................ 3
2 Files Debuging................................................................................................................... 10
3 Methods in detail................................................................................................................ 27
4 Appendix............................................................................................................................ 35
Revision History
Versio
n
4.0.0.1
4.0.0.2
Date
4.0.0.3
4.0.0.4
4.0.0.9
4.1.0.1
4.1.0.2
4.1.1.0
4.1.1.1
4.1.1.2
10/01/2011
01/03/2011
03/03/2011
27/05/2011
23/03/2012
18/07/2012
02/12/2013
14/10/2014
19/10/2010
27/10/2010
Description
Template document created
General, Methods, Elements sections
are created
General Section completed
Document updated
Document completed
WSDL changed
Document updated
Document updated
Document updated
Document updated
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Modification
Author
Cuneyt CAVA
Unal TASDIZEN
Olga OVALI
Cuneyt CAVA
Cuneyt CAVA
Cuneyt CAVA
Olga OVALI
Olga OVALI
Olga OVALI
Olga OVALI
1 General
1.1 Introduction
1.1.1 Purpose of HotelsPro XML booking system
HotelsPro XML booking system is dedicated to the Travel and Tourism industry.
HotelsPro XML booking system is an XML-based interface for HotelsPro affiliates that allows clients
to check availability and make bookings at thousands of hotels worldwide (using the clients own
front-end system/site and HotelsPro system).
Hotels can be booked with instant confirmation or on request.
Bookings can be cancelled through the XML booking system.
The booking process is fully supported by the database that holds all the destinations and product
information data the client will need.
To become an XML affiliate the client needs to be registered as HotelsPro agency at HotelsPro
website www.hotelspro.com firstly.
1.1.2 Technical Requirements for XML affiliate:
1. Online website.
2. Web server with database support and software language (PHP, ASP or other).
3. IT team. Developers working on the creation of the interface software should ideally have
the following skills/experience:
Good knowledge of XML, SOAP and JSON technologies.
Understanding of basic database concepts.
4. Opportunity for charging clients online.
1.2 Environments
The client can use 2 environments involved in the project to develop the interface:
Live
Test
Booking database
URL for request/response
Please note: The hotel bookings made on the test system cannot be real (live) bookings.
Live environment is available by the link:
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
http://api.hotelspro.com/4.1/hotel/b2bHotelJSON.php
http://api.hotelspro.com/4.1/hotel/b2bHotelSOAP.php
Test environment is available by the link:
http://api.hotelspro.com/4.1_test/hotel/b2bHotelJSON.php
http://api.hotelspro.com/4.1_test/hotel/b2bHotelSOAP.php
XML request can be sent using SOAP protocol.
All requests need to be sent in UTF-8 encoding (unicode). All responses will be similarly encoded.
Please note: Firstly only the test environment and the limited hotel inventory are available for a
new XML affiliate. Until system is not tested properly by XML affiliate, the live environment and full
hotel inventory of HotelsPro XML booking system will not be available for XML affiliate.
After clicking on button Update Files the system will start hotel data generating process. It can take
up to 2-3 hours.
www.hotelspro.com
32
The window of process can be closed; it will not interrupt the generating process.
After 2-3 hours hotel data files will be created. The data can be accessed by the links on the
HotelList(XML) page.
Also the data will be available by these links:
http://www.hotelspro.com/xf_3.0/downloads/[AffiliateCode]hotellist.xml
http://www.hotelspro.com/xf_3.0/downloads/[AffiliateCode]hoteldescr.xml
http://www.hotelspro.com/xf_3.0/downloads/[AffiliateCode]hotelamenities.xml
http://www.hotelspro.com/xf_3.0/downloads/[AffiliateCode]destinations.xml
Each of those files contains affiliate and request/response information as:
1.
2.
3.
4.
5.
ResponseType;
AffiliateCode code of the XML affiliate;
AffRequestId affiliate request identifier;
AffRequestTime time when request for hotel list was sent;
TotalNumber total number of HotelsPro hotels in XML file.
www.hotelspro.com
32
www.hotelspro.com
32
XML format:
<?xml version="1.0" encoding="UTF-8" ?>
- <XMLResponse>
<ResponseType>HotelListResponse</ResponseType>
- <RequestInfo>
<AffiliateCode>XX0000</AffiliateCode>
<AffRequestId>XX</AffRequestId>
<AffRequestTime>yyyy-mm-ddThh:mm:ss</AffRequestTime>
</RequestInfo>
<TotalNumber>XXXXX</TotalNumber>
- <Hotels>
- <Hotel>
<HotelCode>XXXXXX</HotelCode>
<OldHotelId>X/XXXXXXXX</OldHotelId>
<PAmenities>PAmenity1;PAmenity2;...;PAmenityN</PAmenities>
<RAmenities>RAmenity1;RAmenity2;...;RAmenityN</RAmenities>
<RoomsNumber>number of rooms</RoomsNumber>
</Hotel>
- <Hotel>
....
</Hotel>
....
</Hotels>
</XMLResponse>
Optimally XML affiliate might download XML-formatted hotel information once a month and update
its own database.
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Received by this way XML-formated hotel information can be shown on clients own front-end
system/site for helping customers to search, select and book hotels.
Hotel Code
Hotel Name
Hotel Intro
Hotel Info
Location Info
Attraction Info
Hotel Amenities
Language
Spanish
Chinese
Turkish
Russian
File
http://www.hotelspro.com/xf_4.0/multi-lang/hotelinfo.es.zip
http://www.hotelspro.com/xf_4.0/multi-lang/hotelinfo.cn.zip
http://www.hotelspro.com/xf_4.0/multi-lang/hotelinfo.tr.zip
http://www.hotelspro.com/xf_4.0/multi-lang/hotelinfo.ru.zip
Please note all the hotel data is not available in all languages. The hotel content in
languages other than English are dependent on the info provided to us by hotels &
suppliers.
XML format
<?xml version="1.0" encoding="UTF-8" ?>
- <XMLResponse>
<ResponseType>DestinationListResponse</ResponseType>
- <RequestInfo>
<AffiliateCode>XX0000</AffiliateCode>
<AffRequestId>XX</AffRequestId>
<AffRequestTime>yyyy-mm-ddThh:mm:ss</AffRequestTime>
</RequestInfo>
<TotalNumber>XXXXX</TotalNumber>
- <Destinations>
- <Destination>
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
DestinationId
Country
City
State
Language
Turkish
French
German
Chinese
Hungarian
Portugese
Russian
Polish
File
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.tr.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.fr.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.de.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.zh.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.hu.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.pt.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.ru.zip
http://www.hotelspro.com/xf_4.0/multi-lang/destinationinfo.pl.zip
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
2 Files Debuging
2.1 Overview
Together with this documentation you received the following files:
WSDL file
Please ensure that, you always work with the latest version.
The following chart gives an overview of the defined operations, port types, bindings and services:
getAvailableHotel
www.hotelspro.com
32
www.hotelspro.com
32
www.hotelspro.com
32
2.3.2
allocateHotelCode
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
www.hotelspro.com
32
2.3.3
makeHotelBooking
www.hotelspro.com
32
www.hotelspro.com
32
echo
echo
echo
echo
$policy->cancellationDay;?> </td>
$policy->feeType;?> </td>
$policy->feeAmount;?> </td>
$policy->currency; ?> </td>
www.hotelspro.com
32
2.3.4
getHotelBookingStatus
www.hotelspro.com
32
www.hotelspro.com
32
echo
echo
echo
echo
echo
$pax->paxType;?> </td>
$pax->title;?> </td>
$pax->firstName;?> </td>
$pax->lastName;?> </td>
$pax->age;?> </td>
<table border="1">
<thead>
<tr>
<th colspan="5">Price Per Night</th>
</tr>
</thead>
<tbody>
<?php
foreach ($rooms as $roomId => $room) {
$prices = is_array($room->ratesPerNight) ? $room->ratesPerNight : array
($room->ratesPerNight);
?>
<tr>
<th>Room <?=$roomId + 1;?></th>
<th>Day</th>
<th>Amount</th>
</tr>
<?php
foreach ($prices as $price) {
?>
<tr>
<td> </td>
<td><?php echo $price->date;?> </td>
<td><?php echo $price->amount;?> </td>
</tr>
<?php
}
}
?>
<table border="1">
<thead>
<tr>
<th colspan="4">Cancellation Policy</th>
</tr>
<tr>
<th>cancellationDay</th>
<th>feeType</th>
<th>feeAmount</th>
<th>currency</th>
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
2.3.5
cancelHotelBooking
www.hotelspro.com
32
2.3.6
getHotelCancellationPolicy
try {
$getHotelCancellationPolicy = $client>getHotelCancellationPolicy("apiKey", $processId, $hotelCode);
}
catch (SoapFault $exception) {
echo $exception->getMessage();
exit;
}
?>
responseId: <?php echo $getHotelCancellationPolicy->responseId?><br/>
processId: <?php echo $processId?><br/>
hotelCode: <?php echo $hotelCode?><br/>
<?php
}
?>
<table border="1">
<thead>
<tr>
<th>cancellationDay</th>
<th>feeType</th>
<th>feeAmount</th>
<th>currency</th>
<th>remarks</th>
</tr>
</thead>
<tbody>
<?php
$policies = is_array($getHotelCancellationPolicy->cancellationPolicy) ? $getHote
lCancellationPolicy->cancellationPolicy : array($getHotelCancellationPolicy>cancellationPolicy);
foreach ($policies as $policy) {
?>
<tr>
<td><?php echo $policy->cancellationDay;?> </td>
<td><?php echo $policy->feeType;?> </td>
<td><?php echo $policy->feeAmount;?> </td>
<td><?php echo $policy->currency;?> </td>
<td><?php echo $policy->remarks;?> </td>
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
2.3.7
amendHotelBooking
www.hotelspro.com
32
2.3.8
getBalance
2.3.9
getHotelBookingList
www.hotelspro.com
32
www.hotelspro.com
32
www.hotelspro.com
32
www.hotelspro.com
32
getAvailableHotel
2.4.2
allocateHotelCode
2.4.3
makeHotelBooking
2.4.4
getHotelBookingStatus
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
2.4.5
cancelHotelBooking
2.4.6
getHotelCancellationPolicy
2.4.7
amendHotelBooking
2.4.8
getBalance
2.4.9
getHotelBookingList
www.hotelspro.com
32
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
3 Methods in detail
3.1 General functions
3.1.1
getAvailableHotel
getAvailableHotel method allows the client to get a list of hotels that are available in a city according
to search criteria provided by the client.
The method allows the client to check availability of a single hotel or all hotels in a city.
Please note: getAvailableHotel method returns cached availability and rates. In order to get real
time hotel rates and room types allocateHotelCode method must be used (see next method).
3.1.1.1 Request
Variable
apikey
destinationId
checkIn
checkOut
currency
Type
String
String
Date
Date
String
clientNationality
String
onRequest
Bool
rooms
filters
Array
Array
Description
Api key taken from the interface
identifier of destination
check-in date in format yyyy-mm-dd;
check-out date in format yyyy-mm-dd;
currency ISO code (it can be EUR, USD or GBP; if sent currency
code is different, then response will contain rates in default
currency EUR);
Code of country (2 chars). List of supported codes are in
Appendix 4.4
this criteria allows the client to get only available hotels with
instant confirmation; or available hotels with instant confirmation
and available on-request hotels; if onRequest = false then only
instant confirmation hotels will be returned in response; if
onRequest = true then instant confirmation and on request
hotels will be returned in response;
Array of pax elements array
Array of filter elements
Mandatory
Yes
Yes
Yes
Yes
No
Default: EUR
Description
Id of response for debugging
Unique id for this availability session
Total number of found available rooms
Array of hotel elements for available room (or combination of
rooms in case of multiple room search) each
Mandatory
Yes
Yes
Yes
Yes
Yes
No
Default: true
Yes
No
3.1.1.2 Response
Variable
responseId
searchId
totalFound
availableHotels
Type
Int.
String
Int.
Array
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
3.1.2
allocateHotelCode
allocateHotelCode method allows the client to get rates and availability for selected hotel from
getAvailableHotel response. Please note that allocateHotelCode method must be used before
making booking in order to get exact hotel rate.
Please note: allocateHotelCode response may contain higher or lower rates, different processid
and different room types comparing to getAvailableHotel response because getAvailableHotel
returns cached rates and availability and allocateHotelCode returns real time rates and availability.
Please be sure that your integration is ready for it. For booking request you should always use
processId from allocateHotelCode. The rate from allocateHotelCode will be confirmed at the time of
booking.
3.1.2.1 Request
Variable
apiKey
searchId
Type
String
String
hotelCode
String
Description
Api key taken from the interface
unique HotelsPro SEARCH reference received in
getAvailableHotel
Hotel identifier
Mandatory
Yes
Yes
Description
Id of response for debugging
Unique id for this availability session
Hotel identifier
Array of Hotel Element for available room (or combination of
rooms in case of multiple room search) each
Mandatory
Yes
Yes
Yes
Yes
Yes
3.1.2.2 Response
Variable
responseId
searchId
hotelCode
availableHotels
3.1.3
Type
Int.
String
String
Array
makeHotelBooking
Purpose of this method is to make booking for the selected hotel in allocateHotelCode method.
Please note: We strongly recommend to use getHotelCancellationPolicy method for getting
detailed infomation about cancellation policy and cancellation penalty before makeHotelBooking
method.
3.1.3.1 Request
Variable
apiKey
processId
Type
String
String
Mandatory
Yes
Yes
String
Description
Api key taken from the interface
unique identifier of search result from allocateHotelCode
Response
Agencys booking reference number
agencyReference
Number
leadTravellerInfo
otherTravellerInfo
Element
Array
leadTraveller element*
Array of pax elements array*
String
smoking/nonSmoking
Yes
No if single
pax
No
preferences
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
No
String
String
No
Yes
* - Please make sure that you use English alphabeth for guests' first name and last name. Also
following symbols are allowed: whitespace, ., -, '. No digits can be used in guests' first name
and last name.
3.1.3.2 Response
Variable
responseId
trackingId
Type
Int.
String
hotelBookingInfo
Element
3.1.4
Description
Id of response for debugging
unique HotelsPro booking reference (this reference will be
required in XML request for operations with the booking); if first
2 letters of it are HR - booking is OnRequest; if first 2 letters of
it are XI - booking is InstantConfirmation
bookInfo Element
Mandatory
Yes
Yes
Yes
getHotelBookingStatus
If a booking was made as OnRequest booking then the client needs to know if the booking was
confirmed or rejected by the hotel. In this case the client should use getHotelBookingStatus
method. Also this method can return all details of the booking.
3.1.4.1 Request
Variable
apiKey
trackingId
Type
String
String
Description
Api key taken from the interface
Unique HotelsPro booking reference
Mandatory
Yes
Yes
Type
Int.
String
String
Element
Description
Id of response for debugging
Unique HotelsPro booking reference
Agencys booking reference number
bookInfo element
Mandatory
Yes
Yes
No
Yes
3.1.4.2 Response
Variable
responseId
trackingId
agencyReferenceNumber
hotelBookingInfo
3.1.5
cancelHotelBooking
Booking cancellation allows the client to cancel any booking previously made through HotelsPro
XML booking system.
Please note: booking cancellation cannot be made on or after CheckIn date.
Please note: Non-refundable bookings can be cancelled but the booking amount will not be
refunded to the client. Non-refundable bookings are bookings with non-refundable cancellation
policy. Non-refundable cancellation policy can be defined by using getHotelCancellationPolicy
method.
3.1.5.1 Request
Variable
apiKey
trackingId
Type
String
String
MetGlobal 2015
Author: Unal TASDIZEN
Description
Api key taken from the interface
Unique HotelsPro booking reference
www.hotelspro.com
32
Mandatory
Yes
Yes
3.1.5.2 Response
Variable
responseId
trackingId
Type
Int.
String
agencyReferenceNumber
bookingStatus
String
String
note
String
3.1.6
Description
Id of response for debugging
unique HotelsPro booking reference received in
MakeHotelBookingResponse;
Agencys booking reference number
status of cancellation: it can be Cancelled or
Cancellation Processing; If status is Cancelled
it means that the booking was cancelled
successfully. If status is Cancellation
Processing it means that: 1) the booking could
not be cancelled immediately, but cancellation
request is received by HotelsPro specialists,
they will cancel the booking and send
confirmation mail to the client; 2) cancellation is
being made after the cancellation period of this
booking (after the deadline), a cancellation
charge of at least one night stay will occur..
note of cancellation. If CancellationStatus is
Cancelled then in Note the following text will be
sent: Booking has been cancelled
successfully. If CancellationStatus is
Cancellation Processing then in Note the
following text will be sent: Your cancellation
request has been received or Your cancellation
request has been received. Cancellation is being
made within the cancellation period for this
booking. A cancellation charge of at least one
night stay will occur.
Mandatory
Yes
Yes
No
Yes
No
getHotelCancellationPolicy
getHotelCancellationPolicy method allows the client to get detailed information about cancellation
policy and cancellation penalty for selected hotel.
3.1.6.1 Request
Variable
apiKey
trackingId
Type
String
String
hotelCode
String
Description
Api key taken from the interface
unique HotelsPro booking reference received in
MakeHotelBookingResponse; or processId
received in allocateHotelCode response.
Unique identifier of a hotel to be booked
Mandatory
Yes
Yes
Yes
3.1.6.2 Response
Variable
responseId
trackingId
agencyReferenceNumber
cancellationPolicy
Type
Int.
String
String
Array
Description
Mandatory
Id of response for debugging
Yes
unique HotelsPro booking reference;
Yes
Agencys booking reference number
No
Array of policy
Yes
Non-refundable cancellation policy is defined by cancellationDay elements value. If the value is
www.hotelspro.com
32
3.1.7
amendHotelBooking
amendHotelBooking method allows the client to amend any booking previously made through
HotelsPro XML booking system.
Please note: Booking amendment cannot be made on or after CheckIn date. According to
HotelsPro policy only one amendment can be accepted for a booking. Additional amendment
requests might be rejected by HotelsPro operation team.
Please note: Non-refundable bookings cannot be amended.
3.1.7.1 Request
Variable
apiKey
trackingId
Type
String
String
checkIn
checkOut
Date
Date
MetGlobal 2015
Author: Unal TASDIZEN
Description
Api key taken from the interface
unique HotelsPro booking reference received in
MakeHotelBookingResponse;
check-in date in format yyyy-mm-dd;
check-out date in format yyyy-mm-dd;
www.hotelspro.com
32
Mandatory
Yes
Yes
Yes
Yes
Element
Array
String
String
leadTraveller Element
Array of pax elements array
smoking/nonSmoking
Notes for amendment request
Yes
Yes
No
No
Variable
responseId
trackingId
agencyReferenceNumber
amendStatus
Type
Int.
String
String
Enum
Mandatory
Yes
Yes
No
Yes
Note
String
Description
Id of response for debugging
unique HotelsPro booking reference
Agencys booking reference number
The value will be Pending for all amenment
requests
amendment note: Your amendment request has
been received. You will be contacted regarding
amendment results by email or by message in
our online system.
3.1.7.2 Response
3.1.8
No
getBalance
getBalance method allows the client to get information about current account balance (This method
can be used only by agencies who work with Deposit payment method).
3.1.8.1 Request
Variable
apiKey
Type
String
Description
Api key taken from the interface
Mandatory
Yes
Type
Int.
String
Float
Float
Float
Description
Id of response for debugging
Balance currency
Total amount of deposit
Total amount of bookings
Current account balance
Mandatory
Yes
Yes
Yes
Yes
Yes
3.1.8.2 Response
Variable
responseId
Currency
totalDeposit
totalBookingAmount
currentBalance
3.1.9
getHotelBookingList
getHotelBookingList method allows the client to get list of hotel bookings selected by several
criteria: booking date period, check-in date period, check-out date period, booking status.
3.1.9.1 Request
Variable
apiKey
bookDateFrom
Type
String
Date
bookDateTo
checkInFrom
Date
Date
checkInTo
checkOutFrom
Date
Date
checkOutTo
Date
MetGlobal 2015
Author: Unal TASDIZEN
Description
Api key taken from the interface
Beginning of booking period in format 'yyy-mmdd'
End of booking period in format 'yyy-mm-dd'
Beginning of check-in period in format 'yyy-mmdd'
End of check-in period in format 'yyy-mm-dd'
Beginning of check-out period in format 'yyymm-dd'
End of check-out period in format 'yyy-mm-dd'
www.hotelspro.com
32
Mandatory
Yes
No*
No*
No*
No*
No*
No*
String
No
* - Please note that at least one date period should be presented in the request (booking date,
check-in date or check-out date). The maximum number of days in the date period is 31 days.
3.1.9.2 Response
Variable
responseId
totalBookingFound
bookInfoArray
Type
Int.
Integer
Array
Description
Id of response for debugging
Number of bookings matching search criteria
Array of bookingArray elements
Mandatory
Yes
Yes
Yes
3.2 Elements
3.2.1
pax Element
Variable
paxType
age
Type
Enum
Int.
Child/Adult
Age of pax
Description
title
String
Title of pax
firstName
String
lastName
String
Mandatory
Yes
Yes if pax type is child, No for rest. The age
range for children is 0-17.
No for getAvailableHotel method, Yes for rest
(Types: Mr, Ms, Mrs, Miss)
No for getAvailableHotel method, Yes for rest
No for getAvailableHotel method, Yes for rest
* - Please make sure that you use English alphabeth for guests' first name and last name. Also
following symbols are allowed: whitespace, ., -, '. No digits can be used in guests' first name
and last name.
3.2.2
leadTraveller Element
Variable
paxInfo
nationality
3.2.3
Type
Element
String
Description
pax Element
Client nationality (ISO code 2 letters). List of supported
codes are in Appendix 4.4
Mandatory
Yes
Yes
filter Element
Variable
filterType
filterValue
Type
Enum
String
Description
hotelCode / hotelName / hotelStar / boardType / Limit
Explanation
Room Only
Bed and Breakfast
English Breakfast
Continental
Breakfast
Half Board
Full Board
All Inclusive
Ultra All nclusive
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Mandatory
Yes
Yes
SC
Self Catering
3.2.4
hotel Element
Variable
processId
Type
String
hotelCode
availabilityStatus
String
Enum
specialDeal
Int.
totalPrice
totalTax
Float
Float
totalSalePrice
Float
currency
boardType
String
String
rooms
Array
3.2.5
Description
unique identifier of search result for available room (or
combination of rooms in case of multiple room search). If the
client wants to book the room or the combination of rooms, this
identifier needs to be sent in book request
Hotel identifier
status of hotel availability: it can be InstantConfirmation or
OnRequest;
Code for special deal
Code
Explanation
2
Special Discount
Special Offer
Free Transportation
Free Parking
Free Upgrade
Free Meal
Free Child
10
Free Person
11
12
Free Night
total price for all nights of the stay including all taxes and fees;
amount of taxes and fees (it is included in TotalPrice);
recommended sale price for the end-customer;
ISO code currency of totalPrice
type of board (for example Room Only, Bed and Breakfast), it
shows what is included in total price of the stay
Array of roomResponse Element
Mandatory
Yes
Yes
Yes
No
Yes
No
Default: 0
No
Default: 0
Yes
Yes
Yes
roomResponse Element
Variable
roomCategory
Type
String
paxes
totalRoomRate
Array
Float
ratesPerNight
Array
Description
text description of room category, it can be Standard Room,
Deluxe Room and etc.;
Array of pax elements array
total rate for the room for all nights of the stay including all taxes
and fees;
Array of dailyRate element
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Mandatory
Yes
Yes
Yes
Yes
3.2.6
dailyRate Element
Variable
date
amount
3.2.7
Type
Date
Float
Description
date of night of the stay
Rate for the room for the night including all taxes and fees
bookInfo Element
Variable
bookingStatus
Type
Enum
confirmationNumber
String
supplier
hotelCode
checkIn
checkOut
totalPrice
String
String
Date
Date
Float
totalSalePrice
currency
boardType
Float
String
String
rooms
cancellationPolicy
agencyReferenceNumber
Array
Array
String
comments
String
3.2.8
Description
status of booking;
it can be:
confirmed booking,
on request booking,
rejected booking,
cancelled booking,
payment processing
confirmation number (please be sure that this number
is printed on a customer voucher)
Supplier name
identifier of booked hotel
check-in date in format yyyy-mm-dd
check-out date in format yyyy-mm-dd
total price for all nights of the stay including all taxes
and fees
recommended sale price for the end-customer;
currency ISO code
type of board (for example Room Only, Bed and
Breakfast), it shows what is included in total price of
the stay
Array of pax elements array
Array of policy element
XML affiliates booking reference number.
GetBookingStatus response will contain the same
value of AgencyReferenceNumber which were sent in
MakeHotelBooking request.
Comments of booking
Mandatory
Yes
Description
Days before checkin date when cancellation fee is
applied.
Percent / Amount / Night
Fee amount
Currency ISO Code of total fee amount
Remarks for policy element. If it is not empty then it
should be displayed on your website together with
cancellation policy details.
Mandatory
Yes
Description
Unique HotelsPro booking reference
Date and time when booking was made (EEST)
Mandatory
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No
No
policy Element
Variable
cancellationDay
Type
Int.
feeType
feeAmount
currency
remarks
Enum
Float
String
String
3.2.9
Mandatory
Yes
Yes
Yes
Yes
No
No
bookingArray Element
Variable
trackingId
bookingTime
Type
String
Date /
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Time
String
String
String
String
staffId
hotelBookingInfo
String
Element
4 Appendix
4.1 List of error codes
501 - Invalid apikey
502 - Invalid currency code
503 - Invalid city code
504 - Invalid date format! Please use YYYY-mm-dd format.
505 - Check-in date can not be earlier than Check-out date
506 - City could not found! Please check your city code.
507 - Destination is not available.
508 - Invalid onrequest type
509 - Invalid filter type
510 - Multiple hotelcode is not allowed
511 - Maximum number of hotelstar filter is 5
512 - Hotel star must be between 2 and 5
513 - Maximum number of board type filter is 8
514 - Hotel code could not find
515 - Hotel name could not find
516 - Multiple hotelname does not allow
517 - Invalid hotel name (it should be minimum: 3 characters, maximum: 50 characters)
518 - Incorrect CheckIn date (it can not be earlier today or later today+1year)
519 - Incorrect CheckOut date (it must be later CheckIn date)
520 - Hotel can not be reserved for more than 30 nights
521 - Please use your account's balance currency for CheckAvailability request
522 - Incorrect number of rooms in XML request (minimum: 1 room, maximum: 5 rooms)
523 - Invalid number of adults per room (maximum 6 adults per room)
524 - There must be at least 1 adult per room in the request
525 - Invalid number of paxes per room (maximum 6 paxes per room)
526 - Invalid number of children per room (maximum 4 children per room)
527 - Invalid nationality code
528 - Children ages are not defined in the request
529 - Invalid hotel code
530 - Invalid search code
531 - Invalid hotel code
532 - Empty or missed ProcessId
533 - Expired or incorrect ProcessId
534 - Invalid pax type
535 - Empty or missed pax name information
536 - Maximum number of result limit type filter is 1
537 - Result limit must be type of integer
538 - Empty or missed TrackingId
539 - Expired or incorrect TrackingId
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
Yes
Yes
Yes
Yes
Yes
Yes
www.hotelspro.com
32
4.3 Recommendations
The importance of allocateHotelCode request.
Please make sure that you send allocateHotelCode request before booking in order to get real
time rates and availability.
getAvailableHotel method returns cached rates and availability. That is why allocateHotelCode
should be used before booking.
Please note that allocateHotelCode response may contain slightly higher or lower rates, different
processids and different room types then getAvailableHotel response. Please be sure that your
integration is ready for it.
For booking request you should always use processId from allocateHotelCode. The rate from
allocateHotelCode will be confirmed at the time of booking.
The order of allocateHotelCode and getHotelCancellationPolicy requests.
Please note that after getAvailableHotel request firstly you should send allocateHotelCode
request because this method gets real time rates and availability rates for a selected hotel. And
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
after that you should send getHotelCancellationPolicy request with processId from
allocateHotelCode response. In this case you will get cancellation policy for a real time rate for a
selected room.
Afghanistan
AX
Aland Islands
AL
Albania
DZ
Algeria
AS
American Samoa
AD
Andorra
AO
Angola
AI
Anguilla
AQ
Antarctica
AG
AR
Argentina
AM
Armenia
AW
Aruba
AU
Australia
AT
Austria
AZ
Azerbaijan
BS
Bahamas
BH
Bahrain
BD
Bangladesh
BB
Barbados
BY
Belarus
BE
Belgium
BZ
Belize
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
BJ
Benin
BM
Bermuda
BT
Bhutan
BO
Bolivia
BA
BW
Botswana
BV
Bouvet Island
BR
Brazil
IO
VG
BN
Brunei Darussalam
BG
Bulgaria
BF
Burkina Faso
BI
Burundi
KH
Cambodia
CM
Cameroon
CA
Canada
CV
Cape Verde
KY
Cayman Islands
CF
TD
Chad
CL
Chile
CN
China
CX
Christmas Island
CC
CO
Colombia
KM
Comoros
CG
Congo
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
CK
Cook Islands
CR
Costa Rica
CI
Cote d'Ivoire
HR
Croatia
CU
Cuba
CY
Cyprus
CZ
Czech Republic
CD
DK
Denmark
DJ
Djibouti
DM
Dominica
DO
Dominican Republic
EC
Ecuador
EG
Egypt
SV
El Salvador
GQ
Equatorial Guinea
ER
Eritrea
EE
Estonia
ET
Ethiopia
FK
FO
Faroe Islands
FJ
Fiji
FI
Finland
FR
France
GF
French Guiana
PF
French Polynesia
TF
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
GA
Gabon
GM
Gambia
GE
Georgia
DE
Germany
GH
Ghana
GI
Gibraltar
GR
Greece
GL
Greenland
GD
Grenada
GP
Guadeloupe
GU
Guam
GT
Guatemala
GG
Guernsey
GN
Guinea
GW
Guinea-Bissau
GY
Guyana
HT
Haiti
HM
HN
Honduras
HK
Hong Kong
HU
Hungary
IS
Iceland
IN
India
ID
Indonesia
IR
Iran
IQ
Iraq
IE
Ireland
IM
Isle Of Man
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
IL
Israel
IT
Italy
JM
Jamaica
JP
Japan
JE
Jersey
JO
Jordan
KZ
Kazakhstan
KE
Kenya
KI
Kiribati
KR
Korea
XK
Kosovo
KW
Kuwait
KG
Kyrgyzstan
LA
Laos
LV
Latvia
LB
Lebanon
LS
Lesotho
LR
Liberia
LY
LI
Liechtenstein
LT
Lithuania
LU
Luxembourg
MO
Macau
MK
Macedonia
MG
Madagascar
MW
Malawi
MY
Malaysia
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
MV
Maldives
ML
Mali
MT
Malta
MH
Marshall Islands
MQ
Martinique
MR
Mauritania
MU
Mauritius
YT
Mayotte
MX
Mexico
FM
Micronesia
MD
Moldova
MC
Monaco
MN
Mongolia
ME
Montenegro
MS
Montserrat
MA
Morocco
MZ
Mozambique
MM
Myanmar
NA
Namibia
NR
Nauru
NP
Nepal
NL
Netherlands
AN
Netherlands Antilles
NC
New Caledonia
NZ
New Zealand
NI
Nicaragua
NE
Niger
NG
Nigeria
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
NU
Niue
NF
Norfolk Island
KP
North Korea
MP
NO
Norway
OM
Oman
PK
Pakistan
PW
Palau
PS
Palestinian Territory
PA
Panama
PG
PY
Paraguay
PE
Peru
PH
Philippines
PN
Pitcairn
PL
Poland
PT
Portugal
PR
Puerto Rico
QA
Qatar
RE
Reunion
RO
Romania
RU
Russia
RW
Rwanda
BL
Saint Barthelemy
SH
Saint Helena
KN
LC
Saint Lucia
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
MF
Saint Martin
PM
VC
WS
Samoa
SM
San Marino
ST
SA
Saudi Arabia
SN
Senegal
RS
Serbia
SC
Seychelles
SL
Sierra Leone
SG
Singapore
SK
Slovakia
SI
Slovenia
SB
Solomon Islands
SO
Somalia
ZA
South Africa
GS
ES
Spain
LK
Sri Lanka
SD
Sudan
SR
Suriname
SJ
SZ
Swaziland
SE
Sweden
CH
Switzerland
SY
TW
Taiwan
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
TJ
Tajikistan
TZ
Tanzania
TH
Thailand
TL
Timor-Leste
TG
Togo
TK
Tokelau
TO
Tonga
TT
TN
Tunisia
TR
Turkey
TM
Turkmenistan
TC
TV
Tuvalu
UG
Uganda
UA
Ukraine
AE
UK
United Kingdom
US
United States
UY
Uruguay
UM
VI
US Virgin Islands
UZ
Uzbekistan
VU
Vanuatu
VA
VE
Venezuela
VN
Vietnam
WF
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32
EH
Western Sahara
YE
Yemen
ZM
Zambia
ZW
Zimbabwe
MetGlobal 2015
Author: Unal TASDIZEN
www.hotelspro.com
32