HotelsRequest
scope object
Preferred filter payload for hotel queries.
Connection code; provider is resolved from it when using X-Environment.
Provider scope; defaults to provider inferred from connectionCode when present.
Language tag for the returned descriptions. The fallback chain is: exact tag, then the same base language (a request for es-MX accepts es), then English, then every language we hold. Omit it to receive all languages and filter client-side, which is the current behaviour. Content is ingested in English today, so most properties answer with en.
esHotel codes (provider-specific) to fetch.
Alias for hotelCodes (frontend compatibility).
Provider-specific hotel codes.
Filter by destination/place codes (hotel_closest_destinations).
Search by destination name (partial match, case-insensitive).
Filter by country codes (ISO 3166-1 alpha-2).
Maximum number of results to return (0 = use default).
Partial match search on hotel name (case-insensitive).
Single category filter (e.g. 3STAR). Prefer categories for multi-value.
Deprecated; use category instead.
Controls cross-reference ids on each hotel (parity with /hotels/by-destination and /hotels/by-coordinates):
- "bundleport" (default): include externalIds (bundleportBaseCode, providerPropertyIds).
- "provider": provider-native view; externalIds is omitted.
Note: on this endpoint
codeandproviderHotelCodeare always the provider-native code. The Bundleport base code lives inexternalIds.bundleportBaseCode, not incode.
Possible values: [provider, bundleport]
bundleportAccepted for cross-endpoint consistency but a NO-OP here: POST /hotels always returns
the base code in externalIds.bundleportBaseCode. The two-array form
(hotelCodes.base[]/provider[]) is exclusive to POST /hotels/filter. When set, the
response includes a WARN_PARAM_FILTER_ONLY warning.
Possible values: [base, provider]
When true, hydrate each hotel's rooms[] with full detail (images, descriptions, beds, occupancy) inline instead of the basic room list. Opt-in; capped server-side.
query object
Standard filter payload for hotel queries.
Connection code; provider is resolved from it when using X-Environment.
Provider scope; defaults to provider inferred from connectionCode when present.
Language tag for the returned descriptions. The fallback chain is: exact tag, then the same base language (a request for es-MX accepts es), then English, then every language we hold. Omit it to receive all languages and filter client-side, which is the current behaviour. Content is ingested in English today, so most properties answer with en.
esHotel codes (provider-specific) to fetch.
Alias for hotelCodes (frontend compatibility).
Provider-specific hotel codes.
Filter by destination/place codes (hotel_closest_destinations).
Search by destination name (partial match, case-insensitive).
Filter by country codes (ISO 3166-1 alpha-2).
Maximum number of results to return (0 = use default).
Partial match search on hotel name (case-insensitive).
Single category filter (e.g. 3STAR). Prefer categories for multi-value.
Deprecated; use category instead.
Controls cross-reference ids on each hotel (parity with /hotels/by-destination and /hotels/by-coordinates):
- "bundleport" (default): include externalIds (bundleportBaseCode, providerPropertyIds).
- "provider": provider-native view; externalIds is omitted.
Note: on this endpoint
codeandproviderHotelCodeare always the provider-native code. The Bundleport base code lives inexternalIds.bundleportBaseCode, not incode.
Possible values: [provider, bundleport]
bundleportAccepted for cross-endpoint consistency but a NO-OP here: POST /hotels always returns
the base code in externalIds.bundleportBaseCode. The two-array form
(hotelCodes.base[]/provider[]) is exclusive to POST /hotels/filter. When set, the
response includes a WARN_PARAM_FILTER_ONLY warning.
Possible values: [base, provider]
When true, hydrate each hotel's rooms[] with full detail (images, descriptions, beds, occupancy) inline instead of the basic room list. Opt-in; capped server-side.
Pagination token for the next page of results. To retrieve the next page, include this token in the 'token' field of the subsequent request. Tokens are valid for 4 minutes and are tied to the original query criteria. If the query criteria change, a new token must be generated.
{
"scope": {
"connectionCode": "string",
"providerCode": "string",
"language": "es",
"hotelCodes": [
"string"
],
"hotels": [
"string"
],
"providerHotelCodes": [
"string"
],
"destinationCodes": [
"string"
],
"destinationName": "string",
"countries": [
"string"
],
"ranks": [
0
],
"maxSize": 0,
"hotelName": "string",
"category": "string",
"outputCodeType": "bundleport",
"returnHotelCodes": [
"base"
],
"includeRoomDetail": true
},
"query": {
"connectionCode": "string",
"providerCode": "string",
"language": "es",
"hotelCodes": [
"string"
],
"hotels": [
"string"
],
"providerHotelCodes": [
"string"
],
"destinationCodes": [
"string"
],
"destinationName": "string",
"countries": [
"string"
],
"ranks": [
0
],
"maxSize": 0,
"hotelName": "string",
"category": "string",
"outputCodeType": "bundleport",
"returnHotelCodes": [
"base"
],
"includeRoomDetail": true
},
"token": "string"
}