Skip to main content
Deprecated API

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.

caution

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​

info

Check the values you need to add in the header and common elements.

ElementRelTypeDescription
AvailRQ1Root node.
AvailRQ/CancellationPolicies1BooleanIndicates 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/RoomCancellationPolicies1BooleanIndicates 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/DailyPrices0..1BooleanIndicates 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/DailyRatePlans0..1BooleanIndicates 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/OnRequest1BooleanIndicates 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/BusinessRules1StringIndicates 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
Business Rule Description
CheaperAmount The cheapest options is returned without exceeding the optionsQuota limit. If the client sets BusinessRules, they will be implemented when the number of options surpasses optionsQuota. If no BusinessRules values are set by the client, the CheaperAmount BusinessRule is automatically applied.
RoomType Options are filtered based on a restricted combination of room types. Initially, similar room types are grouped to present options with the same classification (e.g., Standard-Standard-Standard-Standard, Junior-Junior-Junior-Junior). The process involves combining the most affordable rooms with the remaining ones, ensuring no duplicates and staying within the optionsQuota limit.
AvailRQ/AvailDestinations1..nIndicates what destinations will be requested to the supplier. Hotel codes or other destination codes must be defined using information specified in MetaData.

MaxNumberHotels, MaxNumberCities, MaxNumberZones and MaxNumberGeoCodes indicates how client should group avail requests to supplier. It’s the client’s resposability to do performance tests in order to determine what’s the best strategy regarding group destinations in an Avail Request.

AvailDestinations/Destination1..n
@type1StringDestination 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.
@code1StringNative destination code as returned by supplier in HotelList or AvailDestinationTree.
AvailRQ/StartDate1String'Search from' date.
AvailRQ/EndDate1String'Search til' date.
AvailRQ/Currency1StringThe 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/Nationality1StringNationality of the guest (use ISO3166_1_alfa_2). This information is mandatory (see MetaData in order to verify if the supplier implements it).
AvailRQ/Markets1List of Market requested (see MetaData in order to verify if a supplier implements it).
Markets/Market1..nStringTargeted zone/Country/Point of sale (use a standard ISO3166_1_alfa_2).
AvailRQ/RoomCandidates1..n
RoomCandidates/RoomCandidate1..nRoom required.
@id1IntegerId of the requested room (starting at 1).
RoomCandidate/Paxes1..nPax required.
Paxes/Pax1..n
@age1IntegerPassenger 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.
@id1IntegerPax 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.

note

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:

  1. Add the optionsQuota field to the request and specify the desired quantity of options per MealPlan.

  2. Specify the BusinessRules you want to apply in the request: CheaperAmount or RoomType.

  3. 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​

ElementRelTypeDescription
AvailRS/Hotels0..nRoot node.
Hotels/Hotel0..n
@code1StringHotel code.
@name0..1StringHotel name.
Hotel/MealPlans1Retrieves a list of available mealplans for this hotel.
MealPlans/MealPlan1..n
@code1StringMealPlan code.
MealPlan/Options1
Options/Option1..nDetail of option.
@type1StringIndicates option type (only hotel, hotel with ski pass, hotel with entrance...).
@paymentType1String
Payment Types
Code Description
MerchantPay The payment is managed by the supplier.
LaterPay The payment is managed by the hotel. The customer will use a credit-card as a guarantee for the hotel and the payment will be completed at check in.
CardBookingPay The payment is managed by the supplier. The payment is effectuated at the time of booking.
CardCheckInPay The payment is managed by the supplier. The payment is effectuated at check in in the hotel.
@status1StringStatus option (OK = available, RQ = on request).
Option/Parameters0..1Additional parameters that must be reported on the ValuationRQ. Parameters, if this option is required.
Parameters/Parameter0..nAdditional parameter requiring integration.
@key1StringContains the keyword/Id to identify a parameter.
@value1StringContains parameter value.
Option/CancelPenalties0..1List of cancellation penalties (see MetaData in order to verify if the supplier implements it).
@nonRefundable1BooleanIndicates if it is refundable or no.
CancelPenalties/CancelPenalty0..1
CancelPenalty/HoursBefore1StringNumber of hours prior to arrival day in which this Cancellation policy applies.
CancelPenalty/Penalty1..nStringContains the value to be applied in net price.
@type1String
Types of penalties
Penalty Description
Noches Indicates the number of nights to be penalized.
Porcentaje Indicates the percentage to pay based on the option price.
Importe Indicates the exact amount payable.
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
CancelPenalty/CalculatedDeadline0..1BooleanIndicate 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/Deadline0..1StringDate on UTC Standard TimeZone in which this Cancellation policy applies (ISO 8601 e.g: 2016-07-01T05:00:00Z).
Option/RateRules0..1Option rate rules.
RateRules/Rules1
Rules/Rule1..n
@type1String
Rate Conditions
Code Description
NonRefundable Cancellation fee is a 100% from the moment the reservation is create.
Custom A way of setting less standardized rates. Can specify the restrictions that it deems convenient and that are not typified by TGX.
Older55 Rate that can only be sold to people who are 55 yeasrs or older.
Older60 Rate that can only be sold to people who are 60 yeasrs or older.
Older65 Rate that can only be sold to people who are 65 yeasrs or older.
Package Rate can’t be sold separately from another product attached to it, such as a flight.
CanaryResident Rate applicable to Canary Islands residents only.
BalearicResident Rate applicable to Balearic Islands residents only.
LargeFamily Rate applied to large families and is determined by each supplier.Check remarks for more details.
Honeymoon Rate applied to those who just got married and is determined by each supplier. Check remarks for more details.
PublicServant Rate applicable to public servants only.
Unemployed Rate applied to those without work.
Mobile Rate applicable to options booked by mobile.
Warranty Rate applicable to options with cancellation warranty.
Rule/Rates/0..1
Rates/Rate1..n
@code0..1StringContains the rate rule code.
Rate/Description0..1StringContains the rate rule description.
Rule/Restrictions0..nRestrictions for the rate rule.
Restrictions/Restriction1..n
@type1EnumThis restriction affects: 1 -> Company, 2 -> Market, 3 -> Others...
@code1StringContains the restriction code.
Option/Rooms1Rooms in this option (room list).
Rooms/Room1..n
@id1StringRoom ID.
@roomCandidateRefId1IntegerRoom candidate ID.
@code1StringRoom 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.
@description0..1StringRoom description. Mandatory if the supplier doesn't allow RoomList Method. If the supplier implements RoomList Method, this field could be empty.
@nonRefundable0..1StringIdentifies if the room is refundable or not.
@numberOfUnits0..1IntegerNumber of rooms available with the same type (see MetaData in order to verify if the supplier implements it).
Room/Offers1..nList 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/Offer1..n
@code1StringContains the code to identify a offer.
@name1StringContains the name of the offer.
Room/Beds0..1Detail of beds (see MetaData in order to verify if a supplier implements it).
@sharedBed0..1BooleanSpecifies if the beds in the room are shared.
Beds/Bed0..nIdentifies types of beds.
@numberOfBeds0..1StringIndicates number of beds in the room.
@type0..1StringIndicates the type of bed.
Room/Features0..1Features of this room (features list).
Features/Feature1..n
@code1StringFeature code or text.
Room/DailyPrices0..1Specifies daily price, as long as the supplier returns it in this method (see MetaData in order to verify if the supplier implements it).
DailyPrices/DailyPrice1..nSpecifies the price for each day.
@effectiveDate1StringStart date in which the price becomes effective.
@expireDate1StringExpiry date of price.
DailyPrice/Price1Day price.
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
@amount1DecimalDay Amount.
@binding1BooleanIf 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.
@commission1Decimal
Commission Scenarios
Commission Description
0 The price returned is net.
-1 The supplier has not supplied the sale price nor the commission. This information is in the commercial contract with the supplier.
Greater than 0 X = % of the commission applied to the amount.
@minimumSellingPrice1DecimalIndicates 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
Minimum Selling Price Description
0 No minimum selling price is provided.
-1 We have no information about MSP from the Seller.
Greater than 0 The lowest possible amount that can be sold commercially.
Room/DailyRatePlans0..1Specifies 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/DailyRatePlan1..nSpecifies the rates for each day.
@effectiveDate1StringStart date in which the rate becomes effective.
@expireDate1StringExpirty date of rate.
@code1StringIndicates the supplier's rate code. This code specifies the rate applied to those days.
@name0StringIndicates the supplier's rate name.
Room/Price1Room price.
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
@amount1DecimalRoom Amount.
@binding1BooleanIf 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.
@commission1Decimal
Commission Scenarios
Commission Description
0 The price returned is net.
-1 The supplier has not supplied the sale price nor the commission. This information is in the commercial contract with the supplier.
Greater than 0 X = % of the commission applied to the amount.
@minimumSellingPrice1DecimalIndicates 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
Minimum Selling Price Description
0 No minimum selling price is provided.
-1 We have no information about MSP from the Seller.
Greater than 0 The lowest possible amount that can be sold commercially.
Room/Fees0..1
Fees/Fee1..n
@includedPriceOption1BooleanIndicates if the fee is included or not in the final price.
How to interpret includePriceOption Scenarios
Payment Type includedPriceOption
MerchantPay, CardBookingPay, CardCheckInPay If True the amount of the fee is already included in the price and is paid at the time of booking. If False, said fee have to be paid in the hotel.
LaterPay In both cases if True or False, the amount of the fee has to be paid in the hotel, as the type of payment is LaterPay. The difference is that if includedPriceOption = False the client would have to sum the amount on their end. This is done if the supplier does not include it. This way, the client can show the fee on their web separated from the option price, and it’s now the client’s own decision how they should treat it.
@description1StringRemarks regarding fee.
@mandatory1BooleanIf 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.
@refundable1BooleanThis 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/Code1StringSpecifies the fee code in case it has one.
Fee/Price1
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
@amount1DecimalFee Amount.
@binding1BooleanIf 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.
@commission1Decimal
Commission Scenarios
Commission Description
0 The price returned is net.
-1 The supplier has not supplied the sale price nor the commission. This information is in the commercial contract with the supplier.
Greater than 0 X = % of the commission applied to the amount.
@minimumSellingPrice1DecimalIndicates 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
Minimum Selling Price Description
0 No minimum selling price is provided.
-1 We have no information about MSP from the Seller.
Greater than 0 The lowest possible amount that can be sold commercially.
Room/CancelPenalties0..1List of cancellation penalties. (see MetaData in order to verify if the supplier implements it).
@nonRefundable1BooleanIndicates if it is refundable or no.
CancelPenalties/CancelPenalty0..1
CancelPenalty/HoursBefore1StringNumber of hours prior to arrival day in which this Cancellation policy applies.
CancelPenalty/Penalty1..n
@type1String
Types of penalties
Penalty Description
Noches Indicates the number of nights to be penalized.
Porcentaje Indicates the percentage to pay based on the option price.
Importe Indicates the exact amount payable.
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
CancelPenalty/CalculatedDeadline0..1BooleanIndicate 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/Deadline0..1StringDate on UTC Standard TimeZone in which this Cancellation policy applies (ISO 8601 e.g: 2016-07-01T05:00:00Z).
Option/Price1Option price ( it is the total price of option).
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
@amount1DecimalOption Amount.
@binding1BooleanIf 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.
@commission1Decimal
Commission Scenarios
Commission Description
0 The price returned is net.
-1 The supplier has not supplied the sale price nor the commission. This information is in the commercial contract with the supplier.
Greater than 0 X = % of the commission applied to the amount.
@minimumSellingPrice1DecimalIndicates 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
Minimum Selling Price Description
0 No minimum selling price is provided.
-1 We have no information about MSP from the Seller.
Greater than 0 The lowest possible amount that can be sold commercially.
Option/Detail0..1Detail of option (if the option is different from the type Hotel, see MetaData in order to verify if the supplier implements it).
Detail/POIs1Points of interest.
POIs/POI1..n
@code1StringPOI code.
@description1StringPOI description.
POI/Services1Services containing this POI.
Services/Service1..n
@type1StringService type (SkiPass, Lessons, Meals, Equipment, Ticket, Transfers or Gala).
@code1StringService code.
@description1StringService description.
@durationType1StringDate 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.
@quantity1IntegerIndicates the quantity of field in the element "unit".
@unit0..1StringDay or Hour.
Service/RangeDates0..1Service date range (Only specified if durationType=Range).
@startDate1StringStart date of service.
@endDate1StringEnd date of service.
Option/Remarks0..1List of remarks (see MetaData in order to verify if the supplier implements it).
Remarks/Remark1..n
Option/Offers0..1The 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/Offer1..n
@code1StringContains the code to identify a offer.
@name1StringContains the name of the offer.
Option/Fees/0..1
Fees/Fee1..n
@includedPriceOption1BooleanIndicates if the fee is included or not in the final price.
How to interpret includePriceOption Scenarios
Payment Type includedPriceOption
MerchantPay, CardBookingPay, CardCheckInPay If True the amount of the fee is already included in the price and is paid at the time of booking. If False, said fee have to be paid in the hotel.
LaterPay In both cases if True or False, the amount of the fee has to be paid in the hotel, as the type of payment is LaterPay. The difference is that if includedPriceOption = False the client would have to sum the amount on their end. This is done if the supplier does not include it. This way, the client can show the fee on their web separated from the option price, and it’s now the client’s own decision how they should treat it.
@description1StringRemarks regarding fee.
@mandatory1BooleanIf 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.
@refundable1BooleanThis 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/Price1
@currency1StringCurrency code (Our system uses a standard ISO - 3 for all suppliers).
@amount1DecimalFee Amount.
@binding1BooleanIf 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.
@commission1Decimal
Commission Scenarios
Commission Description
0 The price returned is net.
-1 The supplier has not supplied the sale price nor the commission. This information is in the commercial contract with the supplier.
Greater than 0 X = % of the commission applied to the amount.
@minimumSellingPrice1DecimalIndicates 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
Minimum Selling Price Description
0 No minimum selling price is provided.
-1 We have no information about MSP from the Seller.
Greater than 0 The lowest possible amount that can be sold commercially.
Fee/Code1StringSpecifies 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 TypeError DescriptionComments
101System Exception.Exception not controlled or not classified as general exception.
102Provider Error.Seller returns a particular code/description for an error, which is then transmitted to you in our response.
103Too many requests to the supplier.Your account has surpassed the agreed-upon request limit with the Seller.
104Connection Timeout With Provider.The Seller's response time has exceeded the timeout set in the Buyer's request.
105Communication Error.The connection to the Seller has been refused (we haven't been able to connect to their system).
105Payload 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).
204No 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.).
205Room Candidate Not Supported.The number of room candidates in your request exceeds the maximum set by the Seller.
206Dates Not Supported.Your availability request does not align with the Seller's date specifications.
207Request XML not accepted by Supplier.Your availability request does not align with the Seller's specifications.
301Option 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).
302Hotel not found.Our system is unable to locate the hotel you requested in your Hotels (DescriptiveInfo) method
303Booking 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?
Examples:
CategoryPrice (Price curr.)AmountBindingCommissionMSP (Minimum Selling Price)Notes
Cases without binding prices and MSPUnknown PriceEUR 200False-1N/AUnknown price
Net PriceEUR 100False0N/ANet price
Gross PriceEUR 150False20N/AGross price
Cases with binding prices (MSP version)Net + Binding=True + MSPEUR 100True0120Net price with binding and MSP
Gross + Binding=True + MSPEUR 150True20180Gross price with binding and MSP
Unknown + Binding=True + MSPEUR 100True-1120Unknown price with binding and MSP
Cases with binding prices (No MSP "deprecated")Net + Binding=TrueEUR 120 (Supplier MSP value)True10N/ANet price with binding, no MSP (deprecated)
Gross + Binding=TrueEUR 180 (Supplier MSP value)True20N/AGross price with binding, no MSP (deprecated)
Why does the "quantity" sometimes show as 0 in a service linked to a point of interest?
Quantity = 0
<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.