Professional Documents
Culture Documents
PDF UG WBS Hotel MultiSingleAvailability HOTEL MULTISINGLEAVAILABILITY 10.0 383 PDF
PDF UG WBS Hotel MultiSingleAvailability HOTEL MULTISINGLEAVAILABILITY 10.0 383 PDF
Hotel_MultiSingleAvailability 10.0
Amadeus SAS
485, Route du Pin Montard
BP 69
06902 Sophia-Antipolis Cedex
Table of Contents
Table of Contents
Preface.................................................................................................................................. 6
1 Purpose of this document..............................................................................................6
2 Intended Audience......................................................................................................... 6
3 Associated Documents.................................................................................................. 6
4 Structure of this document............................................................................................ 6
Function: Hotel_MultiSingleAvailability................................................................................. 9
1 Overview........................................................................................................................ 9
1.1 Supported Operations........................................................................................... 13
1.2 Limitations..............................................................................................................13
1.3 Unsupported Operations....................................................................................... 13
1.4 Prerequisites..........................................................................................................13
2 Building A Query..........................................................................................................14
2.1 Query Sub Structure: Corporate Information........................................................ 17
2.1.1 Description................................................................................................................................... 17
2.1.2 Xml Structure............................................................................................................................... 17
2.2 Query Sub Structure: Filter By Best Price............................................................ 18
2.2.1 Description................................................................................................................................... 18
2.2.2 Xml Structure............................................................................................................................... 18
2.3 Query Sub Structure: OTA Code Tables.............................................................. 19
2.3.1 Description................................................................................................................................... 19
2.3.2 Xml Structure............................................................................................................................... 19
2.4 Query Sub Structure: Search By Address............................................................ 19
2.4.1 Description................................................................................................................................... 19
2.4.2 Xml Structure............................................................................................................................... 20
2.5 Query Sub Structure: Search By Area..................................................................21
2.5.1 Description................................................................................................................................... 21
2.5.2 Xml Structure............................................................................................................................... 22
2.6 Query Sub Structure: Search By Availability Status............................................. 22
2.6.1 Description................................................................................................................................... 22
i
Table of Contents
ii
Table of Contents
iii
Table of Contents
iv
Table of Contents
3.12.1 Description................................................................................................................................. 73
3.12.2 Xml Structure............................................................................................................................. 74
3.13 Reply Sub Structure: Prepay Information........................................................... 77
3.13.1 Description................................................................................................................................. 77
3.13.2 Xml Structure............................................................................................................................. 77
3.14 Reply Sub Structure: Rate Plan Information....................................................... 78
3.14.1 Description................................................................................................................................. 78
3.14.2 Xml Structure............................................................................................................................. 79
3.15 Reply Sub Structure: Room Rate Information.....................................................79
3.15.1 Description................................................................................................................................. 79
3.15.2 Xml Structure............................................................................................................................. 82
3.16 Reply Sub Structure: RoomStay Information...................................................... 84
3.16.1 Description................................................................................................................................. 84
3.16.2 Xml Structure............................................................................................................................. 86
3.17 Reply Sub Structure: Scrolling Information......................................................... 86
3.17.1 Description................................................................................................................................. 86
3.17.2 Xml Structure............................................................................................................................. 88
3.18 Reply Sub Structure: Service Information........................................................... 88
3.18.1 Description................................................................................................................................. 88
3.18.2 Xml Structure............................................................................................................................. 89
3.19 Reply Sub Structure: Warning Information......................................................... 89
3.19.1 Description................................................................................................................................. 89
3.19.2 Xml Structure............................................................................................................................. 90
4 Error Messages............................................................................................................91
4.1 Error Reply............................................................................................................ 91
5 Operations....................................................................................................................92
5.1 Operation: Example...............................................................................................92
5.1.1 Query Structure........................................................................................................................... 92
5.1.2 Reply Structure............................................................................................................................ 92
5.1.3 Possible Errors............................................................................................................................ 97
v
Web services User guide for function Hotel_MultiSingleAvailability
Preface
2 Intended Audience
This document is aimed at those who implement this function.
3 Associated Documents
This document has to be combined to its corresponding Technical Reference Guide and possibly to Product
specifications.
Hotel_MultiSingleAvailability
Document control
@OnRequest added
in AvailabilityStatus
17/01/2018 Markup Currency Updated Markup Genevieve Artus
Information and
add the notion of
rate conversion
in Travel Agency
currency when
Markup applies
Function: Hotel_MultiSingleAvailability.
1 Overview
The MultiSingle functionality is using the Open Travel Alliance (OTA) XML verbs OTA_HotelAvailRQ/RS version
2011B.
It covers two main processes:
1. Select the list of properties for which the system will return availability and rates. This selection can be done
explicitly, indicating a list of properties, or through functional parameters like: IATA Code, Point of reference,
GEO Codes, GEO Radius search,...).
2. Retrieve rates and availability for each of the selected hotels/properties matching the client criteria.
Thus, as a result of the function, a list of hospitality products grouped by property matching the search criteria
input is returned.
You can specify what type of content should be returned. The available content sources are:
• Distribution: Content from hotel chains and hotel representation companies, where each
physical property has a unique property identifier.
• Leisure: Content from hotel aggregators(wholesalers), where a physical property can have several
property identifiers (duplicates).
◦ Note: You can only access content of hotel aggregators, for which you have provided the necessary
registration information to Amadeus.
• MultiSource: Content from both, Distribution and Leisure.
Duplicate logic
In case of MultiSource content, one physical hotel can be represented several times in the response. In order
to identify which properties are representing the same physical property a unique property identifier is available
in the response, which enables you to group duplicates of the same physical property. Please refer to "Section:
Reply Sub Structure: Duplicates Information".
It must be noted that only representations of a physical property (duplicates) matching the requested search
criteria will be returned.
Example: The user requests properties with IATA code PAR (Paris), chaincode HY (Hyatt) and Local Star
Rating 3.
These are the available properties:
Property code Chaincode Physical property Local star rating
identifier
HYPAR001 HY 1 3
TVPAR002 TV 2 3
DHPAR003 DH 2 3
HVCDG004 HV 1 2
TVPAR001 TV 1 3
Thanks to the duplicate logic based on the unique "Physical property identifier", the following properties will
be returned:
Property code Chaincode Physical property Local star rating
identifier
HYPAR001 HY 1 3
TVPAR001 TV 1 3
Paging logic
The Hotel Search through Amadeus Web services is based on a paging mechanism which allows the user to
request the consecutive set of results. The list of selected properties can be divided in pages depending on the
size of the property list selected. In order to retrieve the complete list of properties you must provide the scrolling
indicator, which was received in the previous response and provide it in the consecutive search request.
Please refer to "Reply Sub Structure: Scrolling Information".
In order to maintain an acceptable response time, Amadeus Hotel Platform limits the response size in two
different ways:
1. Number of products
2. Number of properties
By default, the maximum number of products is 1000 and the maximum number of properties per page is 96.
Amadeus constantly strives to improve the response time and technical infrastructure of our web services.
Therefore, please be aware that these limitations continuously evolve.
Data sources
The data you are retrieving may come from various sources:
1. Direct connectivity with hotel providers and aggregators (DC): This source of data provides data directly
from hospitality providers. The advantage here is the accuracy of the data.
2. Amadeus Hotel Search Engine (HSE): This source of data provides cached data. The advantage here is
the response time.
Note: Please note that Amadeus HSE cache does not support multiple rooms search.
Mark-up Engine
Amadeus distribution system provides you the ability to mark-up/down hospitality products. In other words, it
means it gives you the possibility to higher or lower the price in order to add your margin in the price received
through the XML interface.
These pricing rules are created through the Amadeus Mark-up tool user interface, and they are applied at chain
and rate plan level. Please refer to the product documentation for detailed information. Remember that the
Mark-up functionality must be configured as "active" in your Amadeus Office ID profile prior you can use it by
setting the attribute HMU (Hotel Mark-Up).
Note: The usage of this tool has an impact in the response information you will receive. Please refer to section
"Mark-up Information" for more details.
Daily rate
Depending on the hotel chain targeted, the average daily rate might not be available at Multi-Single availability
time.
By setting OTA_HotelAvailRQ@PricingMethod=”Average”, an estimation of the average daily rate before tax
for each stay will be returned if enough data is available on provider’s side. Otherwise, the average daily after
tax will be returned.
In that case, each estimated average daily rate is returned as follows:
• OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate/
Base@AmountBeforeTax: estimated average daily rate
• OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates:
•
◦ @RateMode=”3”: indicates that average daily rate is available under ../Rate/Base
◦ @RateSource=”Estimated”: indicates that rate available under ../Rate/Base is estimated by
Amadeus system
1.2 Limitations
• No OTA_HotelAvailRQ@ExactMatchOnly attribute or set to “False”is the default behaviour in
MultiSingle Availability. The attribute @ExactMatchOnly is to activate True Rate Range Option and applies
restrictions for the selected rates codes. It is only available on Multi Availability so far.
1.4 Prerequisites
Not applicable
2 Building A Query
This section lists the basic information which must be provided in the request. Furthermore it provides detailed
information for the different available search use cases that can be performed.
Mandatory attributes:
In order to perform a MultiSingle availability search, certain parameters are mandatory in the request.
At the OTA_HotelAvailRQ root level:
1. @EchoToken: must be set to "MultiSingle"
2. @SummaryOnly: set to "True"
3. @RateRangeOnly: set to "True"
4. @RateDetailsInd: set to "True"
At the OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RoomStayCandidates/RoomStayCandidate level:
1. @RoomID: The goal is to identify the room configuration requested. In the response the same identifier will
be returned. The value is an integer and has to be set to "1" when only one room configuration is requested.
Note: Please be aware that if the InfoSource attribute is not defined, the default source of content is
"Distribution", and its value is case sensitive.
Date range of the stay
The dates of the requested stay must be sent in:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
StayDateRange
• @Start: start date of the stay (format="yyyy-mm-dd")
• @End: end date of the requested stay (format="yyyy-mm-dd")
and in the Profile, the applications can pass the Corporate name
• The Corporate Name (CompanyName with ProfileType="3" in OTA_HotelAvailRQ/
AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Profiles/Profile/CompanyInfo
Hotel Search
See corresponding Sub Structures for further explanation about the different search criteria available.
• Location selection (One Location method must be provided)
◦ Search By IATA Code
◦ Search By Distance
◦ Search By Point Of Reference
◦ Search By Address (Street Name...)
◦ Search By Area
• Filter Hotels
◦ Search By Predefined Property List
◦ Search By Chain
◦ Search By Hotel Name
◦ Search By Hotel Facilities
◦ Search By Hotel Category
◦ Search By Third Party Rating
◦ Search By Transportation
◦ Search By Phone Number
• Filter Rates
•
◦ Search By Special Rate Plan
◦ Search By Occupancy
◦ Search By Meal Plan (Board Basis)
◦ Search By Multiple Identical Rooms
◦ Search By Multiple Non Identical Rooms
◦ Search By Availability Status
◦ Search By Budget (Price Range)
◦ Filter By Best Price only
• Sort Hotels
◦ Sort Hotels By Best Price (Search by Lowest Rate)
To define which data source is targeted (Please refer to "1 Overview"), you can choose the desired data source.
It is done by
OTA_HotelAvailRQ/@SearchCacheLevel
• "VeryRecent": returns a mixture of Amadeus Hotel Search Engine and Direct Connect data (fallback
via Direct Connectivity done for data not found in Amadeus HotelSearchEngine). But it is not recommended
to use it when Negociated Rates are asked in the request.
• "LessRecent": returns only Amadeus Hotel Search Engine data
• "Live": returns only Direct connect data
• In case SearchCacheLevel is not filled, "VeryRecent" behaviour is triggerred. (or "Live" when only 1
hotel is requested).
Note: Please be aware that besides this choice several other rules may apply (e.g. functional rules and business
rules)
Request maximum number of properties
There is a special case that allows you to bypass the limitation in the number of properties retrieved in one
page by defining:
OTA_HotelAvailRQ/@MaxResponses=”32768”
and OTA_HotelAvailRQ/@SearchCacheLevel to "VeryRecent" or "LessRecent"
In normal case, some restrictions apply:
1. Whereas Maximum possible number of properties is requested, the total number of products cannot exceed
1000 per page.
2. The number of messages sent from Amadeus to its direct connect providers cannot exceed 8 per page.
Therefore, it is not possible to know beforehand the exact number of properties that the system will return due
to the fact that it is closely related to the search criterion used in the request and the number of products per
property retrieved. For instance, if only one product per property is retrieved, up to 1000 properties will be
returned, whereas if each property has defined 10 products then up to 100 properties will be returned.
Since requesting maximum number of properties is meant at retrieving more than the standard 96 properties
limit, it is not meant to be combined with the following type of search:
- "Live" search
- search by predefined property list
Dupes mechanism activation/deactivation
When performing a MultiSource content type search, duping logic is activated by default. It has been left
possible to deactivate that logic in the context of "Search by Chain" and "Search by Predefined Property List".
2.1.1 Description
Targetting Leisure content, credentials might be required. There 2 ways to retrieve the credentials,
1. Using the Office Id and the sign
2. Using the OfficeID, the sign and the Corporation name
The officeID and Sign information are set by Amadeus whereas the Corporate name is set by the application
in the <Profile> segment.
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Profiles
5 Profiles 0..1 Collection of
Profiles. Used for
loyalty programs
(frequent traveller
and guest ID)
6 ProfileInfo 1..2 An individual Profile
7 Profile 1
@ProfileType 1 ProfileType="3" AlphaNumericLength
when Corporate 1
Name is sent
8 CompanyInfo 1 Used to send the
Corporate name
With
CompanyName 1 Corporate Name Formatted Text
Type
<ProfileInfo>
<Profile ProfileType="3" >
<CompanyInfo>
<CompanyName>MERCERIN43796COM</CompanyName>
</CompanyInfo>
</Profile>
</ProfileInfo>
</Profiles>
<RoomStayCandidates>
<RoomStayCandidate Quantity="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Address/
AddressLine
• Search by City name
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Address/
CityName
• Search by Postal Code or Zip code
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Address/
PostalCode
• Search by State Code
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Address/
StateProv/@StateCode Please refer to the standard codes or abbreviations for a state, province, or region.
• Search by Country Name
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Address/
CountryName/@Code Please refer to ISO 3166-2 code table
In addition a reference to location including a country or a city should be used as minimum input for
this search, so that OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/
Criterion/HotelRef@HotelCityCode should be added if country code is missing.
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
<Example2 tittle="Example 2 Search by Address - In a Country" />
<OTA_HotelAvailRQ EchoToken="MultiSingle" Version="4.000" PrimaryLangID="EN"
RateDetailsInd="true" SummaryOnly="true" SortOrder="PA" AvailRatesOnly="true"
RateRangeOnly="true" ExactMatchOnly="false" RequestedCurrency="EUR" xmlns="http://
www.opentravel.org/OTA/2003/05" xsi:schemaLocation="http://www.opentravel.org/OTA/2003/05" >
<AvailRequestSegments>
<AvailRequestSegment InfoSource="Distribution" >
<HotelSearchCriteria>
<Criterion ExactMatch="true" >
<Address>
<CityName>VERSAILLES</CityName>
<CountryName Code="FR" />
</Address>
<StayDateRange Start="2013-12-04" End="2013-12-06" />
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.5.1 Description
Properties can be selected based on their location category. The mandatory parameters must be included as
defined in the section "2 Building A Query".
The Search By Area provides the ability to search for properties located within specific areas of a city. The
request can define up to 7 areas, each of them placed in a repetition of the field:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/HotelRef/
@LocationCategoryCode
The data type of the field corresponds to the OTA Code Group: Location Category Codes, however only the
following subset is available:
• North (OTA Code = “9”)
• South (OTA Code = “12”)
2.7.1 Description
Products can be selected based on their daily rate. The mandatory parameters must be included as defined
in the section "2 Building A Query".
This filter allows the client to provide as search criterion a max and/or min product daily price. As result,
Amadeus will filter those products falling out the limits defined in the request.
The functionality is triggered by the following element:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/RateRange
These attributes have to be filled:
• Definition of the range:
◦ @MinRate: Definition of the minimum value of the range. If not present, it is equal to 0
◦ @MaxRate: Definition of the maximum value of the range. If not present, it is undefined.
◦ Additional parameters
▪ @Currency: Currency associated to the amount set in the range
▪ @RateTimeUnit: Value set to Day. The amount entered in the request (min and max)
represent the global value:
* On a daily basis
* For one room
• @DecimalPlaces: Represents the value of the decimal position. It is not needed if the price already
contains a decimal position. Please notice that the decimal notation is a dot.
The rate range specified by the user will be applied with a 10% margin:
• Minimum rate will include rates 10% below the requested rate
• Maximum rate will include rates 10% above the requested rate
• Rate range will include rates 10% below and above the requested rate range.
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.8.1 Description
Properties can be selected based on their hotel chain. The mandatory parameters must be included as defined
in the section "2 Building A Query".
The functionality is triggered by the following attribute:
• OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
HotelRef/@ChainCode: This value corresponds to a 2 character Amadeus chain code.
• The HotelRef element can be duplicated up to 60 times.
• Dupes mechanism activation/deactivation: When performing a MultiSource content type
search, duping logic is activated by default. It's possible to deactivate that logic in the
context of "Search by Chain" and "Search by Predefined Property List". To do so, you
will need to set OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/
Criterion@AlternateAvailability="Never".
• In addition to the chain code, a location criterion needs to be specified (e.g. Search by IATA code)
Note: Please be aware that in case of MultiSource content, representations of a physical property matching
search criteria will be returned. Therefore you may end up with properties not matching requested chain code.
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Radius
• @Distance: Numeric value (max. 300)
• @DistanceMeasure: Indicates if the search should be sorted by distance or random
◦ DIS: sorted by distance
◦ RND: random
• @UnitOfMeasureCode: Unit of distance
◦ 1: Miles
◦ 2: Kilometers
2.10.1 Description
The Foreign Currency functionalty is triggered by requesting a specific currency. The response will include the
necessary currency conversion rates, which allow to display to the client all the rates in the requested currency.
It must be noticed that Amadeus does not convert the products rates but it provides, as information, just the
market currency rate conversion. Amadeus updates nightly its own currency fare quote tables from IATA (BSR,
IROE, ICH) and local markets (BSR).
The user has 3 ways to request a specific currency:
• OTA_HotelAvailRQ/@RequestedCurrency
• OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RateRange/@CurrencyCode
Note: Please be aware, that @CurrencyCode in the RateRange element has priority over the
@RequestedCurrency attribute.
When a specific currency is requested, the following element is included:
OTA_HotelAvailRS/CurrencyConversions
• @RateConversion: The rate conversion between the source (hotelier) currency and the requested
currency
• @SourceCurrencyCode: The source currency code returned by the provider
• @RequestedCurrencyCode: The requested currency entered in the request
• @DecimalPlaces: The decimal place of the requested currency.
<AvailRequestSegments>
<AvailRequestSegment InfoSource="Distribution" >
<HotelSearchCriteria>
<Criterion ExactMatch="true" >
<HotelRef HotelCityCode="PAR" SegmentCategoryCode="8" />
<HotelRef SegmentCategoryCode="7" />
<StayDateRange Start="2013-12-05" End="2013-12-07" />
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.12.1 Description
Properties can be selected based on their hotel chain. The mandatory parameters must be included as defined
in the section "2 Building A Query".
This kind of search allows the user to filter out among the selected properties, those properties which have
the facilities requested by the user. This Search by facilities, depending on the facility requested, is divided
into 5 types of categories:
• Search by Hotel Facilities
Request at:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
HotelAmenity/@Code
• Code: Facility code belonging to the HAC OTA code type
Response at:
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/HotelAmenity
• @Code: Facility code belonging to the HAC OTA code type
Request at:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RoomAmenity/@Code
• @Code: Facility code belonging to the RMA OTA code type
Response at:
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Features/Feature
• @RoomAmenity: Facility code belonging to the RMA OTA code type
• Search by Recreation
Request at:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Recreation/
@Code
• @Code: Facility code belonging to the RST OTA code type
Response at:
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Recreation
• @Code: Facility code belonging to the RST OTA code type
• Search by Service
Request at:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Service/
@Code
• @Code: Facility code belonging to the BUS OTA code type
Response at:
OTA_ OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Service
• @BusinessServiceCode: Facility code belonging to the BUS OTA code type
Request at:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
HotelFeature
• @SecurityFeatureCode: SecurityFeature code belonging to the SEC OTA code type (Only FireSafety)
• @Accessibilitycode: AccessibilityFeature code belonging to the PHY OTA code type (Only Handicap)
Response at:
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/HotelFeature
• @SecurityFeatureCode: SecurityFeature code belonging to the SEC OTA code type (Only FireSafety)
• @AccessibilityCode: AccessibilityFeature code belonging to the PHY OTA code type (Only Handicap)
Limitations:
• The User can ask up to 3 parameters and in addition, if needed, a forth parameter (HotelFeature) can
be used to request Fire Safety information.
• The response will contain all properties where at least one of the facility requested is available.
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.13.1 Description
Properties can be selected based on their name. The mandatory parameters must be included as defined in
the section "2 Building A Query".
The user may input:
• The exact name of the property. if known
• One to four words in the hotel name.
• Three or more alpha characters in the hotel name for the very first word, the next words can include
one or more alpha characters
• 40 characters in total including blank and special characters
To have an alphabetical ordering regarding hotel name the following attribute has to be filled with "PA"
for ascending ordering and "PD" for descending ordering.
Alphabetic ordering is part of the hotel name search and can be either requested with a hotel name search or
without it.
OTA_HotelAvailRQ/@SortOrder
A fuzzy matching algorithm is used. It permits some little mispelling.
An "and" match is operated when more than one word are inputted. The output will contain the hotel matching
the entry.
For example, HotelName="SHOPPING AND BOUTIQUE" is to obtain a list of hotels that includes the three
words.
Note: It’s recommended to avoid as much as possible generic words to get an accurate result: the more specific
the chosen words are, the higher are the chances to have an accurate response. For example : "Trafalgar"
will be more selective than "hotel"
<HotelSearchCriteria>
<Criterion ExactMatch="true" >
<HotelRef HotelCityCode="PAR" HotelName="barato" />
<StayDateRange Start="2013-12-05" End="2013-12-07" />
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.14.1 Description
Properties can be selected based on their IATA city code. The mandatory parameters must be included as
defined in the section "2 Building A Query".
The functionality is triggered by the following attribute:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/HotelRef/
@HotelCityCode
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/HotelRef/
@ExtendedCitySearchIndicator: Set to true to request a search on IATA codes associated to requested one
2.15.1 Description
Properties can be selected and sorted based on the cheapest product available per property. The mandatory
parameters must be included as defined in the section "2 Build A Query".
It allows the user to retrieve properties sorted ascending by price. Only one product (the cheapest) per
property is returned.
The functionality is triggered by the following attributes:
• OTA_HotelAvailRQ@SortOrder="RA" triggers the SortOrder
• OTA_HotelAvailRQ@MaxResponses indicates how many available properties to return
• OTA_HotelAvailRQ@SearchCacheLevel=”LessRecent”
• OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/
@BestOnlyIndicator=”true” indicates that only the best rate has to be returned.
• HotelSearchCriteria@AvailableOnlyIndicator=”true” indicates that only available properties are
returned
This process can only be performed by going through the Search Engine. If there is no information for a specific
property in the Search Engine, no value will be returned and a warning and a status for this property will be
generated.
Limitation: please note that as Amadeus HSE is not support multiple room search, the Search By Lowest Rate
won't support multiple room search.
Special cases:
• Search by Special Rates:
When the Search by Lowest Rate is combined with a Search by Special Rate and a "public" rate is cheaper
than the requested special rate, the public rate will be returned.
• Search by MultiOccupancy:
When the Search by Lowest Rate is combined with a Search by MultiOccupancy the sorting will be based on
the cheapest product, no matter if occupancy is 1 or 2, which means that the cheapest rate is returned first and
then in addition the additionally requested Occupancy will follow immediately in the response. Furthermore two
rates are returned per property one for occupancy 1 and one for occupancy 2.
• Scrolling:
Please note that "Search by lowest rate" is not compliant with Mark-up. Therefore, the returned properties
are ordered by price before mark-up. Please refer to "3.18 Reply Sub Structure: Mark-up Information" for
information concerning Mark-up.
2.16.1 Description
Products can be selected based on their board basis. The mandatory parameters must be included as defined
in the section "2 Building A Query".
The functionality is triggered by the following element:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RatePlanCandidates/RatePlanCandidate/MealsIncluded
2.17.1 Description
Several identical products can be requested. The mandatory parameters must be included as defined in the
section "2 Building A Query".
Please note "Multiple Identical Rooms" must be considered as rooms with the same occupancy and
characteristics (Cancellation policies, room type, meals included, payment methods, ...). Occupancy refers to
the count of guests, including children. For example, 2 rooms will be considered as multiple identical if they
have occupancy of 1 Adult and 1 Child in each room.In case of children having different ages (same count),
it is suggested to send max of child age in the request.
Both Leisure and GDS supports children occupancy in Multiple Identical Rooms Search. To trigger this
functionality the request must
• have only one RoomStayCandidate element.
• Infosource.
• the attribute @Quantity must contain the number of rooms wanted:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RoomStayCandidates/RoomStayCandidate/@Quantity
Note: The minimum number of rooms is 1 whereas the maximum is 9.
In the response, the same quantity of rooms requested is shown in the field
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/@NumberOfUnits
and it informs the user about the quantity of rooms reflected in this element:
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Total
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
the same number of rooms he has asked for at the availability stage.
For Multiple non identical rooms the quantity field needs to be incremented according to the number of rooms
requested by repeating the element:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment
Each AvailRequestSegment must be seen as a different desired room configuration. There is an exception for
the first AvailRequestSegment which must hold the search criterion in addition to the room configuration.
Note: Please be aware, that the field @RoomID at level:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RoomStayCandidates/RoomStayCandidate
must be seen as an identifier for each of the room configurations desired by the client. It must be unique per
MultiSingle Availability request. The @RoomID will be mirrored in the response in order to be able to match
the requested room configuration with the returned product.
The @RoomID is mirrored in:
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/RoomRateDescription/@CreatorID
Please see the example below where 2 rooms have been requested, 1 room for a couple and another room
for a couple and a child. The roomid has been set to 1 for the first room configuration and 2 for the 2nd room
configuration. Please use the same structure at the pricing stage.
2.19.1 Description
Products can be selected based on their occupancy. The mandatory parameters must be included as defined
in the section "2 Building A Query".
This kind of search allows the user to request products matching the number and type of guests that will occupy
the room. Three main cases must be distinguished by the type of content requested:
• GDS content
◦ Does support children
◦ Up to 9 occupants(including adults and non-adults) are supported (some hotel chains may have
a maximum even lower than 9 occupants)
◦ At least one adult is required in the room.
◦ Children age is always mandatory.
◦ Maximum occupancy for a room varies as per GDS chain.
◦ The maximum age accepted for a child can be different for different chains. It will be converted
to adult if needed.
◦ Infants are considered as children irrespective of GDS chain.
• Leisure content
◦ Does support children
◦ At least one adult is required in the room
◦ Children age is always mandatory
◦ Maximum occupancy can vary for different aggregators. It’s up to aggregators to define their
maximum (Some aggregators may have a maximum even lower than 9 adults).
◦ The maximum age accepted for a child can be different per hotel aggregator. It will be converted
to adult if needed.
• MultiSource content
◦ The rules defined above for Distribution and Leisure apply depending on the content source of
the property.
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" Quantity="1" >
<GuestCounts IsPerRoom="true" >
<GuestCount AgeQualifyingCode="10" Count="2" />
<GuestCount AgeQualifyingCode="8" Count="1" Age="12" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.20.1 Description
Properties can be selected based on their phone number. The mandatory parameters must be included as
defined in the section "2 Build A Query".
It provides the possibility to partially define the phone number rather than providing it completely.
Therefore, there are two different manners to specify the telephone number searched for:
• Partially definition (i.e. 918023970). The system retrieves properties which phone number contains the
input
• First or last digits (i.e. 9180239*). The system retrieves properties which phone number starts by the
defined number in input
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.21.1 Description
Properties can be selected based on their geo coordinates. The mandatory parameters must be included as
defined in the section "2 Build A Query".
There are two different ways to define the center of the circle (reference point) which will be explored during
the search:
• Longitude / Latitude: The user must provide the absolute coordinates of the geo-point in ISO 6709
representation
• Amadeus Point of Reference: The user can specify the center of the search using one point of reference
among the available points of reference in the Amadeus databases. The list of the available points of
reference can be fetched using the web service “Point Of Ref”
In addition to the center of the circle, a radius is also required as it will be shown in the following subsections.
Search by point of reference using absolute coordinates
In this case, the user must provide longitude and latitude represented in ISO6709 (Degrees) with a precision
of 5 decimals multiplied by 10000.
Example:
Coordinates of Paris city center: Latitude = 48.856548; Longitude = 2.351073
Amadeus OTA Representation: Latitude = 4885654; Longitude = 235107
Main elements and attributes to perform the search:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Position
• @Latitude
• @Longitude
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Radius
• @Distance: Numeric value (max. 300)
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/CodeRef
• @LocationCode: IATA location
• @CodeContext: Set to "IATA"
And:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Radius
• @Distance: Numeric value (max. 300)
• @DistanceMeasure: Indicates if the search should be sorted by distance or random
◦ DIS: sorted by distance
◦ RND: random
• @UnitOfMeasureCode: Unit of distance
◦ 1: Miles
◦ 2: Kilometers
Limitations:
• If Search by Area is used then Search by Point of Reference overrides the search criteria.
The properties of a predefined property list are specified by up to 99 repetitions of the element
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion[2]/HotelRef
• @ChainCode: This value corresponds to a 2 character Amadeus chain code.
• @HotelCode: Amadeus hotel code of 8 characters
• @HotelCityCode: 3 character IATA City Code of the hotel
• @HotelCodeContext: Source of the hotel code, needs to be set to "1A"
The properties defined in the request do not necessarly have to belong to the same city, which provides you
with flexibility to select the properties that better match your client needs.
Dupes mechanism activation/deactivation: When performing a MultiSource content type search, duping logic
is activated by default. It's possible to deactivate that logic in the context of "Search by Chain" and "Search
by Predefined Property List". To do so, you will need to set OTA_HotelAvailRQ/AvailRequestSegments/
AvailRequestSegment/HotelSearchCriteria/Criterion@AlternateAvailability="Never".
Note: Please be aware that in case of MultiSource content, representations of a physical property matching
search criteria will be returned. Therefore you may end up with properties not matching requested chain code,
city code, property code.
Note: The search by budget is currently not supported when combined with a search by predefined property
list. Therefore, budget criteria won't be taken into account to filter out products out of budget.
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.23.1 Description
• Products can be selected based on their rate plan code. The mandatory parameters must be included
as defined in the section "2 Building A Query".
The functionality is triggered by the following attribute, which can be repeated up to 8 times:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RatePlanCandidates/RatePlanCandidate/@RatePlanCode
To use this option, at least one special rate code (e.g. IBM) has to be requested via the RatePlanCode attribute.
When a search by special rate is received, Amadeus performs a first check to identify what hotel chains have
loaded the requested special rate(s) in the Amadeus system, only these chains will be queried for availability.
Before sending the availability request to these hotel chains, Amadeus will also verify whether the user OfficeID
is authorized to retrieve the requested rate code(s) from these hotel chains. If the user is not authorized, a
dedicated warning will be returned in the response. Please refer to "Section: Reply Sub Structure: Warning
Information"
Note:
- please be aware that availability response will not only contain requested special rates but also public rates,
- furthermore it can occur that the retrieved rate plan codes do not match the requested ones.
</RatePlanCandidates>
<RoomStayCandidates>
<RoomStayCandidate RoomID="1" >
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomStayCandidate>
</RoomStayCandidates>
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.24.1 Description
Properties can be selected based on a third party rating. The mandatory parameters must be included as
defined in the section "2 Build A Query".
Amadeus Hotel Platform (AHP) has the ability to store several hotel ratings from different rating providers. It
provides the possibility to select those properties matching the hotel ratings requested.
Up to 4 Third Party Ratings can be request, for which an "OR" logic is applied.
The hotel rating providers supported by Amadeus are:
• AAA: American Automobile Association
• MOB: Mobil Hotel Star Rating Criteria
• MIC: Michelin
• LSR: Local Star Rating
• OHG : Official Hotel Guide
• NSM: North Start Media
Different hotel rating measurement units are used by each provider. At the moment they are:
• 1 to 5 rating.
◦ Providers:
▪ AAA
▪ MOB
▪ MIC
▪ LSR
▪ NSM
◦ Logic
▪ 1: Lowest Rating
▪ 5: Highest Rating
• OHG Rating
◦ Provider:
▪ OHG
◦ Logic:
▪ D: Deluxe Class
▪ F: First Class
▪ T: Tourist Class
If the Local Star Rating (LSR) is used, the following mapping is applied for properties without LSR:
Hotel Category Local Star Rating
Tourist 1/2
Standard 3
First 4
Luxury 5
In order to perform such request the following elment must be used:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Award
where the rating provider has to be defined in:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Award/
@Provider
and the rating level in:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/Award/
@Rating
</Criterion>
</HotelSearchCriteria>
</AvailRequestSegment>
</AvailRequestSegments>
</OTA_HotelAvailRQ>
2.25.1 Description
To increase the cash inflow for GDS properties, the new business structure proposed will now allow these
properties to be booked using Prepay rate. With this payment option, the user will pay the entire booking amount
in advance, in order to confirm the booking.
To do so, the request will have the the following PrepaidQualifier defined in any one of the RatePlanCadidates:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/HotelSearchCriteria/Criterion/
RatePlanCandidates/RatePlanCandidate@PrepaidQualifier : ‘IncludePrepaid’
If the PrepaidQualifier = "ExcludePrepaid" and the provider sends Prepay rates, the system will convert it into
Deposit in the requesting system and display.
PrepaidQualifier = “PrepaidOnly” is not supported currently. If this is sent, the system would treat it as
“ExcludePrepaid”.
3 Receiving A Reply
This section lists the information which can be returned in the MultiSingle response. The level of detail of the
returned information, at product and property level, may differ depending on the different content sources.
Basic attributes returned:
The MultiSingle availability response contains the following mandatory attributes at
OTA_HotelAvailRQ root level:
1. @EchoToken: is set to “MultiSingle”.
2. @Version: the version of the message used.
3. @PrimaryLangID: specifies the language, this is the same value as in the request.
Possible outcomes
• Success:
◦ If Amadeus Hotel Platform was able to retrieve some of the requested content, the response will
contain
the success element along with the availability information. The following element is used:
OTA_HotelAvailRS/Success
• Warning:
◦ If any warnings are encountered during the retrieval of the available content informative warnings
will be added in the response. However, the transaction was correctly processed. The following element
is used:
OTA_HotelAvailRS/Warnings
• Error:
◦ If any internal or external errors occur during the process, which prevent Amadeus Hotel Platform
to retrieve content an informative error elements will be attached. The following element is used:
OTA_HotelAvailRS/Errors
• Timout:
◦ A response taking longer than 40 seconds indicates that a timeout has occurred.
Note: Please be aware, that if a hotel chain is not Total Pricing participant, the total amount after tax might
OTA_HotelAvailRS/RoomStays/RoomStay/Total
Therefore the best practice is to calculate an approximate total rate. An indication should be shown to the
end user.
Alternate Properties:
If a selected property is not available, a provider can return an alternate property, this is indicated in the
response by the following attribute:
OTA_HotelAvailRS/RoomStays/RoomStay/@IsAlternate
Note: Please be aware, that this only applies for Distribution content.
Overview of the main parts of the response structure:
Note: The examples provided in the following sub structures just show the concerned elements.
◦ Note: Please be aware that the data type is "Duration" which is compliant with the W3C standards
• @MaxAdvanceBookingOffset: Maximum number of days before the check-in date when the product
can be booked
◦ Note: Please be aware that the data type is "Duration" which is compliant with the W3C standards
In order to avoid duplicate information, the advance booking information is returned for the first rate occurrence
only. If there are more occurrences of the same rate then the same restriction as described in the
identical rate applies.
Several cancellation policies can apply for the same product. Each of them is returned in a repetition of the
following element
• OTA_HotelAvailRS/RoomStays/RoomStay/RatePlans/RatePlan/CancelPenalties/CancelPenalty
Note: The information returned can vary depending on the content source. The complete cancellation
information is returned in the Pricing. Please, be noticed that cancellation information might not be structured
and could be received as freeflow text.
Modification policies
The modification policies applicable to a product are returned in the following element:
OTA_HotelAvailRS/RoomStays/RoomStay/RatePlans/RatePlan/ModificationFee
This element can convey the following information:
• @CancelPoliciesIndicator: 3 cases to distinguish
◦ Value set to “No”: this means that there is no modification policy which applies
◦ Value set to “Yes” or attribute not used: this means that there is at least one modificationpolicy
which applies.
Several cancellation policies can apply for the same product. Each of them is returned in a repetition of the
following element
• OTA_HotelAvailRS/RoomStays/RoomStay/RatePlans/RatePlan/ModificationFee/CancelPenalty
Note: The information returned can vary depending on the content source. The complete modification
information is returned in the Pricing.
OTA_HotelAvailRS/RoomStays/RoomStay/Reference
• @Type: Set to 16
• @ID: Unique physical identifier. The format is [physicalID].[MasterChain].[MasterProperty] where:
◦ PhysicalID: Unique physical property identificator
◦ MaterChain (Optional): Amadeus GDS chain code
◦ MasterProperty (Optional): Amadeus GDS Property code
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate/PaymentPolicies
The first .../GuaranteePayment element contains only:
• @PaymentCode: For Guarantee, value set to 31. For Deposit, value set to 8.
• Deadline:
◦ @AbsoluteDeadline: Deadline associated to the guarantee form of payment.
If the first .../GuaranteePayment element is used for the above mentioned information, the following
GuaranteePayment elements are used for the form of payments. Each GuaranteePayment elment contains
one form of payment.
Following the different types of information associated to a form of payment are explained:
• GuaranteePayment: This element contains one form of payment.
◦ @PaymentCode: For Guarantee, value set to 31. For Deposit, value set to 8.
◦ @GuaranteeType: Value set to "GuaranteeRequired" or "Deposit".
• AmountPercent:
◦ @Amount: Amount/Fee associated to the form of payment. This is a flat amount.
◦ @CurrencyCode: Currency associated to the amount.
• Deadline:
◦ @AbsoluteDeadline: Deadline associated to the form of payment.
• BankAcct: When returned with @CheckAcceptedInd set to "true", it means that checks are accepted.
• Cash: Indicates that cash is accepted as guarantee through the @CacheIndicator field.
<OTA_HotelAvailRQ>
<RatePlans>
<RatePlan RatePlanCode="RAC" RateIndicator="AvailableForSale" RatePlanName="HRS-Rate"
AvailabilityStatus="AvailableForSale" >
<Guarantee GuaranteeCode="31" >
<GuaranteesAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="DC" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="VI" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="CA" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="AX" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="JC" />
</GuaranteeAccepted>
</GuaranteesAccepted>
</Guarantee>
<Guarantee HoldTime="18:00:00" />
<CancelPenalties>
<CancelPenalty PolicyCode="Cancellation" >
<Deadline AbsoluteDeadline="2013-12-15T17:01:00" />
<AmountPercent NmbrOfNights="1" />
<PenaltyDescription>
<Text>The cancellation policy only applies for guaranteed bookings.</Text>
</PenaltyDescription>
</CancelPenalty>
</CancelPenalties>
<Commission StatusType="Commissionable" Percent="4.00" />
<MealsIncluded Breakfast="0" MealPlanCodes="14" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate BookingCode="1973830793" RoomTypeCode="ROH" NumberOfUnits="1"
RatePlanCode="RAC" AvailabilityStatus="AvailableForSale" >
<Rates>
<Rate EffectiveDate="2013-12-15" ExpireDate="2013-12-16" NumberOfUnits="1"
RateTimeUnit="Day" MinLOS="0" >
<Base AmountBeforeTax="119.00" CurrencyCode="EUR" />
<PaymentPolicies>
<GuaranteePayment PaymentCode="31" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="DC" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
<GuaranteePayment PaymentCode="31" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="VI" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
<GuaranteePayment PaymentCode="31" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="CA" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
<GuaranteePayment PaymentCode="31" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="AX" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
<GuaranteePayment PaymentCode="31" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard CardCode="JC" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
<GuaranteePayment HoldTime="18:00:00" />
</PaymentPolicies>
</Rate>
</Rates>
<RoomRateDescription Name="Room ROH" CreatorID="1" >
<Text Formatted="1" >HRS-Rate</Text>
<Text Formatted="1" >CTM. Guests arriving after 18.00 (local time) must provide a,
guarantee.</Text>
<Text Formatted="1" >Standard room</Text>
<Text Formatted="1" >Classic Biedermeier Double Room with 1 queen-si, ze bed</Text>
</RoomRateDescription>
<Total AmountAfterTax="119.00" CurrencyCode="EUR" AdditionalFeesExcludedIndicator="0" >
<Taxes>
<Tax Type="Inclusive" Code="3" Percent="3.20" ChargeUnit="19" >
<TaxDescription>
<Text Formatted="1" >City tax</Text>
</TaxDescription>
</Tax>
</Taxes>
</Total>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomRate>
</RoomRates>
</OTA_HotelAvailRQ>
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Position
Position 0..1 Returned only
if geocoding
or reference point or
distances search
@Longitude 1 StringLength 1-16
(not min sec …)
@Latitude 1 StringLength 1-16
(not min sec …)
@PositionAccuracyCode 0..1 Indicates the accuracy OTA Code Type PAC
of the property’s geo-
coding, since the
property’slongitude and latitude may
not always be exact.
• Hotel short address
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Address
5 Address 0..1 Public Address of
the hotel property
@FormattedInd 1 When true, then it Boolean
is formatted; when
false, then not
formatted.
@Remark 0..1 Charactarise StringLength 1-128
the fiability of
geocodes in
BasicPropertyInfo/
Position
6 StreetNmbr 0..1 May contain the StreetNumberType
street number and
optionally the
street name.
6 BldgRoom 0..2 Building Name, StringLength0-64
Room, Appartment,
or Suite number
6 AddressLine 0..5 When the address is StringLength 1-255
unformatted
(FormattedInd="false")
these lines will
contain free
form address details.
When the address is
formatted and
street number and
street name must
be sent
independently, the
street number will
be sent using
StreetNmbr, and
the street name will
be sent in the
first AddressLine
occurrence.
6 City Name 0..1 City or town name StringLength 1-64
6 Postal Code 0..1 Post office code number
AlphaNumericLength
2-10
6 County 0..1 County or region StringLength 1-32
name
6 State Prov 0..1 State or province
name
@State Code 1 AlphaLength 2
6 CountryName 0..1
@Code 1 ISO3166 code for a AlphaLength 2
country
• Hotel contact numbers
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/ContactNumbers
5 ContactNumbers 0..1
6 ContactNumber 0..n
@PhoneNumber 1 Telephone number assigned
AlphaNumericLength
to a single location. 2-10
@PhoneTechType 0..1 Identify OTA Code Type
the phone technology PTT
(E.g, Voice, fax…)
OTA code PTT
• Hotel rating
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Award
5 Award 0..3
@Provider 0..1 The name of the StringLength 1-3
award: AAA, MOB,
MIC, LSR, NSM
For Hotel
Store category LSR
is the only
one used (with
value)
@Rating 0..1 Rating value NumericLength 1
Value 1 to 5
For AAA, MOB,
MIC, LSR,
NSM, value possible
are 1 to 5
For
OHG value possible
are D, F, T
• Hotel relative position
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/RelativePosition
Uses value N,S,E,W
If distance is
exact value then indicator is
set to false.
Default value is
False
• Hotel transportation
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/RelativePosition/Transportations
6 Transportations 0..1
7 Transportation 1..n Directions to/from a
specific location for
a mode of travel
@TransportationCode1 Mode of OTA Code Type
transportation TRP
• Hotel amenity / recreation / service
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/HotelAmenity
5 HotelAmenity 0..n
@Code 1 Refer to OTA Code OTA Code Type
List Hotel Amenity HAC
Code (HAC).
One additional
Hotel Amenity can
be used for search
with FireSafety
indicator
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/HotelFeature
@SecurityFeatureCode
0..1 Identifies OTA Code Type
a security feature at SEC
a property
@AccessibilityCode 0..1 Identifies an OTA Code Type
accessibility feature PHY
for a property
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Recreation
Recreation 0..n
@Code 1 Refer to OTA Code List OTA Code Type RST
Hotel Amenity Code
(RST).
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Recreation
5 Recreation 0..n
@Code 1 Refer to OTA Code OTA Code Type
List Hotel Amenity RST
Code (RST).
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/Service
5 Service 0..n
@BusinessServiceCode
1 Refer to OTA OTA Code Type
Code List BUS BUS
(only code BUS
here)
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/HotelMeetingFacility
5 HotelMeetingFacility 0..n
@MeetingRoomCount Total number of
meeting rooms
provided at the hotel
facility.
@LargestSeatingCapacity The largest seating
capacity in the
largest meeting
room
@LargestRoomSpace The amount of
room space for
the largest unique
meeting room
@UnitOfMeasureCode Unit of measure OTA Code Type
code UOM
@MeetingRoomCode OTA Code Type OTA Code Type
MRC MRC
</BasicPropertyInfo>
Total amount
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate/Total/
• @AmountIncludingMarkup: This attribute provides daily price including Travel Agency Mark-Up. This
amount computation details are available in the "Mark-up amount calculation" section here after.
• @RateOverrideIndicator: If it is set to "true", the manual Mark-Up is available, otherwise the Mark-Up
cannot be modified manually. This flag is closely related with the Amadeus Office ID attribute HMM (Hotel
Manual Mark-Up) and the settings done through the Amadeus Mark-Up tool UI.
• @AmountBeforeTax: This amount is kept unmodified and shows the amount before taxes not including
the mark-up.
• @AmountAfterTax: This amount is kept unmodified and shows the amount after taxes not including
the mark-up.
Markup Currency
The Amounts with Markup are expressed in Provider's currency for any GDS or NON Amadeus Value Hotel
Leisure property.
For Amadeus Value Hotel leisure properties amounts are expressed in Travel agent‘s currency. (The Travel
Agent currency is a LSS preferrence attached to the office ID of the Travel agent).
<RoomRates>
<RoomRate BookingCode="C1DRAC" RoomTypeCode="C1D" NumberOfUnits="1"
RatePlanCode="RAC" AvailabilityStatus="AvailableForSale" >
<Rates>
<Rate EffectiveDate="2014-02-07" ExpireDate="2014-02-08" RateTimeUnit="Day" >
<Base AmountAfterTax="470.00" CurrencyCode="EUR" RateOverrideIndicator="1"
AmountIncludingMarkup="480.00" />
</Rate>
</Rates>
<RoomRateDescription Name="Room C1D" >
<Text Formatted="1" >Rack rate</Text>
<Text Formatted="1" >Classic Room with 1 double bed</Text>
</RoomRateDescription>
<Total AmountAfterTax="470.00" CurrencyCode="EUR" RateOverrideIndicator="1"
AmountIncludingMarkup="480.00" />
</RoomRate>
</RoomRates>
<Total AmountAfterTax="470.00" CurrencyCode="EUR" AdditionalFeesExcludedIndicator="1"
RateOverrideIndicator="1" AmountIncludingMarkup="480.00" />
</RoomStay>
In some cases, freeflow information regarding the special services offered by the hotel might be found by
repetitions of the element:
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/VendorMessages/VendorMessage
where the attribute is set to:
OTA_HotelAvailRS/HotelStays/HotelStay/BasicPropertyInfo/VendorMessages/VendorMessage/
@InfoType="15"
Additionally, the room rate might include a list of board types, which they can be included or not. They are
shown as repetitions of the attribute:
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/ServiceRPHs/ServiceRPH/@RPH
• It references to service elements OTA_HotelAvailRS/Services/Service through the attribute:
◦ OTA_HotelAvailRS/Services/Service/@ServiceRPH
Please refer to the sub structure "Service Information" for a detailed information of the element.
Note: The level of detail in the meal information depends of the data received by Amadeus from the hotel
content providers. Please consider the possibility of not receiving some the attributes in the service element.
Some of them are optional as shows the OTA XSD.
Description:
For Expedia Affiliate Networks (Aggregator XD), the user can search for multiple non-identical rooms. The non-
identical rooms are defined based on the guest count of the rooms requested.
Examples of non-identical occupancy:
Room 1 – 1 Adult
Room 2 – 2 Adults
Room 3 – 1 Adult 1 Child
The available room types for the number of rooms requested, will be displayed as packaged by Expedia Affiliate
Network. For example:
Room 1 Room 2 Room 3
Double superior 207EUR Double Superior 207EUR Double Superior 207EUR Selected
Superior double room Superior Double Room Superior Double Room Select
208EUR 208 EUR 208 EUR
Double superior with Double superior with Double superior with Select
views 251EUR views 251EUR views 251EUR
The user will not be able to mix-and-match any room from the different packages available.
Assumptions:
• This functionality will work seamlessly, when the booking code of the rooms returned are the same.
• The rooms clubbed in a package will be equally priced.
The structure for the number of rooms consists of the following information:
5 RoomStayCandidates0..1 Room definition not
mandatory
6 RoomStayCandidate 0..1
@RoomTypeCode 0..1 StringLength 1-3
@Quantity 0..1 Multiple identical or NumericLength 1
non-identical rooms
7 GuestCounts 0..1
@isPerRoom 0..1 True, all guests Boolean
share the same
room
8 GuestCount 1..n One mandatory for
adult
</Rate>
</Rates>
<RoomRateDescription CreatorID="1" >
<Text>Junior Suite 1 king and 1 sofa bed Free Wireless Internet Free Breakfast</Text>
</RoomRateDescription>
<Total AmountAfterTax="323.05" AmountBeforeTax="291.82" CurrencyCode="EUR" />
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
</RoomRate>
</RoomRates>
<TimeSpan End="2018-08-17" Start="2018-08-16" />
<Total AmountAfterTax="323.05" CurrencyCode="EUR" />
<BasicPropertyInfo ChainCode="XD" HotelCityCode="PAR" HotelCode="203408"
HotelCodeContext="1A" />
</RoomStay>
<RoomStay AvailabilityStatus="AvailableForSale" >
<RatePlans>
<RatePlan AvailabilityStatus="AvailableForSale" PrepaidIndicator="1" RatePlanCode="PKG"
RatePlanName="PublicRate" >
<CancelPenalties CancelPolicyIndicator="true" >
<CancelPenalty PolicyCode="Cancellation" >
<Deadline AbsoluteDeadline="2018-08-13T00:01:00+02:00" />
<AmountPercent Amount="323.05" CurrencyCode="EUR" />
</CancelPenalty>
</CancelPenalties>
<Commission StatusType="Full" >
<CommissionPayableAmount Amount="28.54" CurrencyCode="EUR" />
</Commission>
<MealsIncluded MealPlanCodes="3" MealPlanIndicator="true" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate AvailabilityStatus="AvailableForSale"
BookingCode="90876*208655129*MerchantPackage*A9012SD_085532_P*67*646.10*E*EUR*en_US*2.16.52.
NumberOfUnits="1" RatePlanCode="PKG" RoomTypeCode="ROH" >
<Rates>
<Rate EffectiveDate="2018-08-17" ExpireDate="2018-08-16" NumberOfUnits="1"
RateTimeUnit="Day" >
<Base AmountBeforeTax="145.91" CurrencyCode="EUR" />
<PaymentPolicies>
<GuaranteePayment GuaranteeType="Deposit" PaymentCode="8" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard Remark="TravelAgent Immediate" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
</PaymentPolicies>
</Rate>
</Rates>
<RoomRateDescription CreatorID="2" >
<Text>Junior Suite 1 king and 1 sofa bed Free Wireless Internet Free Breakfast</Text>
</RoomRateDescription>
<Total AmountAfterTax="323.05" AmountBeforeTax="291.82" CurrencyCode="EUR" />
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="2" />
</GuestCounts>
</RoomRate>
</RoomRates>
<TimeSpan End="2018-08-17" Start="2018-08-16" />
<Total AmountAfterTax="323.05" CurrencyCode="EUR" />
<BasicPropertyInfo ChainCode="XD" HotelCityCode="PAR" HotelCode="203408"
HotelCodeContext="1A" />
</RoomStay>
<RoomStay AvailabilityStatus="AvailableForSale" >
<RatePlans>
<RatePlan AvailabilityStatus="AvailableForSale" PrepaidIndicator="1" RatePlanCode="PKG"
RatePlanName="PublicRate" >
<CancelPenalties CancelPolicyIndicator="true" >
<CancelPenalty PolicyCode="Cancellation" >
<Deadline AbsoluteDeadline="2018-08-13T00:01:00+02:00" />
<AmountPercent Amount="323.05" CurrencyCode="EUR" />
</CancelPenalty>
</CancelPenalties>
<Commission StatusType="Full" >
<CommissionPayableAmount Amount="28.54" CurrencyCode="EUR" />
</Commission>
<MealsIncluded MealPlanCodes="3" MealPlanIndicator="true" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate AvailabilityStatus="AvailableForSale"
BookingCode="90876*208655129*MerchantPackage*A9012SD_085532_P*70*646.10*E*EUR*en_US*2.16.52.
NumberOfUnits="1" RatePlanCode="PKG" RoomTypeCode="ROH" >
<Rates>
<Rate EffectiveDate="2018-08-17" ExpireDate="2018-08-16" NumberOfUnits="1"
RateTimeUnit="Day" >
<Base AmountBeforeTax="145.91" CurrencyCode="EUR" />
<PaymentPolicies>
<GuaranteePayment GuaranteeType="Deposit" PaymentCode="8" >
<AcceptedPayments>
<AcceptedPayment>
<PaymentCard Remark="TravelAgent Immediate" />
</AcceptedPayment>
</AcceptedPayments>
</GuaranteePayment>
</PaymentPolicies>
</Rate>
</Rates>
<RoomRateDescription CreatorID="1" >
<Text>Junior Suite 2 twin and 1 sofa bed Free Wireless Internet Free Breakfast</Text>
</RoomRateDescription>
<Total AmountAfterTax="323.05" AmountBeforeTax="291.82" CurrencyCode="EUR" />
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="3" />
</GuestCounts>
</RoomRate>
</RoomRates>
<TimeSpan End="2018-08-17" Start="2018-08-16" />
<Total AmountAfterTax="323.05" CurrencyCode="EUR" />
<BasicPropertyInfo ChainCode="XD" HotelCityCode="PAR" HotelCode="203408"
HotelCodeContext="1A" />
</RoomStay>
</RoomStays>
</OTA_HotelAvailRS>
<RatePlans>
<RatePlan RatePlanCode="UK3" RateIndicator="AvailableForSale"
AvailabilityStatus="AvailableForSale" >
<Guarantee GuaranteeCode="4" GuaranteeType="Prepay" > </Guarantee>
<Commission StatusType="Commissionable" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate BookingCode="B2TUK3B" RoomTypeCode="B2T" >
<Rates>
<PaymentPolicies>
<GuaranteePayment PaymentCode="4" GuaranteeType="Prepay" />
</PaymentPolicies>
</Rates>
</RoomRate>
</RoomRates>
</RoomStay>
</RoomStays>
</OTA_HotelAvailRS>
◦ OtherAvailable: The rate plan (or all rate plans pertaining to the rate category) is (are) not currently
available at the hotel.
◦ AvailableForSale: The rate plan (or at least one rate plan pertaining to the rate category) is currently
available at the hotel.
◦ OnRequest: The rate plan (or at least one rate plan pertaining to the rate category) is On-Request
at the hotel
• @PriceViewableInd: When value is set to true it indicates that the rate is confidential.
• @QualificationType: Defines the type of document which should be present at check-in time.
Commission information
Commission information might be returned. Please refers to the sub structure "Commission Information" for
more details.
◦ When the booking code is not defined the attribute .../Rates/Rate/@RateMode@RateMode is set
to 1 (Minimum), this can only occur in case of content soure Amadeus Hotel Search Engine.
• @RoomTypeCode: Identifier of the room used based on 3 characters.
◦ The first character identifies the room type category.
◦ The second numeric character identifies the number of beds.
◦ The third character identifies the bed type.
◦ There is a special case where ROH is returned, this value stands for Run of House.
• @NumberOfUnit: Number of rooms requested (associated to the roomrate returned). If the value is 2,
it means that 2 rooms of this type were requested and the response will reflect the requested value.
• @RatePlanType: Amadeus rate plan type identification through the OTA category RPT.
• @RatePlanCode: Amadeus rate plan code identification.
• @RatePlanCategory: This attribute contains the rate code family grouping various rate plan codes
belonging to the same family. @RatePlanCategory="Converted:XXX:Y" is returned If the rate code family
"XXX" is associated to provider's rate. "Y" is Rate type, which can be:
◦ P: Public rate
◦ C: Conditional rate
◦ N: Negotiated
"Converted:" is added as indicator showing that the family rate and rate type comes from Amadeus and no
from provider.
• @RatePlanID: Corporate discount number of the product if any.
• @AvailabilityStatus: This is to identify the status of the product. Currently, the system returns only
AvailableForSale products or OnRequest products. Closed products can’t be returned individually, it’s only
the global property which can be returned as closed (not through this indicator).
Rate element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate
This element conveys information about possible rate changes and the applicable dates.
• @EffectiveDate: Begin date of the rate date range.
• @ExpireDate: End date of the rate date range.
• @NumberOfUnits: Remaining number of rooms (normally not filled correctly, due to dependence on
hospitality providers).
• @RateTimeUnit: Pricing frequency, possible values "Year", "Month", "Week", "Day". If not present, the
related information should be considered as applicable per day for this rate day range.
• @MinLOS: Minimum length of stay, this information is only given in the first occurrence of the rate
change.
• @MaxLOS: Maximum length of stay, this information is only given in the first occurrence of the rate
change.
• @RateMode: Is only present in case the booking code is not present.
• @RateSource: Indicates that the rate is the best available rate (BAR program).
Base element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Rates/Rate/Base
This element conveys the amount of the daily rate that applies for the dates defined in the Rate element.
PaymentPolicies element
Please refer to the sub structure Forms of Payment Information.
RoomRateDescription element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/RoomRateDescription
This element conveys a description regarding the room and the rate.
• @Name: Name of the room.
• @CreatorID: Room identifcation corresponding to the requested room
configuration OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment/RoomStayCandidates/
RoomStayCandidate/@RoomID.
• .../Text: Freeflow description of the room and rate.
Features element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Features
This element can contain a repetition of the feature element,
.../Feature
it provides information about room amenities (OTA code group RMA) and room view types (OTA code group
RVT), in addition a freeflow description can be returned.
• @RoomAmenity: Defines a room amenity associated to the rate plan / product (OTA code group RMA).
• @RoomViewCode: Specifies the type of view a room has (OTA code group RVT).
• .../Description/Text: Description.
Total element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Total
Due to the dependency on hospitalty providers, this element is not mandatory and it cannot guaranteed that
it will be returned.
• @AmountBeforeTax: Total amount of the room taxes excluded At least AmountBeforeTax or
AmountAfterTax is compulsory.
• @AmountAfterTax: Total Amount of the room taxes included. At least AmountBeforeTax or
AmountAfterTax is compulsory.
• @CurrencyCode: Amount currency code. (ISO 4217)
• @DecimalPlaces: Indicates the number of decimal places for a particular currency. (ISO 4217)
• @AdditionalFeesExcludedIndicator: When "true", amounts do not contain additional fees or charges
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/Total/Taxes
This element is not mandatory and can convey a repetition of the element
.../Tax
This element provides information about included or excluded taxes, which apply to the product for given dates
• @Type: Indicates if the amount is inclusive or exclusive.
GuestCount element
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/GuestCounts/GuestCount
This element mirrors the requested occupancy from the request, it indicates the occupancy applicable for the
room.
Note: In specific cases the occupancy returned might not match the requested one, this can occur due to the
fact that some hospitality providers convert children to adults.
• @AgeQualifyingCode: Indicates if the element refers to adults (10) or children (8).
• @Age: Only returned for children occupancy.
• @Count: Number of occupants of the same kind.
Room information
Structured room type details for each room within a RoomStay can be found in the element:
OTA_HotelAvailRS/RoomStays/RoomStay/RoomTypes/RoomType
• @RoomCategory: Defines the category of the room. Refer to OTA Codelist Segment Category Code
(SEG).
• @BedTypeCode: Defines the type of bed in the room. Refer to OTA Codelist Bed Category Code
(BED).
• @RoomClassificationCode: Defines the room accommodation type. Refer to OTA Codelist Guest
Room Information Category Code (GRI).
• @NonSmoking: Defines if it is an Smoking or Non-Smoking room
• @IsConverted: Indicates the provider room type is converted to Amadeus standard when true
• @RoomTypeCode: Room type returned by the provider
• @RoomType: Room type converted to Amadeus standard
• @RoomID: Room identification. Returned only in case of packages. Same value as in
OTA_HotelAvailRS/RoomStays/RoomStay/RoomRates/RoomRate/RoomRateDescription/@CreatorID
This element lists all the different rooms that are part of the room stay. If there is only one room, then only one
room type will be returned. In the case of packages in which several rooms are attached to one RoomStay,
several room types could be returned. Please, note that these details are not mandatory in the response, and
they will be included when possible.
Conversion of the room type:
In order to support our web services customers with an easier way to identify and manage room types, Amadeus
has developed a parsing of the room description supplied by the Hotel Providers which converts key words (or
a combination of key words) detected in the description to a new Room Type Code standard. The information
provided according to this automated conversion is only for informative purposes; therefore, Amadeus shall
not be liable for any possible error.
Taking into account the fact that all Hotel Providers have their own way to describe a room, Amadeus aims
with this development to give webservices customers the tools they need to manage hotel room types. The
parsing methodology works well (or provides good results) when a hotel provider uses a consistent number
of key words. In some instances, however, the parsing is not possible when no key word is found; therefore,
an asterisk “*” is shipped in the response.
The Amadeus Room Type (1A Standard) is made of 3 alphanumeric characters that represent 3 different codes:
• Room Category [A-Z]
• Number of Beds [1-9]
• Bed Type [A-Z]
See below for information on the Room category and Bed types tables:
Room categories New code
Accessible room H
Budget room I
Business room B
Comfort room G
Deluxe room D
Duplex X
Executive room E
Concierge/Executive Suite C
Family room F
Junior Suite/Mini Suite S
Penthouse P
Residential apartment R
Standard M
Studio L
Superior A
Villa V
Unknown *
Bed type code
Double D
King size K
Pull-out P
Queen-size Q
Single S
Twin T
Water bed W
Bed type can vary *
Scrolling flow
The search scrolling indicator is returned in the element OTA_HotelAvailRS/RoomStays/ at the attribute:
• @MoreIndicator: defines if there are other properties not appearing in the actual response. This is a
value representing the next value to target which must be included in the subsequent request
If the user wants to target the next page of results, the user must include the scrolling indicator received in
the previous response in the attribute:
OTA_HotelAvailRQ/AvailRequestSegments/AvailRequestSegment @MoreDataEchoToken
3.18.1 Description
The element ServiceRPH references services related to the product, which might be included or excluded.
Service reference
OTA_HotelAvailRS/RoomStays/RoomStay/ServiceRPHs/ServiceRPH
Service information
The response contains for each referenced service the following element:
OTA_HotelAvailRS/Services/Service
• @ServiceRPH: Contains the unique service identifier
• @ServicePricingType: It indicates how a service is priced. Possible values are "Per stay", "Per person",
"Per Use".
• @Type: Set to 10 (Hotel) by default. Please refer to OTA Code group UIT (Unique ID Type).
• @ServiceInventoryCode: This value is the concatination of the OTA code and the OTA code group.
(e.g. 3.MPT stands for OTA code 3 for Breakfast within the OTA code group MealPlanType)
• @Inclusive: Indicates if the Service is included or not.
OTA_HotelAvailRS/Services/Service/Price
• @EffectiveDate: Begin date of the applicable date range.
• @ExpireDate: End date of the applicable date range
• @RateTimeUnit: Indicates the time unit for the rate. Possible values are "Year", "Month", "Week",
"Day".
• @UnitMultiplier: Indicates the number of rate time units such as "3 Days".
OTA_HotelAvailRS/Services/Service/Price/Base
• @AmountBeforeTax: The amount not including any associated tax.
• @AmountAfterTax: The amount including any associated tax.
• @CurrencyCode: Service amount currency code (ISO 4217)
• @DecimalPlaces: Indicates the number of decimal places.
<Services>
<Service ServicePricingType="Per person per night" ServiceRPH="19" ServiceInventoryCode="3.MPT"
Inclusive="0" Type="10" ID="-" >
<Price EffectiveDate="2013-12-15" ExpireDate="2013-12-16" >
<Base AmountBeforeTax="9.90" CurrencyCode="EUR" />
</Price>
</Service>
<Service ServicePricingType="Per person per night" ServiceRPH="2" ServiceInventoryCode="3.MPT"
Inclusive="1" Type="10" ID="-" >
<Price EffectiveDate="2013-12-15" ExpireDate="2013-12-16" >
<Base AmountBeforeTax="0.00" CurrencyCode="EUR" />
</Price>
</Service>
</Services>
3.19.1 Description
A success response can contain warnings, which identifiy the status of the processed properties and also
abnormal behaviors, which can occur during the processing of a transaction. This information is provided by
repetitions of the following element:
OTA_HotelAvailRS/Warnings/Warning
Each element can convey the following attributes:
• @Type: Always set to 3
• @Status: Concatenation of 2 types of information. The first 3 characters describe whether the
information related to:
The second type of information is the number of properties with the mentioned status (e.g. PRV.12).
• @Code: This attribute provides the OTA error code, it must be noticed that this attribute is optional.
• @Tag: It specifies the condition for the given properties in the @Status attribute:
Even if all properties associated to the request are either in a state in which there is no availability, or an error
occurred for some properties, the response will still be in a success state.
<Warnings>
<Warning Type="3" Status="1AC.2" Tag="OK" />
<Warning Code="175" Status="PRV.1" Tag="ERR" Type="3" />
</Warnings>
4 Error Messages
Note: Please refer to the error code section in the Open Travel Code (OTA) List 2011B to get the full list, which
is part of the OTA interface specification.
5 Operations
<AddressLine>PRATERSTRASSE 1</AddressLine>
<CityName>VIENNA</CityName>
<PostalCode>1020</PostalCode>
<CountryName Code="AT" />
</Address>
<RelativePosition>
<Transportations>
<Transportation TransportationCode="20" />
</Transportations>
</RelativePosition>
</BasicPropertyInfo>
</HotelStay>
</HotelStays>
<RoomStays>
<RoomStay SourceOfBusiness="Two Step.PricingOptional.PriceNotGuaranted.InvNotGuaranted"
AvailabilityStatus="AvailableForSale" InfoSource="1A" RPH="0" >
<RatePlans>
<RatePlan RatePlanCode="15A" RateIndicator="AvailableForSale"
AvailabilityStatus="AvailableForSale" >
<Guarantee GuaranteeCode="8" GuaranteeType="Deposit" >
<GuaranteesAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="AX" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="CA" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="DC" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="EC" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="IK" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="VI" />
</GuaranteeAccepted>
</GuaranteesAccepted>
</Guarantee>
<CancelPenalties CancelPolicyIndicator="1" >
<CancelPenalty PolicyCode="Cancellation" />
</CancelPenalties>
<Commission StatusType="Commissionable" Percent="10.00" />
<MealsIncluded Breakfast="0" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate BookingCode="B1K15A" RoomTypeCode="B1K" NumberOfUnits="1"
RatePlanCode="15A" AvailabilityStatus="AvailableForSale" >
<Rates>
<Rate EffectiveDate="2013-12-28" ExpireDate="2013-12-29" RateTimeUnit="Day" >
<Base AmountAfterTax="368.00" CurrencyCode="EUR" />
<PaymentPolicies>
<GuaranteePayment PaymentCode="8" GuaranteeType="Deposit" />
</PaymentPolicies>
</Rate>
</Rates>
<RoomRateDescription Name="Room B1K" >
<Text Formatted="1" >Advance Purchase Rate</Text>
<Text Formatted="1" >SUPERIOR ROOM, queen-size bed, view of the Ferr</Text>
<Text Formatted="1" >is wheel</Text>
</RoomRateDescription>
<Total AmountAfterTax="368.00" CurrencyCode="EUR" />
<ServiceRPHs>
<ServiceRPH RPH="0" />
</ServiceRPHs>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
<TimeSpan Start="2013-12-28" End="2013-12-29" >
<StartDateWindow DOW="Sat" />
<EndDateWindow DOW="Sun" />
</TimeSpan>
</RoomStay>
<RoomStay SourceOfBusiness="Two Step.PricingOptional.PriceNotGuaranted.InvNotGuaranted"
AvailabilityStatus="AvailableForSale" InfoSource="1A" RPH="1" >
<RatePlans>
<RatePlan RatePlanCode="15S" RateIndicator="AvailableForSale"
AvailabilityStatus="AvailableForSale" >
<Guarantee GuaranteeCode="31" GuaranteeType="GuaranteeRequired" >
<GuaranteesAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="AX" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="CA" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="DC" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="EC" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="IK" />
</GuaranteeAccepted>
<GuaranteeAccepted>
<PaymentCard CardCode="VI" />
</GuaranteeAccepted>
</GuaranteesAccepted>
</Guarantee>
<CancelPenalties CancelPolicyIndicator="1" >
<CancelPenalty PolicyCode="Cancellation" >
<Deadline AbsoluteDeadline="2013-12-25T18:00:00" />
</CancelPenalty>
</CancelPenalties>
<Commission StatusType="Commissionable" Percent="10.00" />
<MealsIncluded Breakfast="0" />
</RatePlan>
</RatePlans>
<RoomRates>
<RoomRate BookingCode="B1K15S" RoomTypeCode="B1K" NumberOfUnits="1"
RatePlanCode="15S" AvailabilityStatus="AvailableForSale" >
<Rates>
<Rate EffectiveDate="2013-12-28" ExpireDate="2013-12-29" RateTimeUnit="Day" >
<Base AmountAfterTax="414.00" CurrencyCode="EUR" />
<PaymentPolicies>
<GuaranteePayment PaymentCode="31" GuaranteeType="GuaranteeRequired" />
</PaymentPolicies>
</Rate>
</Rates>
<RoomRateDescription Name="Room B1K" >
<Text Formatted="1" >Smart Rate</Text>
<Text Formatted="1" >SUPERIOR ROOM, queen-size bed, view of the Ferr</Text>
<Text Formatted="1" >is wheel</Text>
</RoomRateDescription>
<Total AmountAfterTax="414.00" CurrencyCode="EUR" />
<ServiceRPHs>
<ServiceRPH RPH="0" />
</ServiceRPHs>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
<TimeSpan Start="2013-12-28" End="2013-12-29" >
<StartDateWindow DOW="Sat" />
</Rates>
<RoomRateDescription Name="Room A1K" >
<Text Formatted="1" >Advance Purchase Rate</Text>
<Text Formatted="1" >LUXURY ROOM, one king-size bed, overlooking St.</Text>
<Text Formatted="1" >Stephen's Cathedral</Text>
</RoomRateDescription>
<Total AmountAfterTax="400.00" CurrencyCode="EUR" />
<ServiceRPHs>
<ServiceRPH RPH="0" />
</ServiceRPHs>
</RoomRate>
</RoomRates>
<GuestCounts>
<GuestCount AgeQualifyingCode="10" Count="1" />
</GuestCounts>
<TimeSpan Start="2013-12-28" End="2013-12-29" >
<StartDateWindow DOW="Sat" />
<EndDateWindow DOW="Sun" />
</TimeSpan>
</RoomStay>
</RoomStays>
<Services>
<Service ServiceRPH="0" ServiceInventoryCode="3.MPT" Inclusive="0" Type="10" ID="-" />
</Services>
</OTA_HotelAvailRS>