Search
Search serves as the initial step in our booking flow, with the objective of verifying availability within the specified date range and for the requested number of guests, either for specific hotels or for hotels in the desired destination. It provides a comprehensive list of available options based on your search criteria. The returned fields include:
hotelCode
hotelName
boardCode
paymentType
occupancies
rooms
price
rateRule
cancelPolicy
id
Query Overview
When creating your search query, you have three different inputs to fill based on your specific needs:
- Criteria
- Settings
- Filter Search
query {
hotelX {
search
criteria: {}
settings: {}
filterSearch: {}
}
}
1. Criteria
The search query offers versatility in search options, with certain fields marked as mandatory (checkIn
, checkOut
, hotels
etc.) and others as optional (language
, currency
, nationality
etc.). This flexibility empowers you to create a personalized Search Query, tailoring the requested fields to your specific needs.
To specify your search criteria you need to use the input HotelCriteriaSearchInput
in your query variables:
{
"criteriaSearch": {
"checkIn": "2024-10-28",
"checkOut": "2024-10-29",
"occupancies": [
{
"paxes": [
{
"age": 30
},
{
"age": 30
}
]
}
],
"hotels": [
"1",
"2"
],
"currency": "EUR",
"markets": ["ES"],
"language": "es",
"nationality": "ES"
}
}
Mandatory criteria:
checkIn
(yyyy-mm-dd)checkOut
(yyyy-mm-dd)hotels
(We recommend a maximum of 200 hotel codes per request.)destinations
(Only if you use the Search by destination plugin and you don't use thehotels
field.)occupancies
(For multi-room bookings, this array will contain multiple elements, each representing a room, and you'll need to provide occupancy details for each requested room.)
Optional criteria:
language
currency
nationality
markets
2. Settings
Settings are the common configurations used to construct requests to the supplier/s. You need to specify some in your query or mutation, while others are optional. If you skip the optional ones, we'll use default settings to keep your requests consistent and smooth.
To specify your settings you need to use the HotelSettingsInput
input in your query variables:
{
"settings" : {
"client" : "client_demo",
"context" : "HOTELTEST",
"testMode" : true,
"auditTransactions" : false,
"timeout" : 5000
}
}
Mandatory Settings:
client
context
(You have the flexibility to choose between using the supplier's context or your own, depending on which hotel codes you want to use in the query input. If you choose to search for different suppliers using the same query, you must use your own context code and mapping functionality.)timeout
(Timeout in milliseconds for all supplier connections. Won't close Buyer connection if exceeded.)
Optional Settings:
group
auditTransactions
suppliers
(Each one contains its own code, settings and accesses.)plugins
testMode
(This flag allows only the accesses checked as test.)businessRules
clientTokens
(Used to identify the origin of the request, this is only used with some plugins.)
-
Customize the
timeout
according to your needs, taking into consideration the maximum value in Search is 25,000ms. -
Set the
auditTransaction
to "false" in Search for better performance.
To request hotel availability using your own hotel codes, utilize the Hotel-X mapping feature. You can achieve this by uploading your mapping files to your FTP account. This approach enables you to make requests with your unique context codes and receive results from all your Sellers with your custom hotel codes.
3. Filter Search
Filters allow you to precisely tailor the response according to your preferences.
To specify your filters you need to use the input HotelXFilterSearchInput
in your query variables. The available filters inside this input are:
-
rateRules
: This filter enables you to narrow down the options returned by the suppliers based on the desired rate rules you want to include or exclude. -
status
: Use this filter to determine which status (OK and RQ) will be included or excluded in the response. -
access
: By using the access filter, our system will exclusively include or exclude options from the selected accesses. If you choose not to set any access at all, requests will be made to all available accesses.
All these filters are optional. Example to request only search results from access "2" and options "PACKAGE"
{
"filterSearch" : {
"access" : {
"includes" : [
"2"
]
},
"rateRules" : {
"includes" : [
"PACKAGE"
]
}
}
}
You would need to apply the same approach for filtering by specific rate rule (rateRule
) and status (status
).
Response Considerations
In the response to your search query, you'll receive all the available options that match your criteria. Each option provides various details, such as room type, price, and cancellation policies.
Here are some key points to keep in mind:
Cancel Policies: Refundable Field
In the room structure response, there is a refundable
field. If this field is set to false, it means the room has a 100% cancellation cost, making it non-refundable. If the field returns a null value, it indicates that the Seller doesn't provide this information at this stage and you will obtain this information in the quote step.
Some Sellers may not include cancellation policies in their availability data. You can learn more about each Seller's specific details in their metadata.
Query Inputs
HotelCriteriaSearchInput (INPUT_OBJECT)
Search criteria offers versatility in search options, with certain fields marked as mandatory
(checkIn, checkOut, hotels etc.) and others as optional (language, currency, nationality etc.).
This flexibility empowers you to create a personalized Search Query, tailoring the requested fields to your specific needs.
Search criteria offers versatility in search options, with certain fields marked as mandatory (checkIn, checkOut, hotels etc.) and others as optional (language, currency, nationality etc.). This flexibility empowers you to create a personalized Search Query, tailoring the requested fields to your specific needs.
checkIn * (Date)
Check-in date for booking.
Format: YYYY-MM-DD
Check-in date for booking. Format: YYYY-MM-DD
checkOut * (Date)
Check-out for booking.
Format: YYYY-MM-DD
Check-out for booking. Format: YYYY-MM-DD
hotels * (String)
Hotel Codes.
Hotel Codes.
destinations * (String)
Destination codes.
Destination codes.
occupancies * (RoomInput)
For multi-room bookings, this array will contain multiple elements (rooms).
For each room you have to specify its own occupancy.
For multi-room bookings, this array will contain multiple elements (rooms). For each room you have to specify its own occupancy.
paxes * (PaxInput)
Array of paxes ages. The number of items in the array will indicate the pax occupancy.
Array of paxes ages. The number of items in the array will indicate the pax occupancy.
age * (Int)
Age of the pax on the check-in day.
Age of the pax on the check-in day.
language (Language)
Language to be used in the request. If not set, the value saved in your Hotel-X API default settings will be used.
Language to be used in the request. If not set, the value saved in your Hotel-X API default settings will be used.
currency (Currency)
Currency requested if supported by supplier. If not set, the value saved in your Hotel-X API default settings will be used.
Currency requested if supported by supplier. If not set, the value saved in your Hotel-X API default settings will be used.
nationality (Country)
Nationality of the guest (use ISO3166_1_alfa_2). If not set, the value saved in your Hotel-X API default settings will be used.
Nationality of the guest (use ISO3166_1_alfa_2). If not set, the value saved in your Hotel-X API default settings will be used.
markets * (String)
Targeted zones, countries or point-of-sale to be used in request (use ISO3166_1_alfa_2). If not set, the value saved in your Hotel-X API default settings will be used.
Targeted zones, countries or point-of-sale to be used in request (use ISO3166_1_alfa_2). If not set, the value saved in your Hotel-X API default settings will be used.
HotelSettingsInput (INPUT_OBJECT)
Settings are the common configurations used to construct requests to the supplier/s. By default,
we apply the same configuration to all Hotel-X clients in our back system.
Settings are the common configurations used to construct requests to the supplier/s. By default, we apply the same configuration to all Hotel-X clients in our back system.
context (String)
Indicates the context of the I/O codes (hotel, board, room and rates)
Indicates the context of the I/O codes (hotel, board, room and rates)
client (ID)
Client name set in TGX, present only if the authorization header is of the JWT type. It is used to modify the user initially set in the preload.
Client name set in TGX, present only if the authorization header is of the JWT type. It is used to modify the user initially set in the preload.
timeout (Int)
Specifies the time limit, in milliseconds, for connecting with suppliers. If multiple suppliers are involved, this timeout applies to all of them. If a supplier exceeds this time limit, the connection to that supplier will be cut. However, Travelgate will keep the connection with the client even if this timeout is exceeded.
If not set, the value saved in your Hotel-X API default settings will be used.
Specifies the time limit, in milliseconds, for connecting with suppliers. If multiple suppliers are involved, this timeout applies to all of them. If a supplier exceeds this time limit, the connection to that supplier will be cut. However, Travelgate will keep the connection with the client even if this timeout is exceeded. If not set, the value saved in your Hotel-X API default settings will be used.
operationTimeout (Int)
Defines the maximum time, in milliseconds, before an operation is cancelled by our system. Once this time is reached, the operation will be aborted and an error will be returned. This timeout is for the Hotel-X layer and should be set to a higher value than the timeout for suppliers. For example, you could specify timeout as 20000ms and operationTimeout as 22000ms. This means that we will send a timeout of 20000ms to the suppliers and will close the connection at 22000ms if the operationTimeout is exceeded. Optional.
@deprecated(reason: "deprecated from 2024-11-11.")
Defines the maximum time, in milliseconds, before an operation is cancelled by our system. Once this time is reached, the operation will be aborted and an error will be returned. This timeout is for the Hotel-X layer and should be set to a higher value than the timeout for suppliers. For example, you could specify timeout as 20000ms and operationTimeout as 22000ms. This means that we will send a timeout of 20000ms to the suppliers and will close the connection at 22000ms if the operationTimeout is exceeded. Optional. @deprecated(reason: "deprecated from 2024-11-11.")
auditTransactions (Boolean)
Returns all the transactions exchanged with the supplier.
Returns all the transactions exchanged with the supplier.
businessRules (BusinessRulesInput)
Business rules
Business rules
optionsQuota (Int)
The maximum number of options returned per board in the search query. If not set, the value saved in your Hotel-X API default settings will be used.
The maximum number of options returned per board in the search query. If not set, the value saved in your Hotel-X API default settings will be used.
businessRulesType (Enum of BusinessRulesType)
Different business rules to filter the returned options.
Possible values:
CHEAPER_AMOUNT
ROOM_TYPE
Different business rules to filter the returned options.
Possible values:
CHEAPER_AMOUNT
ROOM_TYPE
suppliers * (HotelXSupplierInput)
Array of suppliers. Each one contains its own code, settings and accesses.
Array of suppliers. Each one contains its own code, settings and accesses.
settings (SettingsBaseInput)
You can configure an special settings for any supplier. This level overwrites the avail settings level but not the
access settings level.
You can configure an special settings for any supplier. This level overwrites the avail settings level but not the access settings level.
timeout (Int)
Milliseconds before the connection is closed.
Milliseconds before the connection is closed.
auditTransactions (Boolean)
Specifies if the exachanged transactions with the supplier have to be logged or not.
Specifies if the exachanged transactions with the supplier have to be logged or not.
currency (Currency)
Currency in ISO 4217 standard
Currency in ISO 4217 standard
commitRequired (Boolean)
Indicates if the book will be confirmed in 1 or 2 steps
Indicates if the book will be confirmed in 1 or 2 steps
code * (String)
Code that represents a supplier in our system.
This information is mandatory.
Code that represents a supplier in our system. This information is mandatory.
accesses * (HotelXAccessInput)
Array of accesses that can overwrite an existing access information or include a new access for this avail.
Array of accesses that can overwrite an existing access information or include a new access for this avail.
accessId * (ID)
The accessID used to identify the existing access in our Back Office in order to
overwrite it. Acts as an identifier in this search. It can either exist or not.
The accessID used to identify the existing access in our Back Office in order to overwrite it. Acts as an identifier in this search. It can either exist or not.
configuration (ConfigurationInput)
Information required to access the supplier s system.
Information required to access the supplier s system.
username (String)
User name for the connection.
User name for the connection.
password (String)
Password for the connection
Password for the connection
urls * (UrlsInput)
URL or endpoint for the connection.
URL or endpoint for the connection.
search (URI)
Specific URL for Availability method.
Specific URL for Availability method.
quote (URI)
Specific URL for Reservation method.
Specific URL for Reservation method.
book (URI)
Specific URL for Valuation method.
Specific URL for Valuation method.
generic (URI)
Supplier URL used for multiple methods.
Supplier URL used for multiple methods.
parameters * (ParameterInput)
List of parameters with additional required information.
List of parameters with additional required information.
key * (String)
Contains the keyword/Id to identify a parameter.
This information is mandatory.
Contains the keyword/Id to identify a parameter. This information is mandatory.
value * (String)
Contains the parameter values.
This information is mandatory.
Contains the parameter values. This information is mandatory.
markets * (String)
Source Markets allowed for the Access (use ISO3166_1_alfa_2).
Source Markets allowed for the Access (use ISO3166_1_alfa_2).
rateRules * (Enum of RateRulesType)
RateRules allowed for the access.
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
RateRules allowed for the access.
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
plugins * (PluginStepInput)
Array of plugins to execute.
Array of plugins to execute.
step * (Enum of PluginStepType)
Indicates where the plugin will be executed.
Possible values:
REQUEST
REQUEST_ACCESS
RESPONSE_OPTION
RESPONSE_ACCESS
RESPONSE
Indicates where the plugin will be executed.
Possible values:
REQUEST
REQUEST_ACCESS
RESPONSE_OPTION
RESPONSE_ACCESS
RESPONSE
pluginsType * (PluginsInput)
Indicates the plugin that will be executed.
Indicates the plugin that will be executed.
type * (Enum of PluginType)
Type of the plugin to execute
Possible values:
PRE_STEP
HOTEL_MAP
BOARD_MAP
ROOM_MAP
CURRENCY_CONVERSION
MARKUP
AGGREGATION
POST_STEP
COMMISSION
MARKETS_GROUP
AMENITY_MAP
PROMOTION_MAP
Type of the plugin to execute
Possible values:
PRE_STEP
HOTEL_MAP
BOARD_MAP
ROOM_MAP
CURRENCY_CONVERSION
MARKUP
AGGREGATION
POST_STEP
COMMISSION
MARKETS_GROUP
AMENITY_MAP
PROMOTION_MAP
name * (String)
Name of the plugin to execute
Name of the plugin to execute
parameters * (undefined)
Parameters of the plugin
Parameters of the plugin
testMode (Boolean)
This flag is only allowed to be used for the access checked as 'TEST.' By default, it is set to 'LIVE.'
This flag is only allowed to be used for the access checked as 'TEST.' By default, it is set to 'LIVE.'
clientTokens * (String)
Used to identify the origin of the request. This is solely used in plugins.
Used to identify the origin of the request. This is solely used in plugins.
commitRequired (Boolean)
Indicates if the book will be confirmed in 1 or 2 steps. It only should be used in Book.
Indicates if the book will be confirmed in 1 or 2 steps. It only should be used in Book.
HotelXFilterSearchInput (INPUT_OBJECT)
Filters allow you to precisely tailor the response according to your preferences.
Filters allow you to precisely tailor the response according to your preferences.
access (AccessFilterInput)
By using the access filter, our system will exclusively include or exclude options from the selected accesses.
If you opt not to set any access at all, requests will be made to all available accesses.
By using the access filter, our system will exclusively include or exclude options from the selected accesses. If you opt not to set any access at all, requests will be made to all available accesses.
includes * (ID)
These Access IDs will overwrite the default configuration. Only the IDs on this list will be used in the search query.
These Access IDs will overwrite the default configuration. Only the IDs on this list will be used in the search query.
excludes * (ID)
These Access IDs will overwrite the default configuration. The IDs on this list will be excluded from the search query.
These Access IDs will overwrite the default configuration. The IDs on this list will be excluded from the search query.
plugin (HotelXPluginFilterInput)
You can filter and specify which plugins need to be included or excluded.
You can filter and specify which plugins need to be included or excluded.
includes * (HotelXFilterPluginTypeInput)
Plugins to be only executed
Plugins to be only executed
step * (Enum of PluginStepType)
The Step of the plugin to filter
Possible values:
REQUEST
REQUEST_ACCESS
RESPONSE_OPTION
RESPONSE_ACCESS
RESPONSE
The Step of the plugin to filter
Possible values:
REQUEST
REQUEST_ACCESS
RESPONSE_OPTION
RESPONSE_ACCESS
RESPONSE
type * (String)
The Type of the plugin to filter
The Type of the plugin to filter
name * (String)
The Name of the plugin to filter
The Name of the plugin to filter
excludes * (undefined)
Plugins to exclude
Plugins to exclude
rateRules (RateRulesFilterInput)
This filter enables you to narrow down the options returned by the suppliers based on the desired rate rules you want to include or exclude.
This filter enables you to narrow down the options returned by the suppliers based on the desired rate rules you want to include or exclude.
includes * (Enum of RateRulesType)
if includes not nil: only options without rate rules and options with rate rules found in includes will be returned
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
if includes not nil: only options without rate rules and options with rate rules found in includes will be returned
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
excludes * (undefined)
if excludes not nil: only options without rate rules and options with rate rules that haven t been sent in excludes will be returned
if excludes not nil: only options without rate rules and options with rate rules that haven t been sent in excludes will be returned
status (StatusFilterInput)
Use this filter to determine which status (OK and RQ) will be included or excluded in the response.
Use this filter to determine which status (OK and RQ) will be included or excluded in the response.
includes * (Enum of StatusType)
When is not nil: only options with status found in includes will be returned
Possible values:
OK
RQ
When is not nil: only options with status found in includes will be returned
Possible values:
OK
RQ
excludes * (undefined)
When is not nil: only options without status found in includes will be returned
When is not nil: only options without status found in includes will be returned
Returned Fields
HotelSearch (OBJECT)
Hotel results from the search response. Contains all the available options for the given criteria search
Hotel results from the search response. Contains all the available options for the given criteria search
context (String)
Indicates the context of the response.
Indicates the context of the response.
stats (StatsRequest)
Application stats in string format
Application stats in string format
total * (Stat)
Total transaction time
Total transaction time
start * (DateTime)
Start UTC
Start UTC
end * (DateTime)
End UTC
End UTC
duration (Float)
Difference between start and end in miliseconds
Difference between start and end in miliseconds
validation * (undefined)
Request validation time
Request validation time
process * (undefined)
Process time. Contains communication time, parse time and plugin time.
Process time. Contains communication time, parse time and plugin time.
configuration * (undefined)
Build access time
Build access time
request * (undefined)
Request time
Request time
response * (undefined)
Response time
Response time
requestPlugin (StatPlugin)
Plugin execution time
Plugin execution time
name * (String)
Plugin name
Plugin name
total * (undefined)
total plugin time
total plugin time
hotels * (Int)
Number of hotels
Number of hotels
zones * (Int)
Number of zones
Number of zones
cities * (Int)
Number of cities
Number of cities
dockerID * (String)
Docker Id
Docker Id
Accesses * (StatAccess)
Detail access time
Detail access time
name * (String)
Access name
Access name
total * (undefined)
Total access time
Total access time
hotels * (Int)
Number of hotels
Number of hotels
zones * (Int)
Number of zones
Number of zones
cities * (Int)
Number of cities
Number of cities
transactions * (StatTransaction)
Detail transaction time
Detail transaction time
reference * (String)
Extra information about transaction.
Extra information about transaction.
total * (undefined)
Total transaction time
Total transaction time
buildRequest * (undefined)
Build request time
Build request time
workerCommunication * (undefined)
Worker connection time
Worker connection time
parseResponse * (undefined)
Parse response time
Parse response time
plugins * (undefined)
Plugin execution time
Plugin execution time
auditData (AuditData)
All the sent and received transactions in the supplier's native format.
All the sent and received transactions in the supplier's native format.
transactions * (Transactions)
List of the transactions data.
List of the transactions data.
request * (String)
Transaction Request.
Transaction Request.
response * (String)
Transaction Response.
Transaction Response.
timeStamp * (DateTime)
Time when the request has been processed.
Time when the request has been processed.
timeStamp * (DateTime)
Timestamp.
Timestamp.
processTime * (Float)
Process time of the transaction data in milliseconds (ms).
Process time of the transaction data in milliseconds (ms).
requestCriteria (CriteriaSearch)
Request Criteria contains destination, travel dates and the number of pax in each room.
Request Criteria contains destination, travel dates and the number of pax in each room.
checkIn * (Date)
Check-in date for booking
Format: YYYY-MM-DD
Check-in date for booking Format: YYYY-MM-DD
checkOut * (Date)
Check-out, booking date
Format: YYYY-MM-DD
Check-out, booking date Format: YYYY-MM-DD
hotels * (String)
Contains the list of hotel IDs
Contains the list of hotel IDs
occupancies * (RoomCriteria)
For multi-room bookings, this array will contain multiple elements (rooms).
For each room you have to specify its own occupancy.
For multi-room bookings, this array will contain multiple elements (rooms). For each room you have to specify its own occupancy.
paxes * (Pax)
Array of pax ages. The number of items in the array will indicate the pax occupancy.
Array of pax ages. The number of items in the array will indicate the pax occupancy.
age * (Int)
Passenger age on the day of check-in, which can vary for adults, infants, or babies depending on each supplier's particular age range.
Passenger age on the day of check-in, which can vary for adults, infants, or babies depending on each supplier's particular age range.
name (String)
Specifies the pax name.
Specifies the pax name.
surname (String)
Specifies the pax surname.
Specifies the pax surname.
title (Enum of PersonalTitleType)
Specifies the pax title.
Possible values:
MR
MRS
MISS
MS
NOT_SPECIFIED
Specifies the pax title.
Possible values:
MR
MRS
MISS
MS
NOT_SPECIFIED
language (Language)
Language to be used in the request.
Language to be used in the request.
currency (Currency)
Currency requested if supported by supplier
Currency requested if supported by supplier
nationality (Country)
Nationality of the guests (use ISO3166_1_alfa_2)
Nationality of the guests (use ISO3166_1_alfa_2)
market * (String)
Targeted zone, country or point-ofsale-to be used in request.
Targeted zone, country or point-ofsale-to be used in request.
options * (HotelOptionSearch)
List of options returned according to the request.
List of options returned according to the request.
supplierCode * (String)
Supplier that offers this option.
Supplier that offers this option.
accessCode * (String)
Access code of this option.
Access code of this option.
markets * (String)
Markets of this option (use ISO3166_1_alfa_2).
Markets of this option (use ISO3166_1_alfa_2).
hotelCode * (String)
Code of the hotel in the context selected.
Code of the hotel in the context selected.
hotelCodeSupplier * (String)
Supplier's hotel code.
Supplier's hotel code.
hotelName (String)
Name of the hotel.
Name of the hotel.
boardCode * (String)
Code of the board in the context selected.
Code of the board in the context selected.
boardCodeSupplier * (String)
Supplier's board code.
Supplier's board code.
paymentType * (Enum of PaymentType)
Indicates the payment type of the option returned. Possible options: MERCHANT, DIRECT, CARD_BOOKING and CARD_CHECK_IN.
Possible values:
MERCHANT
DIRECT
CARD_BOOKING
CARD_CHECK_IN
Indicates the payment type of the option returned. Possible options: MERCHANT, DIRECT, CARD_BOOKING and CARD_CHECK_IN.
Possible values:
MERCHANT
DIRECT
CARD_BOOKING
CARD_CHECK_IN
status * (Enum of StatusType)
The possible values in the response's status are Available (OK) or On Request (RQ).
Possible values:
OK
RQ
The possible values in the response's status are Available (OK) or On Request (RQ).
Possible values:
OK
RQ
occupancies * (Occupancy)
List of occupancies for the request
List of occupancies for the request
id * (Int)
Unique ID room in this option.
Unique ID room in this option.
paxes * (undefined)
List of pax of this occupancy.
List of pax of this occupancy.
rooms * (Room)
List of rooms of the option returned.
List of rooms of the option returned.
occupancyRefId * (Int)
ID reference to the occupancy
ID reference to the occupancy
legacyRoomId * (String)
Identifies the legacy room ID
Identifies the legacy room ID
code * (String)
Indicates the room code
Indicates the room code
supplierCode * (String)
Supplier s room code.
Supplier s room code.
description (String)
Description about the room. This field can be mapped.
Description about the room. This field can be mapped.
descriptionSupplier (String)
Description about the room in supplier's context.
Description about the room in supplier's context.
refundable (Boolean)
Identifies if the room is refundable or not.
Identifies if the room is refundable or not.
units (Int)
Number of rooms available with the same type.
Number of rooms available with the same type.
roomPrice * (RoomPrice)
Specifies the room price.
Specifies the room price.
price * (Price)
Total price for all days.
Total price for all days.
currency * (Currency)
Currency code indicating which currency should be paid.
Currency code indicating which currency should be paid.
binding * (Boolean)
It indicates whether the gross price must be honored, meaning the customer cannot sell the room/option at a price lower than the supplier's established rate.
It indicates whether the gross price must be honored, meaning the customer cannot sell the room/option at a price lower than the supplier's established rate.
net * (Float)
It indicates the net price that the customer must pay to the supplier.
The net price is calculated by substrating the included surcharges from the gross price. (For calculation purposes only)
It indicates the net price that the customer must pay to the supplier. The net price is calculated by substrating the included surcharges from the gross price. (For calculation purposes only)
gross * (Float)
Indicates the retail price that the supplier sells to the customer.
Indicates the retail price that the supplier sells to the customer.
exchange * (Exchange)
Provides currency information and the applicable rate for the results returned by the Supplier
Provides currency information and the applicable rate for the results returned by the Supplier
currency * (Currency)
Provide information about the currency of origin
Provide information about the currency of origin
rate * (Float)
Provides information about the rate applied over results
Provides information about the rate applied over results
markups * (Markup)
Informs markup applied over supplier price.
Informs markup applied over supplier price.
channel (String)
channel of markup application.
channel of markup application.
currency * (Currency)
Currency code indicating which currency should be paid.
This information is mandatory.
Currency code indicating which currency should be paid. This information is mandatory.
binding * (Boolean)
It indicates if the price indicated in the gross must be respected. In case minimumSellingPrice is not empty, the binding indicates instead that the minimumSellingPrice must be respected.
That is, the customer can not sell the room / option at a price lower than that established by the supplier.
This information is mandatory.
It indicates if the price indicated in the gross must be respected. In case minimumSellingPrice is not empty, the binding indicates instead that the minimumSellingPrice must be respected. That is, the customer can not sell the room / option at a price lower than that established by the supplier. This information is mandatory.
net * (Float)
Indicates the net price that the customer must pay to the supplier plus the markup.
This information is mandatory.
Indicates the net price that the customer must pay to the supplier plus the markup. This information is mandatory.
gross (Float)
Indicates the retail price that the supplier sells to the customer plus the markup.
Indicates the retail price that the supplier sells to the customer plus the markup.
exchange * (undefined)
Informs about the currency of origin, and the rate applied over result.
This information is mandatory.
Informs about the currency of origin, and the rate applied over result. This information is mandatory.
rules * (Rule)
Breakdown of the applied rules for a markup
Breakdown of the applied rules for a markup
id * (String)
rule identifier
rule identifier
name (String)
rule name
rule name
type * (Enum of MarkupRuleType)
type of the value
Possible values:
PERCENT
IMPORT
type of the value
Possible values:
PERCENT
IMPORT
value * (Float)
value applied by this rule
value applied by this rule
minimumSellingPrice (Float)
Indicates the minimum selling price it can be sold (determined by the Seller). Is is specified (not null), that field takes preference to Gross and Binding.
Indicates the minimum selling price it can be sold (determined by the Seller). Is is specified (not null), that field takes preference to Gross and Binding.
breakdown * (PriceBreakdown)
Daily break downs price.
Daily break downs price.
start * (Date)
Start date in which the price becomes effective.
Format: YYYY-MM-DD
Start date in which the price becomes effective. Format: YYYY-MM-DD
end * (Date)
Expire date of price.
Format: YYYY-MM-DD
Expire date of price. Format: YYYY-MM-DD
price * (undefined)
Specifies the daily price.
Specifies the daily price.
beds * (Bed)
List of beds.
List of beds.
type (String)
Specifies the bed type
Specifies the bed type
count (Int)
Indicates number of beds in a room
Indicates number of beds in a room
shared (Boolean)
Specifies if the bed is shared or not
Specifies if the bed is shared or not
ratePlans * (RatePlan)
List of the daily breakdowns of the specific rate plan
List of the daily breakdowns of the specific rate plan
code * (String)
Specifies the rate code.
Specifies the rate code.
supplierCode * (String)
Supplier s rate code.
Supplier s rate code.
name (String)
Specifies the rate name.
Specifies the rate name.
start (Date)
Start date in which the rate becomes effective.
Format: YYYY-MM-DD
Start date in which the rate becomes effective. Format: YYYY-MM-DD
end (Date)
Expire date of the rate.
Format: YYYY-MM-DD
Expire date of the rate. Format: YYYY-MM-DD
promotions * (Promotion)
List of daily breakdowns for the promotions of the room.
List of daily breakdowns for the promotions of the room.
code * (String)
Specifies the promotion code.
Specifies the promotion code.
name (String)
Specifies the promotion name.
Specifies the promotion name.
supplierCode * (String)
Specifies the supplier s promotion code.
Specifies the supplier s promotion code.
start (Date)
Promotion effective date.
Format: YYYY-MM-DD
Promotion effective date. Format: YYYY-MM-DD
end (Date)
Promotion expire date.
Format: YYYY-MM-DD
Promotion expire date. Format: YYYY-MM-DD
surcharges * (Surcharge)
List of surcharges of the option returned.
List of surcharges of the option returned.
code (String)
Indicates the surcharge code
Indicates the surcharge code
chargeType * (Enum of ChargeType)
Indicates the charge type. We need to know whether the supplements have to be paid when the consumer gets to the hotel or beforehand.
Possible charge types: INCLUDE or EXCLUDE.
when INCLUDE : this surcharge is mandatory and included in the option s price
when EXCLUDE : this surcharge is not included in the option s price
Possible values:
INCLUDE
EXCLUDE
Indicates the charge type. We need to know whether the supplements have to be paid when the consumer gets to the hotel or beforehand. Possible charge types: INCLUDE or EXCLUDE. when INCLUDE : this surcharge is mandatory and included in the option s price when EXCLUDE : this surcharge is not included in the option s price
Possible values:
INCLUDE
EXCLUDE
mandatory * (Boolean)
Indicates if the surcharge is mandatory or not. If mandatory, this surcharge will be applied to this option.
If the chargeType is EXCLUDE the customer will have to pay it directly at the hotel.
Indicates if the surcharge is mandatory or not. If mandatory, this surcharge will be applied to this option. If the chargeType is EXCLUDE the customer will have to pay it directly at the hotel.
price * (undefined)
Indicates the surcharge price.
Indicates the surcharge price.
description (String)
Specifies the surcharge description.
Specifies the surcharge description.
features * (Feature)
List of features of this room
List of features of this room
code * (String)
Feature code.
Feature code.
amenities * (Amenity)
Room level amenities provide information about features intended to enhance comfort and enjoyment.
Examples include swimming pools, shopping centers, etc.
Room level amenities provide information about features intended to enhance comfort and enjoyment. Examples include swimming pools, shopping centers, etc.
code * (String)
Code
Code
amenityCodeSupplier * (String)
Code in supplier context
Code in supplier context
type * (Enum of ApplicationAreaType)
Indicates the type of Amenity.
Possible values:
HOTEL
ROOM
SERVICE
GENERAL
Indicates the type of Amenity.
Possible values:
HOTEL
ROOM
SERVICE
GENERAL
value * (String)
Contains the value of amenity.
Contains the value of amenity.
texts * (String)
Contains the descriptive of amenity.
Contains the descriptive of amenity.
cancelPolicy (CancelPolicy)
Specifies cancel policies of this room.
Specifies cancel policies of this room.
refundable * (Boolean)
Indicates if the option is refundable or non-refundable
Indicates if the option is refundable or non-refundable
cancelPenalties * (CancelPenalty)
List of cancellation penalties
List of cancellation penalties
deadline (DateTime)
Cancellation fees will be applicable between this date and check-in date
Cancellation fees will be applicable between this date and check-in date
isCalculatedDeadline * (Boolean)
Specifies if the deadline has been taken from the seller’s response (false) or has been calculated by TravelgateX (true)
Specifies if the deadline has been taken from the seller’s response (false) or has been calculated by TravelgateX (true)
penaltyType * (Enum of CancelPenaltyType)
Type of penalty; this can be Nights, Percent or Import
Possible values:
NIGHTS
PERCENT
IMPORT
Type of penalty; this can be Nights, Percent or Import
Possible values:
NIGHTS
PERCENT
IMPORT
currency * (Currency)
Currency used in the cancellation policy
Currency used in the cancellation policy
value * (Float)
Value of the cancellation policy
Value of the cancellation policy
description (String)
Extra details and information about supplier's cancel policies to give a further insight. This information is not supported for all the suppliers.
Extra details and information about supplier's cancel policies to give a further insight. This information is not supported for all the suppliers.
remarks (String)
Additional information about the room.
Additional information about the room.
price * (undefined)
Specifies the prices (Gross and Net) of the option returned.
Specifies the prices (Gross and Net) of the option returned.
supplements * (Supplement)
List of supplements of the option returned.
List of supplements of the option returned.
code * (String)
Specifies the supplement code.
Specifies the supplement code.
name (String)
Specifies the supplement name.
Specifies the supplement name.
description (String)
Specifies the supplement description.
Specifies the supplement description.
supplementType (Enum of SupplementType)
Indicates the supplement type. Possible types: Fee, Ski_pass, Lessons, Meals, Equipment, Ticket, Transfers, Gla, Activity or Other.
Possible values:
SKI_PASS
LESSONS
MEALS
EQUIPMENT
TICKET
TRANSFERS
GALA
ACTIVITY
OTHER
Indicates the supplement type. Possible types: Fee, Ski_pass, Lessons, Meals, Equipment, Ticket, Transfers, Gla, Activity or Other.
Possible values:
SKI_PASS
LESSONS
MEALS
EQUIPMENT
TICKET
TRANSFERS
GALA
ACTIVITY
OTHER
chargeType * (undefined)
Indicates the charge types. We need to know whether the supplements have to be paid when the consumer gets to the hotel or beforehand.
Possible charge types: INCLUDE or EXCLUDE.
when INCLUDE : this supplement is mandatory and included in the option s price
when EXCLUDE : this supplement is not included in the option s price
Indicates the charge types. We need to know whether the supplements have to be paid when the consumer gets to the hotel or beforehand. Possible charge types: INCLUDE or EXCLUDE. when INCLUDE : this supplement is mandatory and included in the option s price when EXCLUDE : this supplement is not included in the option s price
mandatory * (Boolean)
Indicates if the supplement is mandatory or not. If mandatory, this supplement will be applied to this option.
If the chargeType is EXCLUDE the customer will have to pay it directly at the hotel
Indicates if the supplement is mandatory or not. If mandatory, this supplement will be applied to this option. If the chargeType is EXCLUDE the customer will have to pay it directly at the hotel
durationType (Enum of DurationType)
Specifies the duration type. Possible duration types: Range (specified dates) or Open. This field is mandatory for PDI.
Possible values:
RANGE
OPEN
Specifies the duration type. Possible duration types: Range (specified dates) or Open. This field is mandatory for PDI.
Possible values:
RANGE
OPEN
quantity (Int)
Indicates the quantity of field in the element "unit".
Indicates the quantity of field in the element "unit".
unit (Enum of UnitTimeType)
Indicates the unit type. Possible unit types: Day or Hour.
Possible values:
DAY
HOUR
Indicates the unit type. Possible unit types: Day or Hour.
Possible values:
DAY
HOUR
start (Date)
Indicates the effective date of the supplement.
Format: YYYY-MM-DD
Indicates the effective date of the supplement. Format: YYYY-MM-DD
end (Date)
Indicates the expire date of the supplement.
Format: YYYY-MM-DD
Indicates the expire date of the supplement. Format: YYYY-MM-DD
resort (Resort)
Contains information about the resort
Contains information about the resort
code * (String)
Specifies the resort code.
Specifies the resort code.
name (String)
Specifies the resort name.
Specifies the resort name.
description (String)
Specifies the resort description.
Specifies the resort description.
surcharges * (undefined)
List of surcharges of the option returned.
List of surcharges of the option returned.
rateRules * (Enum of RateRulesType)
Specifies rate rules of the option returned. Note: If the option does not have any rate rule, then the option is NORMAL rate.
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
Specifies rate rules of the option returned. Note: If the option does not have any rate rule, then the option is NORMAL rate.
Possible values:
NORMAL
PACKAGE
OLDER55
OLDER60
OLDER65
CANARY_RESIDENT
BALEARIC_RESIDENT
LARGE_FAMILY
HONEYMOON
PUBLIC_SERVANT
UNEMPLOYED
NON_REFUNDABLE
MOBILE
WARRANTY
ESSENTIAL_WORKER
NEGOTIATED
CUSTOM
remarks (String)
Additional information about the option.
Additional information about the option.
addOns (AddOns)
Additional information about the option.
Additional information about the option.
distribution * (AddOn)
Extra information from the Distribution layer.
Extra information from the Distribution layer.
key * (String)
Contains keyword/ID to identify the AddOn.
Contains keyword/ID to identify the AddOn.
value * (JSON)
Contains AddOn values.
Contains AddOn values.
supplier * (undefined)
Extra information from the Supplier layer.
Extra information from the Supplier layer.
id * (String)
OptionRefID is a unique identifier assigned to each option. It should not be modified and should not be used externally, as it is an internal TGX system identifier.
OptionRefID is a unique identifier assigned to each option. It should not be modified and should not be used externally, as it is an internal TGX system identifier.
amenities * (undefined)
Option-level amenities provide information about features intended to enhance comfort and enjoyment. Examples include swimming pools, shopping centers, etc.
Option-level amenities provide information about features intended to enhance comfort and enjoyment. Examples include swimming pools, shopping centers, etc.
rateRulesExtended * (HotelOptionRateRule)
RateRules contains all the rules that will be applied to book the option.
RateRules contains all the rules that will be applied to book the option.
type * (undefined)
Rate rule type
Rate rule type
rates * (HotelOptionRate)
Rates applied to the option
Rates applied to the option
code (String)
It identifies the rate in the request's context, if mapped; otherwise, it is equal to the supplierCode.
It identifies the rate in the request's context, if mapped; otherwise, it is equal to the supplierCode.
supplierCode (String)
Rate code in supplier context.
Rate code in supplier context.
description (String)
Rate description.
Rate description.
restrictions * (HotelOptionRateRestriction)
Restrictions applied to the rate.
Restrictions applied to the rate.
type * (Enum of HotelOptionRateRestrictionType)
Restriction type
Possible values:
COMPANY
MARKET
OTHERS
Restriction type
Possible values:
COMPANY
MARKET
OTHERS
code * (String)
Restriction code
Restriction code
description (String)
Restriction description
Restriction description
errors * (Error)
List of errors that abort services.
List of errors that abort services.
code * (String)
Error code.
Error code.
type * (String)
Error type.
Error type.
description * (String)
Error description.
Error description.
warnings * (Warning)
Potentially harmful situations or errors that won't force the service to abort.
To identify if it is blocked one, you can check our documentation regards this matter.
Potentially harmful situations or errors that won't force the service to abort. To identify if it is blocked one, you can check our documentation regards this matter.
code * (String)
Warning code
Warning code
type * (String)
Warning type
Warning type
description * (String)
Warning description
Warning description
tracing (HotelXTracing)
Other information it may need to analize transactions. This information is only available through internal request and, by default, it is not returned
Other information it may need to analize transactions. This information is only available through internal request and, by default, it is not returned
operationSpan * (HotelXOperationSpan)
status * (String)
accessSpans * (HotelXAccessSpan)
status * (String)
access * (Access)
code * (ID)
accessData (AccessData)
id * (ID)
Unique ID identifier
Unique ID identifier
code * (ID)
Unique AccessConfiguration identifier
Unique AccessConfiguration identifier
name * (String)
Access descriptive name
Access descriptive name
isActive * (Boolean)
Indicates if Access is active
Indicates if Access is active
isTest * (Boolean)
Indicates if Access can be used for testing or not
Indicates if Access can be used for testing or not
isShared * (Boolean)
Indicates if Access is Shared
Indicates if Access is Shared
isOpenAccess * (Boolean)
Indicates if Access is open to all partners.
Indicates if Access is open to all partners.
supplier * (Supplier)
Supplier for this Access
Supplier for this Access
code * (ID)
Supplier unique code
Supplier unique code
supplierData (SupplierData)
Extended Supplier information
Extended Supplier information
id * (ID)
Supplier unique ID. Format: integer.
Supplier unique ID. Format: integer.
code * (ID)
Supplier unique code
Supplier unique code
name * (String)
Supplier name
Supplier name
isActive * (Boolean)
Indicates whether a Supplier is active.
This is a calculated field, a specific supplier can be activated or deactivated,
but if its provider is deactivated, the value will be = false
Indicates whether a Supplier is active. This is a calculated field, a specific supplier can be activated or deactivated, but if its provider is deactivated, the value will be = false
provider * (ProviderData)
Instance to which this supllier is connected
Instance to which this supllier is connected
id * (ID)
Provider unique ID. Format: integer.
Provider unique ID. Format: integer.
code * (ID)
Provider unique code
Provider unique code
name * (String)
Provider name
Provider name
isActive * (Boolean)
Indicates whether a Provider is active.
If the Provider is deactivated, all its Suppliers will be deactivated
Indicates whether a Provider is active. If the Provider is deactivated, all its Suppliers will be deactivated
audits * (EntityAuditConnection)
Audits it shows the provider's change history
Audits it shows the provider's change history
edges (EntityAuditEdge)
node (EntityAudit)
code * (ID)
entityAuditData (EntityAuditData)
id * (ID)
code * (ID)
entityType * (Enum of EntityType)
Possible values:
ACCESS
SUPPLIER
CLIENT
PROVIDER
MEMBER
API_KEY
ACCESS
SUPPLIER
CLIENT
PROVIDER
MEMBER
API_KEY
actionType * (Enum of ActionType)
Possible values:
UPDATE
DELETE
CREATE
ARCHIVE
UNARCHIVE
ACTIVATE
DEACTIVATE
GRANT_TO_GROUPS
REVOKE_FROM_FROUPS
APPEND_PARAMETERS
DELETE_PARAMETERS
APPEND_MARKETS
DELETE_MARKETS
APPEND_RATERULES
DELETE_RATERULES
SET_FIELD
REMOVE_FIELD
ACTIVATE_SPEED
DEACTIVATE_SPEED
SET_IS_PUBLIC
REMOVE_MEMBER_SERVICE_ROLE
UPDATE_MEMBER_SERVICE_ROLE
REFRESH_TOKEN
UPDATE
DELETE
CREATE
ARCHIVE
UNARCHIVE
ACTIVATE
DEACTIVATE
GRANT_TO_GROUPS
REVOKE_FROM_FROUPS
APPEND_PARAMETERS
DELETE_PARAMETERS
APPEND_MARKETS
DELETE_MARKETS
APPEND_RATERULES
DELETE_RATERULES
SET_FIELD
REMOVE_FIELD
ACTIVATE_SPEED
DEACTIVATE_SPEED
SET_IS_PUBLIC
REMOVE_MEMBER_SERVICE_ROLE
UPDATE_MEMBER_SERVICE_ROLE
REFRESH_TOKEN
auditDetails (AuditDetails)
field * (String)
current * (String)
previous * (String)
modifiedBy * (String)
correlationID (String)
adviseMessage * (AdviseMessage)
code * (ID)
AM code: The following codes can be returned:
AM code: The following codes can be returned:
description * (String)
Error description
Error description
level * (Enum of AdviseMessageLevel)
Indicates the level of importance of the message.
Possible values: ERROR, WARN, INFO.
Possible values:
WARN
ERROR
INFO
Indicates the level of importance of the message. Possible values: ERROR, WARN, INFO.
Possible values:
WARN
ERROR
INFO
external (ExternalMessage)
Specify the external message.
Specify the external message.
code (String)
External code.
External code.
message * (String)
External message.
External message.
correlationID * (ID)
Identifier to investigate the cause of the error.
Identifier to investigate the cause of the error.
createdAt * (Time)
updatedAt * (Time)
deletedAt (Time)
cursor * (String)
pageInfo * (PageInfo)
hasNextPage * (Boolean)
hasPreviousPage * (Boolean)
startCursor (String)
endCursor (String)
adviseMessage * (undefined)
totalCount * (Int)
connectionType * (Enum of ProviderConnectionType)
Indicates connection type of Supplier
Possible values:
PULL
PUSH
Indicates connection type of Supplier
Possible values:
PULL
PUSH
serviceApi * (Int)
ServiceAPI indicates the type of the connection
- hotel
- transportation
- car
- transfers
- activities
- virtualaccount
- payment
- package
ServiceAPI indicates the type of the connection
api * (Enum of APIName)
API name for service API
Possible values:
HOTEL
TRANSPORTATION
CAR
TRANSFERS
ACTIVITIES
VIRTUALACCOUNT
PAYMENT
PACKAGE
API name for service API
Possible values:
HOTEL
TRANSPORTATION
CAR
TRANSFERS
ACTIVITIES
VIRTUALACCOUNT
PAYMENT
PACKAGE
owner (Organization)
Organization that owns the Supplier
Organization that owns the Supplier
code * (ID)
organizationData (OrganizationData)
id * (ID)
code * (ID)
label (String)
type * (Enum of GroupType)
Possible values:
ROOT
ORG
GROUP
TEAM
FOLDER
PRODUCT
RESOURCE
SPECIFIC_RESOURCE
ROOT
ORG
GROUP
TEAM
FOLDER
PRODUCT
RESOURCE
SPECIFIC_RESOURCE
info (String)
crmID (String)
crmData (CompanyCrmData)
crmID * (String)
connectionType * (Enum of ConnectionType)
Possible values:
HOTEL_X_BUYER_ONLY
HOTEL_LEGACY_BUYER_ONLY
CHANNEL_X_BUYER_ONLY
HOTEL_PULL_LEGACY_SELLER_ONLY
HOTEL_PULL_SELLER_GENERIC
HOTEL_PUSH_LEGACY_SELLER_ONLY
HOTEL_PUSH_SELLER_GENERIC
DMC_X
FLIGHTS_LEGACY_SELLER_ONLY
PAYMENT_LEGACY_SELLER_ONLY
B2B_VIRTUAL_AGENCY_TOOL_BUYER_ONLY
TRANSPORTATION_FLIGHT_LEGACY_BUYER_ONLY
FLIGHT_X_BUYER_ONLY
DIRECT_X
DISTRIBUTE
INVENTORY
ACTIVITIES_LEGACY
CARS_LEGACY
TRANSFERS_LEGACY
VIRTUAL_ACCOUNT_LEGACY
HOTEL_X_BUYER_ONLY
HOTEL_LEGACY_BUYER_ONLY
CHANNEL_X_BUYER_ONLY
HOTEL_PULL_LEGACY_SELLER_ONLY
HOTEL_PULL_SELLER_GENERIC
HOTEL_PUSH_LEGACY_SELLER_ONLY
HOTEL_PUSH_SELLER_GENERIC
DMC_X
FLIGHTS_LEGACY_SELLER_ONLY
PAYMENT_LEGACY_SELLER_ONLY
B2B_VIRTUAL_AGENCY_TOOL_BUYER_ONLY
TRANSPORTATION_FLIGHT_LEGACY_BUYER_ONLY
FLIGHT_X_BUYER_ONLY
DIRECT_X
DISTRIBUTE
INVENTORY
ACTIVITIES_LEGACY
CARS_LEGACY
TRANSFERS_LEGACY
VIRTUAL_ACCOUNT_LEGACY
contract * (Enum of Contract)
Possible values:
CONTRACT_TCP
CONTRACT_AFFILIATE
CONTRACT_RESELLER
ANNEX_POWER_BUYER
ANNEX_PREMIUM_SELLER
ANNEX_SELECTIVE_PREMIUM_SELLER
ANNEX_STANDARD_SELLER
ANNEX_STANDARD_BUYER
ANNEX_PREFERRED_SELLER
CONTRACT_TCP
CONTRACT_AFFILIATE
CONTRACT_RESELLER
ANNEX_POWER_BUYER
ANNEX_PREMIUM_SELLER
ANNEX_SELECTIVE_PREMIUM_SELLER
ANNEX_STANDARD_SELLER
ANNEX_STANDARD_BUYER
ANNEX_PREFERRED_SELLER
techPlatformName (String)
isPublic (Boolean)
children (GroupConnection)
Only responses folders.(non-hierarchically)
Only responses folders.(non-hierarchically)
edges (GroupEdge)
node (Group)
code * (ID)
groupData (GroupData)
id * (ID)
code * (ID)
label (String)
folder (String)
type * (undefined)
info (String)
isPublic * (Boolean)
owner (Member)
code * (ID)
memberData (MemberData)
id * (ID)
code * (ID)
label (String)
isActive * (Boolean)
Can members does queries in the platform?
Can members does queries in the platform?
firstName (String)
lastName (String)
crmData (CrmData)
CRM specific data
CRM specific data
crmID (String)
contactImportance (String)
companyRole (String)
roles (RoleConnection)
which roles the member has in?
which roles the member has in?
edges (RoleEdge)
node (Role)
code * (ID)
roleData (RoleData)
id * (ID)
code * (ID)
type * (Enum of RoleType)
Possible values:
VIEWER
EDITOR
ADMIN
EXECUTOR
SPECIFIC
VIEWER
EDITOR
ADMIN
EXECUTOR
SPECIFIC
isEditable * (Boolean)
label (String)
isCreate * (Boolean)
Has resource Create permission?
Has resource Create permission?
isRead * (Boolean)
Has resource Create permission?
Has resource Create permission?
isUpdate * (Boolean)
Has resource Update permission?
Has resource Update permission?
isDelete * (Boolean)
Has resource Delete permission?
Has resource Delete permission?
isEnable * (Boolean)
Is role enabled or not?
Is role enabled or not?
isExecutable * (Boolean)
Has resource Executable permission?
Has resource Executable permission?
isSpecial * (Boolean)
Has any other non-basic permission/s?
Has any other non-basic permission/s?
special (String)
Special permission
Special permission
resources (ResourceConnection)
Resources used
Resources used
edges (ResourceEdge)
node (Resource)
code * (ID)
resourceData (ResourceData)
id * (ID)
code * (ID)
isEditable * (Boolean)
label (String)
apis (APIConnection)
which API have asigned this resource?
which API have asigned this resource?
edges (APIEdge)
node (API)
code * (ID)
adviseMessage * (undefined)
apiData (APIData)
id * (ID)
code * (ID)
label (String)
errorCatalog * (ErrorCatalog)
code * (ID)
description * (String)
type * (String)
level * (String)
operations (OperationConnection)
edges (OperationEdge)
node (Operation)
code * (ID)
adviseMessage * (undefined)
operationData (OperationData)
id * (ID)
code * (ID)
label (String)
types * (Enum of OperationType)
Possible values:
SEARCH
QUOTE
BOOKING
CANCEL
SCHEDULER
CREATE
READ
UPDATE
DELETE
EXECUTE
OTHER
SEARCH
QUOTE
BOOKING
CANCEL
SCHEDULER
CREATE
READ
UPDATE
DELETE
EXECUTE
OTHER
createdAt * (Time)
updatedAt * (Time)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
totalCount * (Int)
createdAt * (Time)
updatedAt * (Time)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
cursor * (String)
pageInfo * (undefined)
macroPermissions (MacroPermissionsConnection)
edges (MacroPermissionEdge)
node (MacroPermission)
code * (ID)
macroPermissionData (MacroPermissionData)
id * (ID)
code * (ID)
productID * (ID)
group * (ID)
label (String)
permissions (Permission)
role * (undefined)
resource * (undefined)
api * (undefined)
adviseMessage * (undefined)
createdAt * (DateTime)
updatedAt * (DateTime)
cursor * (String)
pageInfo * (undefined)
organizationMemberRoles * (OrganizationMemberRole)
organization * (undefined)
role * (Enum of RoleMemberType)
Possible values:
ADMIN
GUEST
EDITOR
VIEWER
ADMIN
GUEST
EDITOR
VIEWER
phone (String)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
deletedAt * (DateTime)
Date deleted. This value is used to include archived members.
Date deleted. This value is used to include archived members.
isEditable * (Boolean)
productId (Int)
resourceId (Int)
members (MemberConnection)
Only responses members in this group
Only responses members in this group
edges (MemberEdge)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
managedGroups (ManagedGroupConnection)
Responses all managed groups by this group.
Responses all managed groups by this group.
edges (ManagedGroupEdge)
node (ManagedGroup)
code * (ID)
managedGroupData (ManagedGroupData)
code * (ID)
group * (undefined)
api * (undefined)
resource * (undefined)
role * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
cursor * (String)
pageInfo * (undefined)
accesses (AccessConnection)
Access resources in a group
Access resources in a group
edges (AccessEdge)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
suppliers (SupplierConnection)
Supplier resources in a group
Supplier resources in a group
edges (SupplierEdge)
Supplier edges of Supplier connection
Supplier edges of Supplier connection
cursor * (String)
Cursor to the next item
Cursor to the next item
pageInfo * (undefined)
Page info of the connection
Page info of the connection
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
clients (ClientConnection)
Clients resources in a group
Clients resources in a group
edges (ClientEdge)
Client edges of client connection
Client edges of client connection
node (Client)
Client item
Client item
code * (ID)
Client unique code, format: "cli000"
Client unique code, format: "cli000"
clientData (ClientData)
Extended Client information
Extended Client information
id * (ID)
ID unique identifier of a Client. Format: integer.
ID unique identifier of a Client. Format: integer.
code * (ID)
Client unique code. Format: "cliX" where X = ID
Client unique code. Format: "cliX" where X = ID
name * (ID)
Client unique name
Client unique name
password (String)
Client's passowrd
Client's passowrd
legacyPassword (String)
isActive * (Boolean)
Indicates whether a Client is active or inactive
Indicates whether a Client is active or inactive
audits * (undefined)
Audits it shows the client's change history
Audits it shows the client's change history
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Client creation date
Client creation date
updatedAt * (DateTime)
Client last update date
Client last update date
deletedAt (DateTime)
Client deleted date
Client deleted date
cursor * (String)
Cursor to the next item
Cursor to the next item
pageInfo * (undefined)
Page info of the connection
Page info of the connection
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
isBuyer * (Boolean)
isSeller * (Boolean)
deleted_at (DateTime)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
owner * (undefined)
contacts * (OrganizationContact)
Differents contacts in a organization.
Differents contacts in a organization.
type * (Enum of OrganizationContactType)
Possible values:
ADMIN
BILLING
SALES
TECHNICAL
OTHER
ADMIN
BILLING
SALES
TECHNICAL
OTHER
user * (undefined)
isEditable * (Boolean)
products (ProductConnection)
Products asign to a organization
Products asign to a organization
edges (ProductEdge)
node (Product)
code * (ID)
productData * (ProductData)
id * (ID)
code * (ID)
label (String)
adviseMessageCatalog * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
cursor * (String)
pageInfo * (undefined)
domains * (Domain)
code * (ID)
domainData (DomainData)
id * (ID)
name * (DomainName)
organization * (undefined)
adviseMessage * (undefined)
createdAt * (DateTime)
updatedAt * (DateTime)
template (String)
primaryPartner * (Partner)
code * (ID)
partnerData (PartnerData)
code * (ID)
cusXYZ..
cusXYZ..
name * (String)
isActive (Boolean)
friendlyName (String)
organizations (OrganizationConnection)
edges (OrganizationEdge)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
agents * (CustomerAgent)
Differents agents from TravelgateX
Differents agents from TravelgateX
type * (Enum of CustomerAgentType)
Possible values:
KAM
TECH_KAM
CUSTOMER_CARE
OTHER
KAM
TECH_KAM
CUSTOMER_CARE
OTHER
user * (undefined)
user@xmltravelgate.com o user@travelgatex.com
user@xmltravelgate.com o user@travelgatex.com
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
allPartners * (PartnerConnection)
edges (PartnerEdge)
cursor * (String)
pageInfo * (undefined)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
totalCount * (Int)
Identifies the total count of items in the connection.
Identifies the total count of items in the connection.
isBuyer * (Boolean)
isSeller * (Boolean)
deleted_at (DateTime)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
groupContent (GroupContent)
Grouping of static content related to this Supplier.
Grouping of static content related to this Supplier.
code * (ID)
GroupContent unique code
GroupContent unique code
groupContentData (GroupContentData)
Extended GroupContent information
Extended GroupContent information
id * (ID)
GroupContent unique ID. Format: integer.
GroupContent unique ID. Format: integer.
code * (ID)
GroupContent unique code
GroupContent unique code
context * (Context)
GroupContent related Context
GroupContent related Context
code * (ID)
Context unique code
Context unique code
contextData (ContextData)
Extended Context information
Extended Context information
id * (ID)
Context unique ID. Format: integer.
Context unique ID. Format: integer.
code * (ID)
Context unique code
Context unique code
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Context creation date
Context creation date
updatedAt * (DateTime)
Context last update date
Context last update date
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
GroupContent creation date
GroupContent creation date
updatedAt * (DateTime)
GroupContent last update date
GroupContent last update date
supplierGroup (ID)
This is a calculated field that responds to groupContent > code
This is a calculated field that responds to groupContent > code
context (String)
This is a calculated field that responds to groupContent > groupContentData > context > code
This is a calculated field that responds to groupContent > groupContentData > context > code
system * (System)
code * (ID)
systemData (SystemData)
code * (ID)
ID identifier of a System
ID identifier of a System
name * (ID)
System complete name
System complete name
isActive * (Boolean)
Indicates whether a System is active or inactive
Indicates whether a System is active or inactive
suppliers * (undefined)
Obtain all suppliers for a filter.
Obtain all suppliers for a filter.
error * (undefined)
Errors that abort services
Errors that abort services
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
audits * (undefined)
Audits it shows the supplier's change history
Audits it shows the supplier's change history
serviceIntegrationData (ServiceIntegrationData)
Service Integration Data
Service Integration Data
type (Enum of ServiceIntegrationType)
Possible values:
SITH
WORKER
CONNECTORS
SITH
WORKER
CONNECTORS
group (String)
isPublic * (Boolean)
giata (GiataSupplierConfiguration)
giataType (String)
giataCode (String)
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Supplier creation date
Supplier creation date
updatedAt * (DateTime)
Supplier last update date
Supplier last update date
deletedAt (DateTime)
Supplier deleted date
Supplier deleted date
user (String)
User code to connect to supplier
User code to connect to supplier
password (String)
Password for this Access. To retrieve this field, ADMIN permissions are required.
Otherwise, the value will be null.
Password for this Access. To retrieve this field, ADMIN permissions are required. Otherwise, the value will be null.
urls (Urls)
Specific URLs
Specific URLs
search (URI)
Specific URL for Availability method.
Specific URL for Availability method.
quote (URI)
Specific URL for Quote method.
Specific URL for Quote method.
book (URI)
Specific URL for Book method.
Specific URL for Book method.
generic (URI)
Supplier URL used for multiple methods.
Supplier URL used for multiple methods.
parameters (Parameter)
List of parameters for additional information
List of parameters for additional information
key * (ID)
Contains the keyword/Id to identify a parameter.
This information is mandatory.
Contains the keyword/Id to identify a parameter. This information is mandatory.
value * (String)
Contains the parameter values.
This information is mandatory.
Contains the parameter values. This information is mandatory.
markets * (String)
Markets allowed for the Access
Markets allowed for the Access
rateRules * (undefined)
Business rule types for the Access
Business rule types for the Access
updateDescriptiveInfo * (Int)
Refresh time to update Despriptive Info
Refresh time to update Despriptive Info
descriptiveInfoLimit * (Int)
Limit on DescriptiveInfo; 0 denotates no limit
Limit on DescriptiveInfo; 0 denotates no limit
isSchedulerActive (Boolean)
True if scheduler is active
True if scheduler is active
updateList * (Int)
Refresh time to update other batch lists
Refresh time to update other batch lists
updateDateRange * (String)
Range on update date
Range on update date
audits * (undefined)
Audits it shows the accesses change history
Audits it shows the accesses change history
adviseMessage * (undefined)
List of advise messages.
List of advise messages.
createdAt * (DateTime)
Date created
Date created
updatedAt * (DateTime)
Date updated
Date updated
deletedAt (DateTime)
Access deleted date
Access deleted date
hotelsRequested (Int)
hotelsReturned (Int)
hotelsReturnedAfterRoomDescFilter (Int)
transactionSpans * (HotelXTransactionSpan)
status * (String)
duration * (Int)
Examples
Search query [1 hotel, 2 rooms: 3 adults 1 child]
Search query [2 hotels, 1 room: 2 adults]
As you can see in these responses, you have multiple options with different rates, meal plans, and room types. Additionally, you receive a warning for those options we couldn't return, as the supplier does not provide the commission through the API.
Frequently Asked Questions
How many hotel codes per request can I request in Search?
Are there any limitations on the number of searches/minute?
Does nationality or market affect the price returned?
How can I search in single or multi mode?
Hotel-X offers two modes for searching: single mode and multi mode. Both modes provide flexibility depending on how you want to query Sellers and their accesses.
Singlemode searchSingle mode is the default way to search in Hotel-X. It’s designed for querying Sellers individually.
You can include multiple accesses from the same Seller in a single search, as long as they share the same context. Example: If a Seller has different access points for the same hotel inventory, you can query them together.
When running your Search, you should add the Seller's access code you would like to query. Remember that they should have the same context code (in other words, they share the same hotel codes). For example, if I want to make a request for access "2" of the supplier TravelgateX Test with the context "HOTELTEST", I would specify it as follows. (If I had more than one access or credential configured for the same supplier, I could include them as well, as long as they share the same context.)
"settings": {
"client": "client_demo",
"context": "HOTELTEST",
"testMode": true,
"timeout": 25000
},
"filterSearch": {
"access": {
"includes": [
"2"
]
}
}
The multimode query allows our Partners to search multiple Sellers or accesses with different contexts at the same time in just one request. To search in multimode, start by uploading your hotel mapping files to your FTP. Once the files are processed, you'll have the ability to search multiple Sellers simultaneously by using your own context and hotel codes.
You can query different Sellers or different accesses from the same Seller (even if they have different contexts). This is useful if you need results from diverse configurations in one go.
For example, if you map your hotel and board codes to two different suppliers with different contexts, you can include both in the same request. You’ll specify your context code, and in the access section, you can include the accesses from different suppliers. Hotel-X will use your mapping files to send the correct request to each supplier with the appropriate codes, so you can make the request using your own codes.
You can choose to:
1. Specifying the access codes in the filter node in your variables: the query will only be sent to the accesses specified.
"settings": {
"client": "client_demo",
"context": "BUYER_CONTEXT",
"testMode": true,
"timeout": 25000
},
"filterSearch": {
"access": {
"includes": ["2", "5647"]
}
}
2. Not specifying any accesses: The query will be sent to all the accesses connected to your account (only the ones belonging to the Sellers where the mapping files has been uploaded). This query will also check the value of the "testMode" tag in order to request only the test or production accesses, accordingly.
"settings": {
"client": "client_demo",
"context": "BUYER_CONTEXT",
"testMode": true,
"timeout": 25000
}
Why there are so many fields with null value in the Search response?
Can I filter the Hotel-X Search results by payment type?
How can I limit and filter options through optionsQuota and Business Rules?
optionsQuota, how to limit the number of options in search response: Thanks to the optionsQuota tag in Hotel-X Pull Buyers API, you are able to control and limit the number of options per board returned in the search response in those cases the Seller allows business rules (you will be able to check this information through our Metadata Query). Note that we have established a system-level limit so that if the OptionsQuota set on your side is higher than the limit established, we will use the one with the lowest value.
If you don't set any optionsQuota in your search query, we'll use 50 as default value.
businessRulesType, how to filter options through Business Rules: These are the 2 types of businessRules that may be applied.
- CHEAPER_AMOUNT: The cheapest options are returned without exceeding the optionsQuota limit.
- ROOM_TYPE: It groups the options by room type without exceeding the optionsQuota limit.
Please note that options are filtered using a limited combination of rooms types. First, we group same room types so you receive options with the same type/classification. For example: Standard-Standard-Standard-Standard, Junior-Junior-Junior-Junior…. Then, we combine the cheapest rooms with the remaining rooms, always checking for duplicates and without execeeding the optionsQuota limit. If a Buyer sets a BusinessRules value, then it will be applied when the number of options returned exceeds the optionsQuota. If the client does not set any BusinessRules values, then the CheaperAmount BusinessRule is applied by default.