The Legacy Pull Buyers API, our initial Buyers API launched in 2012, is now deprecated and should not be further developed. Instead, we introduced the Hotel-X Buyers API in 2017, which serves as the sole API for new Buyers looking to integrate and participate in our Marketplace.
Avail
Avail serves as the initial step in our booking flow, with the objective of verifying availability within the specified date range, itinerary and the requested number of guests. It provides a comprehensive list of available options based on your search criteria. The returned fields include: Hotel code
, Hotel name
, Meal Plan code
, paymentType
, Rooms
, Price
, CancelPenalties
etc.
The amount of information returned might vary between Sellers.
Avail Request​
<soapenv:Envelope xmlns:soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns = "http://schemas.xmltravelgate.com/hub/2012/06" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<soapenv:Header>
<wsse:Security>
<wsse:UsernameToken>
<wsse:Username>username</wsse:Username>
<wsse:Password>password</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
<soapenv:Body>
<ns:Avail>
<ns:availRQ>
<ns:timeoutMilliseconds>20000</ns:timeoutMilliseconds>
<ns:version>1</ns:version>
<ns:providerRQ>
<ns:code>suppliercode</ns:code>
<ns:id>1</ns:id>
<ns:rqXML>
<AvailRQ>
<timeoutMilliseconds>19700</timeoutMilliseconds>
<source>
<languageCode>en</languageCode>
</source>
<filterAuditData>
<registerTransactions>true</registerTransactions>
</filterAuditData>
<optionsQuota>300</optionsQuota>
<Configuration>
<User>user</User>
<Password>password</Password>
<UrlAvail>www.supplier.com/avail</UrlAvail>
<UrlReservation>www.supplier.com/reservation</UrlReservation>
<UrlValuation>www.supplier.com/valuation</UrlValuation>
<UrlGeneric>www.supplier.com/generic</UrlGeneric>
<Parameters>
<Parameter key = "UrlListHotels" value = "http://www.supplier.com/ListHotels"></Parameter>
<Parameter key = "Access" value = "22334"></Parameter>
</Parameters>
</Configuration>
<CancellationPolicies>false</CancellationPolicies>
<RoomCancellationPolicies>false</RoomCancellationPolicies>
<DailyPrices>false</DailyPrices>
<DailyRatePlans>false</DailyRatePlans>
<Attributes>false</Attributes>
<OnRequest>false</OnRequest>
<BusinessRules>CheaperAmount</BusinessRules>
<AvailDestinations>
<Destination type = "CTY" code = "5"/>
<Destination type = "CTY" code = "15"/>
</AvailDestinations>
<StartDate>28/01/2014</StartDate>
<EndDate>29/01/2014</EndDate>
<Currency>EUR</Currency>
<Nationality>ES</Nationality>
<Markets>
<Market>ES</Market>
<Market>EN</Market>
</Markets>
<RoomCandidates>
<RoomCandidate id = "1">
<Paxes>
<Pax age = "30" id = "1"/>
<Pax age = "30" id = "2"/>
</Paxes>
</RoomCandidate>
<RoomCandidate id = "2">
<Paxes>
<Pax age = "35" id = "1"/>
<Pax age = "42" id = "2"/>
<Pax age = "5" id = "3"/>
</Paxes>
</RoomCandidate>
</RoomCandidates>
</AvailRQ>
</ns:rqXML>
</ns:providerRQ>
</ns:availRQ>
</ns:Avail>
</soapenv:Body>
</soapenv:Envelope>
Request Data Breakdown​
Check the values you need to add in the header and common elements.
Element | Rel | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|---|
AvailRQ | 1 | Root node. | |||||||
AvailRQ/CancellationPolicies | 1 | Boolean | Indicates if you want to receive the cancellation policies in AvailRS, as long as the parameter is set as true in the request and the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/RoomCancellationPolicies | 1 | Boolean | Indicates if you want to receive the cancellation policies at room level in AvailRS, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/DailyPrices | 0..1 | Boolean | Indicates if you want to receive the daily prices at room level in AvailRS, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/DailyRatePlans | 0..1 | Boolean | Indicates if you want to receive the daily rate plans at room level in AvailRS, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/Attributes | |||||||||
AvailRQ/OnRequest | 1 | Boolean | Indicates if you want to receive the onrequest options in AvailRS, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/BusinessRules | 1 | String | Indicates the business rules the client wants to apply in availability, as long as the supplier allows it (see MetaData to verify if the supplier has implemented this option). Business Rules Options
| ||||||
AvailRQ/AvailDestinations | 1..n | Indicates what destinations will be requested to the supplier. Hotel codes or other destination codes must be defined using information specified in MetaData.
| |||||||
AvailDestinations/Destination | 1..n | ||||||||
@type | 1 | String | Destination type (HOT, CTY, ZON, GEO). Clarification: ZONs contains CTYs. ZONs are higher nodes and CTY are lower nodes. It is not possible to mix types of destinations in the same request. | ||||||
@code | 1 | String | Native destination code as returned by supplier in HotelList or AvailDestinationTree. | ||||||
AvailRQ/StartDate | 1 | String | 'Search from' date. | ||||||
AvailRQ/EndDate | 1 | String | 'Search til' date. | ||||||
AvailRQ/Currency | 1 | String | The currency node in your request signals your preferred currency, but its inclusion depends on the supplier's allowance. However, even if permitted, the response may not align with your requested currency, as it adheres to the supplier's native code. For example, if you ask for EUR but the supplier operates in GBP, the response will be in GBP. | ||||||
AvailRQ/Nationality | 1 | String | Nationality of the guest (use ISO3166_1_alfa_2). This information is mandatory (see MetaData in order to verify if the supplier implements it). | ||||||
AvailRQ/Markets | 1 | List of Market requested (see MetaData in order to verify if a supplier implements it). | |||||||
Markets/Market | 1..n | String | Targeted zone/Country/Point of sale (use a standard ISO3166_1_alfa_2). | ||||||
AvailRQ/RoomCandidates | 1..n | ||||||||
RoomCandidates/RoomCandidate | 1..n | Room required. | |||||||
@id | 1 | Integer | Id of the requested room (starting at 1). | ||||||
RoomCandidate/Paxes | 1..n | Pax required. | |||||||
Paxes/Pax | 1..n | ||||||||
@age | 1 | Integer | Passenger age on the day of check-in (The range of what is considered an adult, infant or baby is particular to each supplier). Important: The age of the passenger must coincide with the day of check-in at the hotel. | ||||||
@id | 1 | Integer | Pax id (starts at 1). |
How to Set Options Returned by MealPlan​
The Legacy Pull Buyers API allows to set the number of options returned by MealPlan for suppliers who provide a large number of options, about 20.000+ in a single response.
This functionality is applicable as long as the supplier permits it. You can verify it in the MetaData call under AllowsBusinessRules
. If the supplier has AllowsBusinessRules = True, you can then choose from between different BusinessRules
(CheaperAmount or RoomType) to filter the options based on your preferences.
We have implemented a system-level limit. If the optionsQuota
set by the client exceeds this limit, the smaller of the two values will be used.
To include the optionsQuota in your request, follow these steps:
-
Add the optionsQuota field to the request and specify the desired quantity of options per MealPlan.
-
Specify the BusinessRules you want to apply in the request: CheaperAmount or RoomType.
-
Upon receiving a response, you will only obtain a portion of the complete list. The number of options per MealPlan will be in accordance with your defined optionsQuota, considering the specified BusinessRules.
1. Add optionsQuota in the Request
First, in your Avail request you will add optionsQuota
field and specify the desired quantity of options per MealPlan expected to receive in the response:
<AvailRQ>
<timeoutMilliseconds>18000</timeoutMilliseconds>
<source>
<languageCode>en</languageCode>
</source>
<filterAuditData>
<registerTransactions>true</registerTransactions>
</filterAuditData>
<optionsQuota>300</optionsQuota>
<Configuration>
...
</Configuration>
2. Specify the BusinessRules in the request
Then, specify the BusinessRules
you want to apply in the request: CheaperAmount or RoomType.
<AvailRQ>
<timeoutMilliseconds>18000</timeoutMilliseconds>
<source>
<languageCode>en</languageCode>
</source>
<filterAuditData>
<registerTransactions>true</registerTransactions>
</filterAuditData>
<optionsQuota>300</optionsQuota>
<Configuration>
...
</Configuration>
<BusinessRules>CheaperAmount</BusinessRules>
3. You will recieve the Response
You will recieve the Response with 300 options per MealPlan in accordance with your defined optionsQuota
, considering the specified BusinessRules
.
Avail Response​
After each request, the Seller will process the data and provide you with a response. Upon receiving a Avail
request, the Seller will send you a corresponding Avail
response.
The response options include either success or an error. In the event of success, the response will be structured hierarchically, beginning with key Hotel details such as names and codes. Subsequently, there is a breakdown of MealPlans and their associated codes. Within the MealPlans, the Options section offers comprehensive information on various choices. Each option is a unique combination of rooms, prices, and policies, providing a comprehensive view of the available selections.
Success​
<AvailRS xmlns:xsd = "http://www.w3.org/2001/XMLSchema" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance">
<Hotels>
<Hotel code = "10" name = "LEO">
<MealPlans>
<MealPlan code = "D">
<Options>
<Option type = "Hotel" paymentType = "MerchantPay" status = "OK">
<Rooms>
<Room id = "4145" roomCandidateRefId = "1" code = "DBL#STAND" description = "Doble Standard" nonRefundable = "false" numberOfUnits = "5">
<Price currency = "EUR" amount = "36.20" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Fees>
<Fee includedPriceOption = "true" description = "TaxAndServiceFee" mandatory = "true" refundable = "false">
<Price currency = "EUR" amount = "8.11" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Code>SPE</Code>
</Fee>
</Fees>
<CancelPenalties nonRefundable = "false">
<CancelPenalty>
<HoursBefore>24</HoursBefore>
<Penalty type = "Importe" currency = "EUR">20</Penalty>
<Deadline>2016-07-01T05:00:00Z</Deadline>
<CalculatedDeadline>false</CalculatedDeadline>
</CancelPenalty>
</CancelPenalties>
<Beds sharedBed = "false">
<Bed numberOfBeds = "1" type = "Doble"/>
</Beds>
<Features>
<Feature code = "Double with spa"/>
</Features>
<DailyPrices>
<DailyPrice effectiveDate = "28/01/2014" expireDate = "29/01/2014">
<Price currency = "EUR" amount = "36.20" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</DailyPrice>
</DailyPrices>
<DailyRatePlans>
<DailyRatePlan effectiveDate = "28/01/2014" expireDate = "29/01/2014" code = "XAD" name = "Flexy Rate Only Adults"/>
</DailyRatePlans>
</Room>
</Rooms>
<Price currency = "EUR" amount = "36.20" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Offers>
<Offer code = "EBI" name = "Early booking"/>
</Offers>
<Fees>
<Fee includedPriceOption = "true" description = "TaxAndServiceFee" mandatory = "true" refundable = "false">
<Price currency = "EUR" amount = "8.11" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Code>SPE</Code>
</Fee>
</Fees>
</Option>
</Options>
</MealPlan>
<MealPlan code = "M">
<Options>
<Option type = "Hotel" paymentType = "MerchantPay" status = "OK">
<Rooms>
<Room id = "4146" roomCandidateRefId = "1" code = "TWN#STAND" description = "Twin Standard" nonRefundable = "false" numberOfUnits = "5">
<Price currency = "EUR" amount = "42.90" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Offers>
<Offer code = "EBI" name = "Early booking"/>
</Offers>
<Beds sharedBed = "false">
<Bed numberOfBeds = "2" type = "Twin"/>
</Beds>
<DailyPrices>
<DailyPrice effectiveDate = "28/01/2014" expireDate = "29/01/2014">
<Price currency = "EUR" amount = "42.90" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</DailyPrice>
</DailyPrices>
<DailyRatePlans>
<DailyRatePlan effectiveDate = "28/01/2014" expireDate = "29/01/2014" code = "XAT" name = "Flexy Rate"/>
</DailyRatePlans>
</Room>
</Rooms>
<Price currency = "EUR" amount = "42.90" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</Option>
</Options>
</MealPlan>
<MealPlan code = "MP">
<Options>
<Option type = "HotelSkiPass" paymentType = "MerchantPay" status = "OK">
<Rooms>
<Room id = "4145" roomCandidateRefId = "1" code = "DBL#STAND" description = "Doble Standard" nonRefundable = "false">
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</Room>
</Rooms>
<Detail>
<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1" description = "Forfait" durationType = "Range" quantity = "0" unit = "Day">
<RangeDates startDate = "28/01/2014" endDate = "29/01/2014"/>
</Service>
</Services>
</POI>
</POIs>
</Detail>
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Parameters>
<Parameter key = "sesion" value = "888de014"/>
</Parameters>
</Option>
<Option type = "HotelSkiPass" paymentType = "MerchantPay" status = "OK">
<Rooms>
<Room id = "4145" roomCandidateRefId = "1" code = "DBL#STAND" description = "Doble Standard" nonRefundable = "false">
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</Room>
</Rooms>
<Detail>
<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1" description = "Forfait" durationType = "Open" quantity = "5" unit = "Hour"></Service>
</Services>
</POI>
</POIs>
</Detail>
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Parameters>
<Parameter key = "sesion" value = "888de014"/>
</Parameters>
<RateRules>
<Rules>
<Rule type = "NonRefundable"/>
<Rule type = "Negotiated">
<Rates>
<Rate Code = "BAR">
<Description>Bar descr</Description>
<Restrictions>
<Restriction type = "Company" Code = "REP">Repsol</Restriction>
<Restriction type = "Company" Code = "PEP">Cedipsa</Restriction>
</Restrictions>
</Rate>
</Rates>
</Rule>
</Rules>
</RateRules>
</Option>
<Option type = "HotelSkiPass" paymentType = "MerchantPay" status = "OK">
<Rooms>
<Room id = "4145" roomCandidateRefId = "1" code = "DBL#STAND" description = "Doble Standard" nonRefundable = "false">
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
</Room>
</Rooms>
<Detail>
<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1" description = "Forfait" durationType = "Open" quantity = "2" unit = "Day"></Service>
</Services>
</POI>
</POIs>
</Detail>
<Price currency = "EUR" amount = "636.80" binding = "false" commission = "-1" minimumSellingPrice="-1"/>
<Parameters>
<Parameter key = "sesion" value = "888de014"/>
</Parameters>
<CancelPenalties nonRefundable = "false">
<CancelPenalty>
<HoursBefore>24</HoursBefore>
<Penalty type = "Importe" currency = "EUR">20</Penalty>
<Deadline>2016-07-01T05:00:00Z</Deadline>
<CalculatedDeadline>false</CalculatedDeadline>
</CancelPenalty>
</CancelPenalties>
</Option>
</Options>
</MealPlan>
</MealPlans>
</Hotel>
</Hotels>
</AvailRS>
Success Response Data Breakdown​
Element | Rel | Type | Description | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AvailRS/Hotels | 0..n | Root node. | |||||||||||||||||||||||||||||||
Hotels/Hotel | 0..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | Hotel code. | ||||||||||||||||||||||||||||||
@name | 0..1 | String | Hotel name. | ||||||||||||||||||||||||||||||
Hotel/MealPlans | 1 | Retrieves a list of available mealplans for this hotel. | |||||||||||||||||||||||||||||||
MealPlans/MealPlan | 1..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | MealPlan code. | ||||||||||||||||||||||||||||||
MealPlan/Options | 1 | ||||||||||||||||||||||||||||||||
Options/Option | 1..n | Detail of option. | |||||||||||||||||||||||||||||||
@type | 1 | String | Indicates option type (only hotel, hotel with ski pass, hotel with entrance...). | ||||||||||||||||||||||||||||||
@paymentType | 1 | String | Payment Types
| ||||||||||||||||||||||||||||||
@status | 1 | String | Status option (OK = available, RQ = on request). | ||||||||||||||||||||||||||||||
Option/Parameters | 0..1 | Additional parameters that must be reported on the ValuationRQ. Parameters, if this option is required. | |||||||||||||||||||||||||||||||
Parameters/Parameter | 0..n | Additional parameter requiring integration. | |||||||||||||||||||||||||||||||
@key | 1 | String | Contains the keyword/Id to identify a parameter. | ||||||||||||||||||||||||||||||
@value | 1 | String | Contains parameter value. | ||||||||||||||||||||||||||||||
Option/CancelPenalties | 0..1 | List of cancellation penalties (see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
@nonRefundable | 1 | Boolean | Indicates if it is refundable or no. | ||||||||||||||||||||||||||||||
CancelPenalties/CancelPenalty | 0..1 | ||||||||||||||||||||||||||||||||
CancelPenalty/HoursBefore | 1 | String | Number of hours prior to arrival day in which this Cancellation policy applies. | ||||||||||||||||||||||||||||||
CancelPenalty/Penalty | 1..n | String | Contains the value to be applied in net price. | ||||||||||||||||||||||||||||||
@type | 1 | String | Types of penalties
| ||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
CancelPenalty/CalculatedDeadline | 0..1 | Boolean | Indicate if the Deadline is returned by the supplier or it's been calculated by Travelgate. If True, has been calculated by Travelgate. If False, bypass of supplier data without calculation. | ||||||||||||||||||||||||||||||
CancelPenalty/Deadline | 0..1 | String | Date on UTC Standard TimeZone in which this Cancellation policy applies (ISO 8601 e.g: 2016-07-01T05:00:00Z). | ||||||||||||||||||||||||||||||
Option/RateRules | 0..1 | Option rate rules. | |||||||||||||||||||||||||||||||
RateRules/Rules | 1 | ||||||||||||||||||||||||||||||||
Rules/Rule | 1..n | ||||||||||||||||||||||||||||||||
@type | 1 | String | Rate Conditions
| ||||||||||||||||||||||||||||||
Rule/Rates/ | 0..1 | ||||||||||||||||||||||||||||||||
Rates/Rate | 1..n | ||||||||||||||||||||||||||||||||
@code | 0..1 | String | Contains the rate rule code. | ||||||||||||||||||||||||||||||
Rate/Description | 0..1 | String | Contains the rate rule description. | ||||||||||||||||||||||||||||||
Rule/Restrictions | 0..n | Restrictions for the rate rule. | |||||||||||||||||||||||||||||||
Restrictions/Restriction | 1..n | ||||||||||||||||||||||||||||||||
@type | 1 | Enum | This restriction affects: 1 -> Company, 2 -> Market, 3 -> Others... | ||||||||||||||||||||||||||||||
@code | 1 | String | Contains the restriction code. | ||||||||||||||||||||||||||||||
Option/Rooms | 1 | Rooms in this option (room list). | |||||||||||||||||||||||||||||||
Rooms/Room | 1..n | ||||||||||||||||||||||||||||||||
@id | 1 | String | Room ID. | ||||||||||||||||||||||||||||||
@roomCandidateRefId | 1 | Integer | Room candidate ID. | ||||||||||||||||||||||||||||||
@code | 1 | String | Room code has to be unique to identify a specific room type. If the RoomList Method is implemented, you can find the description of the room type in the RoomList. | ||||||||||||||||||||||||||||||
@description | 0..1 | String | Room description. Mandatory if the supplier doesn't allow RoomList Method. If the supplier implements RoomList Method, this field could be empty. | ||||||||||||||||||||||||||||||
@nonRefundable | 0..1 | String | Identifies if the room is refundable or not. | ||||||||||||||||||||||||||||||
@numberOfUnits | 0..1 | Integer | Number of rooms available with the same type (see MetaData in order to verify if the supplier implements it). | ||||||||||||||||||||||||||||||
Room/Offers | 1..n | List of offers. Depending on the supplier, the information concerning offers can be displayed at a room level or in the option level in AvailRS. | |||||||||||||||||||||||||||||||
Offers/Offer | 1..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | Contains the code to identify a offer. | ||||||||||||||||||||||||||||||
@name | 1 | String | Contains the name of the offer. | ||||||||||||||||||||||||||||||
Room/Beds | 0..1 | Detail of beds (see MetaData in order to verify if a supplier implements it). | |||||||||||||||||||||||||||||||
@sharedBed | 0..1 | Boolean | Specifies if the beds in the room are shared. | ||||||||||||||||||||||||||||||
Beds/Bed | 0..n | Identifies types of beds. | |||||||||||||||||||||||||||||||
@numberOfBeds | 0..1 | String | Indicates number of beds in the room. | ||||||||||||||||||||||||||||||
@type | 0..1 | String | Indicates the type of bed. | ||||||||||||||||||||||||||||||
Room/Features | 0..1 | Features of this room (features list). | |||||||||||||||||||||||||||||||
Features/Feature | 1..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | Feature code or text. | ||||||||||||||||||||||||||||||
Room/DailyPrices | 0..1 | Specifies daily price, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
DailyPrices/DailyPrice | 1..n | Specifies the price for each day. | |||||||||||||||||||||||||||||||
@effectiveDate | 1 | String | Start date in which the price becomes effective. | ||||||||||||||||||||||||||||||
@expireDate | 1 | String | Expiry date of price. | ||||||||||||||||||||||||||||||
DailyPrice/Price | 1 | Day price. | |||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
@amount | 1 | Decimal | Day Amount. | ||||||||||||||||||||||||||||||
@binding | 1 | Boolean | If binding is set as true, then the client can’t sell the product for a lower price that the one set by the supplier. If it set as as false, the client can sell the product for a lower price. | ||||||||||||||||||||||||||||||
@commission | 1 | Decimal | Commission Scenarios
| ||||||||||||||||||||||||||||||
@minimumSellingPrice | 1 | Decimal | Indicates the minimum selling price it can be sold (determined by the Seller). If is specified (different than "-1"), that field takes preference to amount. Minimum Selling Price Scenarios
| ||||||||||||||||||||||||||||||
Room/DailyRatePlans | 0..1 | Specifies the daily rate, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
DailyRatePlans/DailyRatePlan | 1..n | Specifies the rates for each day. | |||||||||||||||||||||||||||||||
@effectiveDate | 1 | String | Start date in which the rate becomes effective. | ||||||||||||||||||||||||||||||
@expireDate | 1 | String | Expirty date of rate. | ||||||||||||||||||||||||||||||
@code | 1 | String | Indicates the supplier's rate code. This code specifies the rate applied to those days. | ||||||||||||||||||||||||||||||
@name | 0 | String | Indicates the supplier's rate name. | ||||||||||||||||||||||||||||||
Room/Price | 1 | Room price. | |||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
@amount | 1 | Decimal | Room Amount. | ||||||||||||||||||||||||||||||
@binding | 1 | Boolean | If binding is set as true, then the client can’t sell the product for a lower price that the one set by the supplier. If it set as as false, the client can sell the product for a lower price. | ||||||||||||||||||||||||||||||
@commission | 1 | Decimal | Commission Scenarios
| ||||||||||||||||||||||||||||||
@minimumSellingPrice | 1 | Decimal | Indicates the minimum selling price it can be sold (determined by the Seller). If is specified (different than "-1"), that field takes preference to amount. Minimum Selling Price Scenarios
| ||||||||||||||||||||||||||||||
Room/Fees | 0..1 | ||||||||||||||||||||||||||||||||
Fees/Fee | 1..n | ||||||||||||||||||||||||||||||||
@includedPriceOption | 1 | Boolean | Indicates if the fee is included or not in the final price. How to interpret includePriceOption Scenarios
| ||||||||||||||||||||||||||||||
@description | 1 | String | Remarks regarding fee. | ||||||||||||||||||||||||||||||
@mandatory | 1 | Boolean | If the fee is obligatory, depending on the includedPriceOption to know if it is paid at the time of booking or at the hotel. In case it is false, it could be a fee such as "cleaning" that the consumer could hire if he wanted. | ||||||||||||||||||||||||||||||
@refundable | 1 | Boolean | This field will serve to know if the rate to be paid is returned, for example when it is a deposit type that is returned once the stay ends. | ||||||||||||||||||||||||||||||
Fee/Code | 1 | String | Specifies the fee code in case it has one. | ||||||||||||||||||||||||||||||
Fee/Price | 1 | ||||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
@amount | 1 | Decimal | Fee Amount. | ||||||||||||||||||||||||||||||
@binding | 1 | Boolean | If binding is set as true, then the client can’t sell the product for a lower price that the one set by the supplier. If it set as as false, the client can sell the product for a lower price. | ||||||||||||||||||||||||||||||
@commission | 1 | Decimal | Commission Scenarios
| ||||||||||||||||||||||||||||||
@minimumSellingPrice | 1 | Decimal | Indicates the minimum selling price it can be sold (determined by the Seller). If is specified (different than "-1"), that field takes preference to amount. Minimum Selling Price Scenarios
| ||||||||||||||||||||||||||||||
Room/CancelPenalties | 0..1 | List of cancellation penalties. (see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
@nonRefundable | 1 | Boolean | Indicates if it is refundable or no. | ||||||||||||||||||||||||||||||
CancelPenalties/CancelPenalty | 0..1 | ||||||||||||||||||||||||||||||||
CancelPenalty/HoursBefore | 1 | String | Number of hours prior to arrival day in which this Cancellation policy applies. | ||||||||||||||||||||||||||||||
CancelPenalty/Penalty | 1..n | ||||||||||||||||||||||||||||||||
@type | 1 | String | Types of penalties
| ||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
CancelPenalty/CalculatedDeadline | 0..1 | Boolean | Indicate if the Deadline is returned by the supplier or it's been calculated by Travelgate. If True, has been calculated by Travelgate. If False, bypass of supplier data without calculation. | ||||||||||||||||||||||||||||||
CancelPenalty/Deadline | 0..1 | String | Date on UTC Standard TimeZone in which this Cancellation policy applies (ISO 8601 e.g: 2016-07-01T05:00:00Z). | ||||||||||||||||||||||||||||||
Option/Price | 1 | Option price ( it is the total price of option). | |||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
@amount | 1 | Decimal | Option Amount. | ||||||||||||||||||||||||||||||
@binding | 1 | Boolean | If binding is set as true, then the client can’t sell the product for a lower price that the one set by the supplier. If it set as as false, the client can sell the product for a lower price. | ||||||||||||||||||||||||||||||
@commission | 1 | Decimal | Commission Scenarios
| ||||||||||||||||||||||||||||||
@minimumSellingPrice | 1 | Decimal | Indicates the minimum selling price it can be sold (determined by the Seller). If is specified (different than "-1"), that field takes preference to amount. Minimum Selling Price Scenarios
| ||||||||||||||||||||||||||||||
Option/Detail | 0..1 | Detail of option (if the option is different from the type Hotel, see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
Detail/POIs | 1 | Points of interest. | |||||||||||||||||||||||||||||||
POIs/POI | 1..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | POI code. | ||||||||||||||||||||||||||||||
@description | 1 | String | POI description. | ||||||||||||||||||||||||||||||
POI/Services | 1 | Services containing this POI. | |||||||||||||||||||||||||||||||
Services/Service | 1..n | ||||||||||||||||||||||||||||||||
@type | 1 | String | Service type (SkiPass, Lessons, Meals, Equipment, Ticket, Transfers or Gala). | ||||||||||||||||||||||||||||||
@code | 1 | String | Service code. | ||||||||||||||||||||||||||||||
@description | 1 | String | Service description. | ||||||||||||||||||||||||||||||
@durationType | 1 | String | Date of service. If durationType = Range, then date range is set and the element "RangeDates" is returned. If durationType = Open, not restricted by date. Elements "quantity" and "unit" are returned to specify type and quantity. | ||||||||||||||||||||||||||||||
@quantity | 1 | Integer | Indicates the quantity of field in the element "unit". | ||||||||||||||||||||||||||||||
@unit | 0..1 | String | Day or Hour. | ||||||||||||||||||||||||||||||
Service/RangeDates | 0..1 | Service date range (Only specified if durationType=Range). | |||||||||||||||||||||||||||||||
@startDate | 1 | String | Start date of service. | ||||||||||||||||||||||||||||||
@endDate | 1 | String | End date of service. | ||||||||||||||||||||||||||||||
Option/Remarks | 0..1 | List of remarks (see MetaData in order to verify if the supplier implements it). | |||||||||||||||||||||||||||||||
Remarks/Remark | 1..n | ||||||||||||||||||||||||||||||||
Option/Offers | 0..1 | The supplier returns in response which offer is applicable for each option (see MetaData in order to verify if the supplier implements it). Depending on the supplier, the information concerning offers can be displayed at a room level or in the option level in AvailRS. | |||||||||||||||||||||||||||||||
Offers/Offer | 1..n | ||||||||||||||||||||||||||||||||
@code | 1 | String | Contains the code to identify a offer. | ||||||||||||||||||||||||||||||
@name | 1 | String | Contains the name of the offer. | ||||||||||||||||||||||||||||||
Option/Fees/ | 0..1 | ||||||||||||||||||||||||||||||||
Fees/Fee | 1..n | ||||||||||||||||||||||||||||||||
@includedPriceOption | 1 | Boolean | Indicates if the fee is included or not in the final price. How to interpret includePriceOption Scenarios
| ||||||||||||||||||||||||||||||
@description | 1 | String | Remarks regarding fee. | ||||||||||||||||||||||||||||||
@mandatory | 1 | Boolean | If the fee is obligatory, depending on the includedPriceOption to know if it is paid at the time of booking or at the hotel. In case it is false, it could be a fee such as "cleaning" that the consumer could hire if he wanted. | ||||||||||||||||||||||||||||||
@refundable | 1 | Boolean | This field will serve to know if the rate to be paid is returned, for example when it is a deposit type that is returned once the stay ends. | ||||||||||||||||||||||||||||||
Fee/Price | 1 | ||||||||||||||||||||||||||||||||
@currency | 1 | String | Currency code (Our system uses a standard ISO - 3 for all suppliers). | ||||||||||||||||||||||||||||||
@amount | 1 | Decimal | Fee Amount. | ||||||||||||||||||||||||||||||
@binding | 1 | Boolean | If binding is set as true, then the client can’t sell the product for a lower price that the one set by the supplier. If it set as as false, the client can sell the product for a lower price. | ||||||||||||||||||||||||||||||
@commission | 1 | Decimal | Commission Scenarios
| ||||||||||||||||||||||||||||||
@minimumSellingPrice | 1 | Decimal | Indicates the minimum selling price it can be sold (determined by the Seller). If is specified (different than "-1"), that field takes preference to amount. Minimum Selling Price Scenarios
| ||||||||||||||||||||||||||||||
Fee/Code | 1 | String | Specifies the fee code in case it has one. |
Error​
<AvailRS>
<operationImplemented>true</operationImplemented>
<applicationError>
<code/>
<type>204</type>
<description>Supplier returns 0 results in availability.</description>
<httpStatusCode>0</httpStatusCode>
</applicationError>
</AvailRS>
Error types that will be included in the response in the event of an error
Error Type | Error Description | Comments |
---|---|---|
101 | System Exception. | Exception not controlled or not classified as general exception. |
102 | Provider Error. | Seller returns a particular code/description for an error, which is then transmitted to you in our response. |
103 | Too many requests to the supplier. | Your account has surpassed the agreed-upon request limit with the Seller. |
104 | Connection Timeout With Provider. | The Seller's response time has exceeded the timeout set in the Buyer's request. |
105 | Communication Error. | The connection to the Seller has been refused (we haven't been able to connect to their system). |
105 | Payload too high. | The size of the response by the Seller surpasses the size limitation established on our side for optimal performance (20000 options or 15MB). |
204 | No results found. | Seller does not return any results for the specific availability criteria set in the Buyer's request (e.g. hotel, dates, market, etc.). |
205 | Room Candidate Not Supported. | The number of room candidates in your request exceeds the maximum set by the Seller. |
206 | Dates Not Supported. | Your availability request does not align with the Seller's date specifications. |
207 | Request XML not accepted by Supplier. | Your availability request does not align with the Seller's specifications. |
301 | Option Not Found In Valuation. | Seller fails to return the option previously chosen by the Buyer in Search response (the option is no longer available). This error can be encountered in Quote response and Book response (whenever the integration requires an additional Quote to the Seller). |
302 | Hotel not found. | Our system is unable to locate the hotel you requested in your Hotels (DescriptiveInfo) method |
303 | Booking not confirmed. | Seller hasn't been able to confirm a booking for some reason (is not very common and might be returned in reservation response). |
Frequently Asked Questions​
How should I interpret "binding" and "commission" to figure out what kind of price it is?
Category | Price (Price curr.) | Amount | Binding | Commission | MSP (Minimum Selling Price) | Notes |
---|---|---|---|---|---|---|
Cases without binding prices and MSP | Unknown Price | EUR 200 | False | -1 | N/A | Unknown price |
Net Price | EUR 100 | False | 0 | N/A | Net price | |
Gross Price | EUR 150 | False | 20 | N/A | Gross price | |
Cases with binding prices (MSP version) | Net + Binding=True + MSP | EUR 100 | True | 0 | 120 | Net price with binding and MSP |
Gross + Binding=True + MSP | EUR 150 | True | 20 | 180 | Gross price with binding and MSP | |
Unknown + Binding=True + MSP | EUR 100 | True | -1 | 120 | Unknown price with binding and MSP | |
Cases with binding prices (No MSP "deprecated") | Net + Binding=True | EUR 120 (Supplier MSP value) | True | 10 | N/A | Net price with binding, no MSP (deprecated) |
Gross + Binding=True | EUR 180 (Supplier MSP value) | True | 20 | N/A | Gross price with binding, no MSP (deprecated) |
Why does the "quantity" sometimes show as 0 in a service linked to a point of interest?
<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1"
description = "Forfait" durationType = "Range"
quantity = "0" unit = "Day">
<RangeDates startDate = "28/01/2014"
endDate = "29/01/2014"/>
</Service>
</Services>
</POI>
</POIs>
Specifying the quantity is unnecessary as the start and end dates for the service have already been set.
Quantity > 0<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1"
description = "Forfait" durationType = "open"
quantity = "5" unit = "Hour">
</Service>
</Services>
</POI>
</POIs>
In this case, quantity is applicable for the entire stay, i.e., the client can enjoy the skipass for 5 hours any day of the stay.
<POIs>
<POI code = "8A" Description = "Andorra">
<Services>
<Service type = "SkiPass" code = "F1"
description = "Forfait" durationType = "open"
quantity = "2" unit = "Day">
</Service>
</Services>
</POI>
</POIs>
In this case, quantity is applicable for the entire stay, i.e., the client can enjoy until 2 days of skipass in between the check in and check out.