Skip to content
ApiqDevelopers
API v1.64.0Open console

Search intents

POST /v1/search takes the same envelope for every product. context.domain chooses the product and message.intent is that product's typed intent. This page lists every domain code and every intent, with its fields and the contract's own examples.

context.domain values

Each product's canonical code, the intent it searches with, and the other spellings the platform accepts.

context.domainProductCategorySearch intentAlso accepted
FLTFlightsTransportFlightSearchIntentFLIGHT, FLIGHTS
CARCarsTransportGroundSearchIntentCARS
TXITransfersTransportGroundSearchIntentTAXI
XFRTransfersTransportGroundSearchIntentTRANSFER, TRANSFERS
BUSBusTransportBusSearchIntent—
PARKParkingTrip extrasParkingSearchIntentPARKING, PRK
HTLHotelsStaysStaySearchIntentHOTEL, HOTELS
CRUCruisesCruisesCruiseSearchIntentCRUISE, CRUISES, CRZ
EXPExperiencesThings to doExperienceSearchIntentACT, EXPERIENCE, EXPERIENCES
ATTAttractionsThings to doExperienceSearchIntentTICKETS
TOURToursThings to doExperienceSearchIntentTOURS
FNBDiningThings to doDiningSearchIntentDINING, REST, RESTAURANT, RESTAURANTS
INSInsuranceTrip extrasInsuranceSearchIntentINSURANCE
ESIMeSIMTrip extrasEsimSearchIntentCHIP, CHIPS
GIFTGift cardsTrip extrasGiftSearchIntent—
LOUNGELoungesTrip extrasLoungeSearchIntent—
APTSVCAirport servicesTrip extrasAirportServiceSearchIntent—
AICONTAicontThings to doAicontSearchIntent—
PKGPackagesPackages and cartsPackageSearchIntentPACKAGE, PACKAGES
CARTCartPackages and cartsNo typed intent yet—
CHKCheckinAncillariesCheckinSearchIntentCHECKIN, OLCI, ONLINE_CHECKIN
EVTIn the contract's examples; not in the product registry yetExperienceSearchIntent—
VRIn the contract's examples; not in the product registry yetStaySearchIntent—
VISAIn the contract's examples; not in the product registry yetVisaSearchIntent—

Send the canonical code. The other spellings listed are accepted for compatibility; anything else is 400 UNKNOWN_DOMAIN.

AicontSearchIntent

Used by Aicont (AICONT).

An AI content search: the operations of an experience-content service (catalogue reads, scrapes, enrichment) over the unified routes.Show moreAn AI content search: the operations of an experience-content service (catalogue reads, scrapes, enrichment) over the unified routes. `operation` names one and `arguments` holds that operation's own arguments, which the service validates (400 VALIDATION). A catalogue read answers one offer per enriched service at that service's price (amount 0 when it is free), and such an offer is not orderable. An operation that spends answers one quote offer at its cost cap plus a fixed fee, priced in USD and provisional: reprice confirms the quote, order runs it, and an order answered PENDING settles on read at the real cost. A read-only operation that would scrape (find_experiences) is quoted the same way.

2 fields

  • operationstringRequired
    The operation's name: list_services and get_service (free catalogue reads), find_experiences (free unless it would scrape), run_city or run_agent (always quoted)
  • argumentsobjectOptional
    The operation's own arguments; absent or empty when it takes none
AICONT — AicontSearchIntent, the enriched attractions of one city, a free catalogue read
{
  "context": {
    "domain": "AICONT",
    "currency": "INR"
  },
  "message": {
    "intent": {
      "operation": "list_services",
      "arguments": {
        "city": "Jaipur",
        "category": "attractions",
        "limit": 20
      }
    }
  }
}

AirportServiceSearchIntent

Used by Airport services (APTSVC).

An airport service search (meet and greet, fast track): the service is keyed to a flight and a station, and the supplier's search cannot run without the flight link.

6 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • flightLinkFlightLinkRefRequired
    The flight an item is keyed to. Used by ground waypoints, airport services, lounges and insurance.
    8 child attributes
    • carrierstringRequired
    • flightNumberstringRequired
    • datestring · dateRequired
      Departure date, airport-local
    • originstringOptional
    • destinationstringOptional
    • departureTerminalstringOptional
    • arrivalTerminalstringOptional
    • parentobjectOptional
      The platform order the flight was booked on, when it was
      2 child attributes
      • orderRefstringOptional
      • itemIdstringOptional
  • directionstringRequired
    • DEPARTURE
    • ARRIVAL
    • TRANSIT
  • airportstringOptional
    Absent = taken from flightLink by direction
  • categoriesarray of stringOptional
    MEET_ASSIST | PORTER | BUGGY | WHEELCHAIR | FAST_TRACK | TRANSFER | BUNDLE
  • partyPartySpecRequired
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
APTSVC — AirportServiceSearchIntent, keyed to the flight
{
  "context": {
    "domain": "APTSVC",
    "currency": "INR"
  },
  "message": {
    "intent": {
      "flightLink": {
        "carrier": "AI",
        "flightNumber": "131",
        "date": "2026-11-10",
        "origin": "BOM",
        "destination": "LHR",
        "departureTerminal": "2"
      },
      "direction": "DEPARTURE",
      "categories": [
        "MEET_ASSIST",
        "PORTER"
      ],
      "party": {
        "adults": 2,
        "childAges": [
          6
        ]
      }
    }
  }
}

BusSearchIntent

Used by Bus (BUS).

A bus search: one leg, city to city, on a departure date, with the party by fare category.Show moreA bus search: one leg, city to city, on a departure date, with the party by fare category. A place is a PlaceRef: `text` (a city name, resolved by the supplier's own city lookup) or `cityId` (the supplier's own city id, sent as given). The search price is indicative (`Offer.pricing.indicative`): the supplier's cart adds fees, so POST /v1/reprice states the bookable total and sets `priceChanged` when it differs. A GroundSearchIntent (pickup and dropoff waypoints and the pickup's date) is accepted too. A bus search with no departureDate (or waypoints), or no origin or destination, is 400 VALIDATION naming the field. A past date, or a city the supplier does not know, answers no offers with a named warning (<SUPPLIER>_DATE_IN_PAST, <SUPPLIER>_PLACE_UNRESOLVED).

5 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • originPlaceRefRequired
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • destinationPlaceRefRequired
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • departureDatestring · dateRequired
    The departure date, station-local
  • partyBusPartySpecOptional
    Who rides, by bus fare category: adults, children (Example Bus `youth`) and seniors, each child and senior with an age.Show moreWho rides, by bus fare category: adults, children (Example Bus `youth`) and seniors, each child and senior with an age. At least one rider; `adults` defaults to 1 when the party names nobody. The order is the booking's: travelers[] lists adults, then children, then seniors, one traveler per rider.
    3 child attributes
    • adultsintegerOptional
    • childAgesarray of integerOptional
    • seniorAgesarray of integerOptional
BUS — BusSearchIntent, city to city on a date
{
  "context": {
    "domain": "BUS",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "origin": {
        "text": "Montreal"
      },
      "destination": {
        "text": "Ottawa"
      },
      "departureDate": "2026-12-10",
      "party": {
        "adults": 1,
        "childAges": [
          10
        ],
        "seniorAges": [
          70
        ]
      }
    }
  }
}

CheckinSearchIntent

Used by Checkin (CHK).

An automated online check-in search. Check-in is an ancillary product bought for a flight booked elsewhere, and fulfilled when the airline's check-in window opens.Show moreAn automated online check-in search. Check-in is an ancillary product bought for a flight booked elsewhere, and fulfilled when the airline's check-in window opens. The search answers whether check-in can be automated for this carrier, flight and route and, when the supplier knows, when the window opens; it never searches flights. `flightLink` names the flight (origin and destination are required here); `departureTime` is the local departure time at the origin airport, sent to the supplier as given. The airline booking reference (PNR) and the travellers are order inputs (requiredInfo), not search inputs. No flightLink, origin, destination or departureTime is 400 VALIDATION naming the field.

5 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • flightLinkFlightLinkRefRequired
    The flight an item is keyed to. Used by ground waypoints, airport services, lounges and insurance.
    8 child attributes
    • carrierstringRequired
    • flightNumberstringRequired
    • datestring · dateRequired
      Departure date, airport-local
    • originstringOptional
    • destinationstringOptional
    • departureTerminalstringOptional
    • arrivalTerminalstringOptional
    • parentobjectOptional
      The platform order the flight was booked on, when it was
      2 child attributes
      • orderRefstringOptional
      • itemIdstringOptional
  • departureTimestringRequired
    Local departure time (HH:MM) at flightLink.origin
  • operatingCarrierstringOptional
    The operating carrier's IATA code for a codeshare; defaults to flightLink.carrier
  • partyPartySpecOptional
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
CHK — CheckinSearchIntent, automated check-in on a booked flight
{
  "context": {
    "domain": "CHK",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "flightLink": {
        "carrier": "BA",
        "flightNumber": "117",
        "date": "2026-11-10",
        "origin": "LHR",
        "destination": "JFK"
      },
      "departureTime": "08:25",
      "party": {
        "adults": 2
      }
    }
  }
}

CruiseSearchIntent

Used by Cruises (CRU).

A cruise search: sailings departing inside a window, for one cabin's guests.Show moreA cruise search: sailings departing inside a window, for one cabin's guests. Ids are lookup ids (`GET /v1/lookup/cruise-regions|ports|cruise-lines|ships|waterways|river-countries|river-cities`), never supplier ids. A departure port narrows the results for suppliers that cannot filter by it. More than one cabin is refused 501 NOT_IMPLEMENTED details.reason MULTI_CABIN_NOT_SUPPORTED. The search price is indicative (`Offer.pricing.indicative`): the cabin ladder of POST /v1/detail and the hold make it firm.

14 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • cruiseTypestringOptionalDefault "OCEAN"
    • OCEAN
    • RIVER
  • departureWindowobjectRequired
    2 child attributes
    • fromstring · dateRequired
    • tostring · dateRequired
  • nightsobjectOptional
    2 child attributes
    • minintegerOptional
    • maxintegerOptional
  • regionsarray of stringOptional
    cruise-regions lookup ids
  • departurePortsarray of stringOptional
    ports lookup ids
  • cruiseLinesarray of stringOptional
    cruise-lines lookup ids
  • shipsarray of stringOptional
    ships lookup ids
  • waterwaysarray of stringOptional
    waterways lookup ids (RIVER)
  • riverCountriesarray of stringOptional
    river-countries lookup ids (RIVER)
  • riverCitiesarray of stringOptional
    river-cities lookup ids (RIVER)
  • partyobjectOptional
    One cabin's guests; absent means two adults
    2 child attributes
    • adultsintegerOptional
    • childAgesarray of integerOptional
  • cabinsintegerOptionalDefault 1
  • residencyAirportstringOptional
    IATA code of the guests' residence, for lines that price by residency
CRU — CruiseSearchIntent, ocean cruises of 5 to 9 nights in the first quarter of 2027
{
  "context": {
    "domain": "CRU",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "cruiseType": "OCEAN",
      "departureWindow": {
        "from": "2027-01-01",
        "to": "2027-03-31"
      },
      "nights": {
        "min": 5,
        "max": 9
      },
      "regions": [
        "mondee:cruise-region:8f3k2q"
      ],
      "party": {
        "adults": 2,
        "childAges": []
      }
    }
  }
}

DiningSearchIntent

Used by Dining (FNB).

A restaurant search. Where (a destination, or restaurantIds to ask named restaurants directly), when (a date plus a restaurant-local time, with an optional window around it), the party, seating…Show moreA restaurant search. Where (a destination, or restaurantIds to ask named restaurants directly), when (a date plus a restaurant-local time, with an optional window around it), the party, seating preferences, and whether the restaurants' experiences (set menus, tasting events) are offered beside plain table slots. Send destination or restaurantIds. Send `date`; ExperienceSearchIntent's `dates.from` is also read when `date` is absent, so a client that already sends `dates` keeps working. Times are restaurant-local without an offset, because the supplier states none.

11 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • destinationPlaceRefOptional
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • restaurantIdsarray of stringOptional
    Public restaurant ids to search directly: `prov:dining:<rid>` until the restaurant cross-walk exists, or a canonical id once it does.Show morePublic restaurant ids to search directly: `prov:dining:<rid>` until the restaurant cross-walk exists, or a canonical id once it does. At most 50.
  • datestring · dateOptional
    The dining date (restaurant-local)
  • datesDateRangeOptional
    A range of days, both ends inclusive.
    2 child attributes
    • fromstring · dateRequired
      First day (inclusive).
    • tostring · dateRequired
      Last day (inclusive).
  • timestringRequired
    HH:mm, restaurant-local
  • windowMinutesintegerOptional
    Forward and backward window around `time` (Example Dining forward_minutes / backward_minutes); absent = the supplier default
  • partyDiningPartyRequired
    The dining party. Example Dining books a party size, not ages, so children are a count; childAges is accepted for clients that send PartySpec and is counted, never priced.
    3 child attributes
    • adultsintegerRequired
    • childrenintegerOptional
    • childAgesarray of integerOptional
  • seatingarray of stringOptional
    Required seating attributes (Example Dining require_attributes), e.g.Show moreRequired seating attributes (Example Dining require_attributes), e.g. default, outdoor, bar, highTop, counter; open strings
  • includeExperiencesbooleanOptionalDefault false
    When true, experience slots are offered beside plain table slots (Example Dining include_experiences)
  • experienceSelectionDiningExperienceSelectionOptional
    Which experience and how many diners take each of its price options.Show moreWhich experience and how many diners take each of its price options. An experience with several prices (e.g. a tasting menu and a wine pairing, or adult and child) is priced per diner: the counts must add up to the party size. On search it narrows the offers to that experience; on reprice, hold and order it fixes the price split the offer is firmed, locked and booked with (Example Dining experience total and reservation `experience` block). A selection whose version is not the experience's current one is 409 CONFLICT details.reason EXPERIENCE_VERSION_CHANGED (re-read the detail); counts that do not add up to the party are 400 VALIDATION details.field message.intent.experienceSelection.
    3 child attributes
    • experienceIdinteger · int64Required
    • versionintegerOptional
      The experience version the client showed (DiningExperience.version)
    • pricesarray of objectRequired
      2 child attributes
      • priceIdinteger · int64Required
      • countintegerRequired
FNB — DiningSearchIntent by destination
{
  "context": {
    "domain": "FNB",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "destination": {
        "text": "San Francisco",
        "countryCode": "US"
      },
      "date": "2026-11-12",
      "time": "19:00",
      "windowMinutes": 90,
      "party": {
        "adults": 2
      },
      "seating": [
        "default"
      ]
    }
  }
}
FNB — DiningSearchIntent for named restaurants, REST alias
{
  "context": {
    "domain": "REST",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "restaurantIds": [
        "prov:dining:100123",
        "prov:dining:100456"
      ],
      "date": "2026-11-13",
      "time": "20:00",
      "party": {
        "adults": 4,
        "children": 2
      }
    }
  }
}
FNB — DiningSearchIntent with experiences offered beside table slots
{
  "context": {
    "domain": "FNB",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "destination": {
        "text": "San Francisco",
        "countryCode": "US"
      },
      "date": "2026-11-12",
      "time": "19:00",
      "party": {
        "adults": 2
      },
      "includeExperiences": true
    }
  }
}
FNB — slots for one experience with a per-diner price split
{
  "context": {
    "domain": "FNB",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "restaurantIds": [
        "prov:dining:100123"
      ],
      "date": "2026-11-12",
      "time": "19:00",
      "party": {
        "adults": 3
      },
      "includeExperiences": true,
      "experienceSelection": {
        "experienceId": 900101,
        "version": 3,
        "prices": [
          {
            "priceId": 1,
            "count": 2
          },
          {
            "priceId": 2,
            "count": 1
          }
        ]
      }
    }
  }
}

EsimSearchIntent

Used by eSIM (ESIM).

An eSIM data plan search: a plan for one country, a region or global coverage, fulfilled at once as an eSIM whose QR code is read from the order's tickets (GET /v1/orders/{orderRef}/tickets, one…Show moreAn eSIM data plan search: a plan for one country, a region or global coverage, fulfilled at once as an eSIM whose QR code is read from the order's tickets (GET /v1/orders/{orderRef}/tickets, one ticket per eSIM). Coverage is esim.country, else destination.countryCode; or esim.region; or esim.type GLOBAL. Not every supplier serves region and global plans. Validity is esim.minDays, else the inclusive span of dates; the number of eSIMs is esim.quantity, else party.adults plus party.childAges, else 1. Offers are priced in USD only: another context.currency answers no offers with the warning <SUPPLIER>_CURRENCY_NOT_SERVED, and a search naming no coverage answers no offers with <SUPPLIER>_NO_DESTINATION. Every field narrows the plan list; none is required.

5 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • destinationPlaceRefOptional
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • datesDateRangeOptional
    A range of days, both ends inclusive.
    2 child attributes
    • fromstring · dateRequired
      First day (inclusive).
    • tostring · dateRequired
      Last day (inclusive).
  • partyPartySpecOptional
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • esimobjectOptional
    The plan filter both eSIM suppliers read
    6 child attributes
    • countrystringOptional
      ISO 3166-1 alpha-2 country where the eSIM is used
    • regionstringOptional
      A regional plan listing, for example europe or asia (an eSIM supplier only)
    • typestringOptional
      GLOBAL asks for global plans (an eSIM supplier only)
      • GLOBAL
    • minDaysintegerOptional
      The shortest plan validity in days; without it, the span of dates
    • minDataGbnumberOptional
      The smallest data allowance in GB; unlimited plans always match; 0 means no floor
    • quantityintegerOptional
      eSIMs in one order (an eSIM supplier serves up to 10)
ESIM — EsimSearchIntent, eSIM data plans for a week in Japan, 3 GB or more
{
  "context": {
    "domain": "ESIM",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "esim": {
        "country": "JP",
        "minDataGb": 3
      },
      "dates": {
        "from": "2026-11-10",
        "to": "2026-11-16"
      },
      "party": {
        "adults": 1
      }
    }
  }
}

ExperienceSearchIntent

Used by Experiences (EXP), Attractions (ATT), Tours (TOUR).

An experience search for activities, attractions, tours, events and shows: where and when, the party, an optional pickup point (chosen before the dates where the supplier requires it), option choices…Show moreAn experience search for activities, attractions, tours, events and shows: where and when, the party, an optional pickup point (chosen before the dates where the supplier requires it), option choices that set the price, the guide language, and event filters (section, quantity).

10 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • destinationPlaceRefOptional
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • productIdsarray of stringOptional
    Canonical product ids to search directly
  • datesDateRangeRequired
    A range of days, both ends inclusive.
    2 child attributes
    • fromstring · dateRequired
      First day (inclusive).
    • tostring · dateRequired
      Last day (inclusive).
  • partyPartySpecRequired
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • pickupobjectOptional
    The pickup point when options and dates depend on it
    2 child attributes
    • modestringOptional
      PICKUP | MEET_ON_LOCATION
    • pointPlaceRefOptional
      One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
      6 child attributes
      • timeZonestringOptional
        IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
      • placeIdstringOptional
        A place id from the lookup calls, or a map provider's place id passed through as it is.
      • iatastringOptional
        An airport or rail station code.
      • geoGeoPointOptional
        A point on the map, in decimal degrees.
        2 child attributes
        • latnumberRequired
          Latitude, -90 to 90.
        • lonnumberRequired
          Longitude, -180 to 180.
      • textstringOptional
        Free text the platform resolves; never enough on its own to book.
      • countryCodestringOptional
        The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • optionsarray of objectOptional
    Pre-price product configuration answers (ExperienceOption)
    2 child attributes
    • optionIdstringRequired
    • valuestringRequired
  • guideLanguagestringOptional
    BCP-47 tag; narrows timeslots to that language
  • eventobjectOptional
    EVT filters (an event-ticket supplier)
    5 child attributes
    • eventIdstringOptional
    • quantityintegerOptional
    • sectionstringOptional
    • rowstringOptional
    • priceRangeobjectOptional
      2 child attributes
      • minMoneyOptional
        Integer minor units + ISO-4217, never floats (platform law)
        5 child attributes
        • amountintegerRequired
          Minor units
        • currencystringRequired
          ISO-4217
        • fxAppliedbooleanOptional
          True when the amount was converted from the supplier's currency.
        • fxSnapshotIdstringOptional
          The exchange-rate snapshot the amount was converted with, fixed when the price was quoted.
        • breakdownarray of PriceBreakdownLineOptional
          Sell-side component lines summing to amount; the platform may send it empty.Show moreSell-side component lines summing to amount; the platform may send it empty. One line shape everywhere — the same PriceBreakdownLine the rule simulation answers. Never carries a supplier net.
      • maxMoneyOptional
        Integer minor units + ISO-4217, never floats (platform law)
        5 child attributes
        • amountintegerRequired
          Minor units
        • currencystringRequired
          ISO-4217
        • fxAppliedbooleanOptional
          True when the amount was converted from the supplier's currency.
        • fxSnapshotIdstringOptional
          The exchange-rate snapshot the amount was converted with, fixed when the price was quoted.
        • breakdownarray of PriceBreakdownLineOptional
          Sell-side component lines summing to amount; the platform may send it empty.Show moreSell-side component lines summing to amount; the platform may send it empty. One line shape everywhere — the same PriceBreakdownLine the rule simulation answers. Never carries a supplier net.
  • categoriesarray of stringOptional
EXP — ExperienceSearchIntent with a pickup point and guide language
{
  "context": {
    "domain": "EXP",
    "currency": "EUR"
  },
  "message": {
    "intent": {
      "destination": {
        "placeId": "mondee:place:rome"
      },
      "dates": {
        "from": "2026-11-12",
        "to": "2026-11-12"
      },
      "party": {
        "adults": 2,
        "childAges": [
          9
        ]
      },
      "pickup": {
        "mode": "PICKUP",
        "point": {
          "placeId": "mondee:place:rome-termini"
        }
      },
      "guideLanguage": "en"
    }
  }
}
EVT — ExperienceSearchIntent with event filters (section, quantity)
{
  "context": {
    "domain": "EVT",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "dates": {
        "from": "2026-11-20",
        "to": "2026-11-20"
      },
      "party": {
        "adults": 2
      },
      "event": {
        "eventId": "mondee:event:tevo-2211907",
        "quantity": 2,
        "section": "114"
      }
    }
  }
}

FlightSearchIntent

Used by Flights (FLT).

A flight search: the slices (origin, destination and date of each leg), the travellers and the cabin.Show moreA flight search: the slices (origin, destination and date of each leg), the travellers and the cabin. Optional filters (carriers, alliance, refundableOnly, changeableOnly, excludeBasicEconomy, a per-slice cabin and fareTypes) are sent to each supplier; the platform does not re-filter the answer. A filter that is absent, false or empty changes nothing. A supplier that cannot apply a filter it was given searches without it (never narrower than asked) and adds a context.warnings[] entry SEARCH_FILTER_UNSUPPORTED (details.filter names the field, details.reason says why). A supplier that does not read a filter at all ignores it without a warning, so a client that must be sure checks each offer (extension.air segments, fare and conditions).

12 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • slicesarray of objectRequired
    4 child attributes
    • originstringRequired
    • destinationstringRequired
    • datestring · dateRequired
    • cabinstringOptional
      This slice's cabin, overriding the journey cabin for this slice only.Show moreThis slice's cabin, overriding the journey cabin for this slice only. Same values as the journey cabin: ECONOMY | PREMIUM_ECONOMY | BUSINESS | FIRST; open string. Absent means the journey cabin. A value the supplier does not know is searched with the journey cabin and a SEARCH_FILTER_UNSUPPORTED warning.
  • travelersarray of objectRequired
    2 child attributes
    • typestringRequired
      • ADT
      • CHD
      • INF
    • ageintegerOptional
  • cabinstringOptional
    ECONOMY | PREMIUM_ECONOMY | BUSINESS | FIRST; open string
  • fareTypesarray of stringOptional
    PUBLISHED | PRIVATE | NDC | LCC — narrows sourcing; open strings.Show morePUBLISHED | PRIVATE | NDC | LCC — narrows sourcing; open strings. v1.37.0 adds COMMISSIONABLE (published fares that pay the agency a commission) and states how a supplier applies the list: it narrows only when it has a filter for EVERY value given, and a list it cannot apply whole is searched without a fare-type filter plus a SEARCH_FILTER_UNSUPPORTED warning (details.filter fareTypes).
  • directOnlybooleanOptional
  • carriersarray of stringOptional
    Only these airlines: IATA two-character airline designators, an include list.Show moreOnly these airlines: IATA two-character airline designators, an include list. Which carrier of an itinerary the supplier matches (marketing, operating or validating) is the supplier's rule; a flight supplier states what is known. Given with alliance, a supplier that takes only one of the two applies alliance and warns SEARCH_FILTER_UNSUPPORTED for carriers.
  • alliancestringOptional
    Only airlines of this alliance. STAR_ALLIANCE | SKYTEAM | ONEWORLD; x-extensible-enum, a client tolerates a value it does not know.Show moreOnly airlines of this alliance. STAR_ALLIANCE | SKYTEAM | ONEWORLD; x-extensible-enum, a client tolerates a value it does not know. A value the supplier has no code for is searched without an alliance filter and a SEARCH_FILTER_UNSUPPORTED warning.
  • refundableOnlybooleanOptional
    Only fares the supplier marks refundable.Show moreOnly fares the supplier marks refundable. The refund penalty, if any, is in the offer's conditions; refundable is the supplier's flag, not a promise of a full refund.
  • changeableOnlybooleanOptional
    Only fares the supplier marks changeable; change fees are in the offer's conditions.
  • excludeBasicEconomybooleanOptional
    Leave out the supplier's basic-economy fares.Show moreLeave out the supplier's basic-economy fares. What counts as basic economy is the supplier's classification.
  • journeyModestringOptionalDefault "COMPLETE"
    How the offers of a round-trip or multi-city search are built.Show moreHow the offers of a round-trip or multi-city search are built. COMPLETE, the default and the behaviour before v1.27.0: every offer carries every requested slice, priced as one journey. OUTBOUND_FIRST: each offer is an OUTBOUND journey (slice 0) whose later slices are still to be chosen. It carries extension.air.journey with complete false; its segments and slices hold only the chosen slices; its price is the round-trip price of that outbound as the supplier states it (a "from" price, after the tenant's pricing rules like any Offer.price) with pricing.indicative true. POST /v1/flights/returns with the offerRef lists the options for the next slice (AirReturnOption[]); the same route with returnOption chooses one and narrows the offer under the same offerRef, and once every slice is chosen it reprices and books like a COMPLETE offer. On a one-way search the value changes nothing. A supplier that cannot build outbound-first offers answers COMPLETE offers instead, with a context.warnings[] entry JOURNEY_MODE_UNSUPPORTED (supplier set), so a client reads extension.air.journey (absent means complete) on each offer rather than trusting the request. COMPLETE | OUTBOUND_FIRST; x-extensible-enum, a client tolerates a value it does not know.
FLT — FlightSearchIntent
{
  "context": {
    "domain": "FLT",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "slices": [
        {
          "origin": "GRU",
          "destination": "MIA",
          "date": "2026-11-10"
        }
      ],
      "travelers": [
        {
          "type": "ADT"
        },
        {
          "type": "CHD",
          "age": 9
        }
      ],
      "cabin": "ECONOMY"
    }
  }
}
FLT — FlightSearchIntent, a round trip in journeyMode OUTBOUND_FIRST
{
  "context": {
    "domain": "FLT",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "slices": [
        {
          "origin": "SFO",
          "destination": "BOM",
          "date": "2026-12-18"
        },
        {
          "origin": "BOM",
          "destination": "SFO",
          "date": "2027-01-06"
        }
      ],
      "travelers": [
        {
          "type": "ADT"
        },
        {
          "type": "ADT"
        }
      ],
      "cabin": "ECONOMY",
      "journeyMode": "OUTBOUND_FIRST"
    }
  }
}
FLT — FlightSearchIntent with search filters
{
  "context": {
    "domain": "FLT",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "slices": [
        {
          "origin": "JFK",
          "destination": "LHR",
          "date": "2026-12-02"
        },
        {
          "origin": "LHR",
          "destination": "JFK",
          "date": "2026-12-09",
          "cabin": "BUSINESS"
        }
      ],
      "travelers": [
        {
          "type": "ADT"
        }
      ],
      "cabin": "ECONOMY",
      "carriers": [
        "BA",
        "AA"
      ],
      "refundableOnly": true,
      "excludeBasicEconomy": true,
      "fareTypes": [
        "PUBLISHED"
      ]
    }
  }
}

GiftSearchIntent

Used by Gift cards (GIFT).

A gift card search. A digital gift card is a brand's card for one face value, delivered as a hosted link and non-refundable.Show moreA gift card search. A digital gift card is a brand's card for one face value, delivered as a hosted link and non-refundable. Every field narrows the brand catalogue and none is required. The offer currency is context.currency: a brand sells in one currency, and a brand in another currency is not offered (never relabelled). faceValue asks for one value (its currency must be context.currency); without it the platform offers the brand's fixed denominations, or a few values inside its open limits.

6 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • brandIdsarray of stringOptional
    Canonical ids of brands from a previous answer (an offer's canonicalId)
  • faceValueMoneyOptional
    Integer minor units + ISO-4217, never floats (platform law)
    5 child attributes
    • amountintegerRequired
      Minor units
    • currencystringRequired
      ISO-4217
    • fxAppliedbooleanOptional
      True when the amount was converted from the supplier's currency.
    • fxSnapshotIdstringOptional
      The exchange-rate snapshot the amount was converted with, fixed when the price was quoted.
    • breakdownarray of PriceBreakdownLineOptional
      Sell-side component lines summing to amount; the platform may send it empty.Show moreSell-side component lines summing to amount; the platform may send it empty. One line shape everywhere — the same PriceBreakdownLine the rule simulation answers. Never carries a supplier net.
      13 child attributes
      • typestringRequired
        The kind of line, for example BASE, TAX, FEE or DISCOUNT.
      • amountintegerRequired
        Minor units
      • feeTypestringOptional
        For FEE lines produced by a FEE_LINE rule — the tenant's fee label
      • labelstringOptional
        Display label in the request locale
      • taxComponentstringOptional
        For GST / TAX lines — CGST | SGST | IGST | UTGST | CESS | VAT | SALES_TAX | OCCUPANCY_TAX; open string
      • taxCodeTaxCodeOptional
        The statutory classification of a taxed line (SAC/HSN in India, VAT codes elsewhere)
        2 child attributes
        • schemestringRequired
          SAC | HSN | VAT | GST | OTHER; open string
        • codestringRequired
          The tax code, for example a SAC or HSN code in India or a VAT code elsewhere.
      • rateBasisPointsintegerOptional
        The tax or fee rate in basis points when the line is rate-based (1800 = 18%)
      • collectedBystringOptional
        PLATFORM | SUPPLIER | PROPERTY — who takes the money; a non-PLATFORM line outside Offer.price is a pay-at-property disclosure
      • payableAtstringOptional
        BOOKING | PROPERTY | DESK | AFTER_SERVICE
      • includedbooleanOptional
        True when the line is inside the enclosing amount (default); false for a disclosed line outside it
      • quantityintegerOptional
        How many units the line covers, when more than one.
      • unitAmountintegerOptional
        Minor units per unit when quantity is given
      • currencystringOptional
        ISO-4217 code of this line's amount and unitAmount.Show moreISO-4217 code of this line's amount and unitAmount. Set ONLY on a disclosed line (included false) that is NOT in the enclosing price's currency, for example a resort fee payable at the property in its local currency. Absent means the enclosing price's currency, as before; a line inside the total never carries it.
  • countrystringOptional
    ISO 3166-1 alpha-2 country where the card is redeemed
  • categorystringOptional
    A brand category code (for example beauty, food-and-drink, travel-and-leisure)
  • textstringOptional
    Free text matched against brand names
GIFT — GiftSearchIntent, digital gift cards redeemable in the US, one face value
{
  "context": {
    "domain": "GIFT",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "country": "US",
      "category": "beauty",
      "faceValue": {
        "amount": 1000,
        "currency": "USD"
      }
    }
  }
}

GroundSearchIntent

Used by Cars (CAR), Transfers (TXI), Transfers (XFR).

A ground transport search for transfers, taxis and cars: waypoints with a place id or coordinates, the party with child ages, luggage, an optional flight link on the pickup (the supplier may derive…Show moreA ground transport search for transfers, taxis and cars: waypoints with a place id or coordinates, the party with child ages, luggage, an optional flight link on the pickup (the supplier may derive the pickup time from it), the service type and duration for hourly hire, and a round trip as two legs. A car search sends pickup and dropoff waypoints with a driver age band instead of a party.

11 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • waypointsarray of GroundWaypointSpecRequired
    4 child attributes
    • typestringRequired
      • PICKUP
      • DROPOFF
      • STOP
    • locationPlaceRefRequired
      One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
      6 child attributes
      • timeZonestringOptional
        IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
      • placeIdstringOptional
        A place id from the lookup calls, or a map provider's place id passed through as it is.
      • iatastringOptional
        An airport or rail station code.
      • geoGeoPointOptional
        A point on the map, in decimal degrees.
        2 child attributes
        • latnumberRequired
          Latitude, -90 to 90.
        • lonnumberRequired
          Longitude, -180 to 180.
      • textstringOptional
        Free text the platform resolves; never enough on its own to book.
      • countryCodestringOptional
        The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
    • scheduledAtstring · date-timeOptional
      Local time with offset at the waypoint; required on PICKUP unless flightLink is given
    • flightLinkFlightLinkRefOptional
      The flight an item is keyed to. Used by ground waypoints, airport services, lounges and insurance.
      8 child attributes
      • carrierstringRequired
      • flightNumberstringRequired
      • datestring · dateRequired
        Departure date, airport-local
      • originstringOptional
      • destinationstringOptional
      • departureTerminalstringOptional
      • arrivalTerminalstringOptional
      • parentobjectOptional
        The platform order the flight was booked on, when it was
        2 child attributes
        • orderRefstringOptional
        • itemIdstringOptional
  • partyPartySpecOptional
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • luggageLuggageSpecOptional
    Luggage the vehicle must take (XFR/TXI/CAR); a filter on vehicle class, never a supplier field
    3 child attributes
    • checkedintegerOptional
    • carryOnintegerOptional
    • oversizedintegerOptional
      Skis, golf bags, bicycles — items that need a larger class
  • serviceTypestringOptional
    TRANSFER | HOURLY | RIDE | RENTAL; open string
  • durationHoursintegerOptional
    HOURLY hire length
  • roundTripobjectOptional
    A second leg back; the offer answers with legs[] (a transfer supplier)
    2 child attributes
    • returnAtstring · date-timeOptional
    • returnFlightLinkFlightLinkRefOptional
      The flight an item is keyed to. Used by ground waypoints, airport services, lounges and insurance.
      8 child attributes
      • carrierstringRequired
      • flightNumberstringRequired
      • datestring · dateRequired
        Departure date, airport-local
      • originstringOptional
      • destinationstringOptional
      • departureTerminalstringOptional
      • arrivalTerminalstringOptional
      • parentobjectOptional
        The platform order the flight was booked on, when it was
        2 child attributes
        • orderRefstringOptional
        • itemIdstringOptional
  • sharedstringOptional
    PRIVATE | SHARED | ANY — shuttle vs private car (a transfer supplier); absent = ANY
  • vehicleClassesarray of stringOptional
  • driverAgeBandstringOptional
    CAR only — the renter's age band (ACRISS pricing)
  • childSeatsarray of objectOptional
    Child seats wanted, one entry per seat with the child's age
    1 child attribute
    • childAgeintegerOptional
XFR — GroundSearchIntent, flight-linked pickup, luggage, child seat
{
  "context": {
    "domain": "XFR",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "waypoints": [
        {
          "type": "PICKUP",
          "location": {
            "iata": "GRU"
          },
          "flightLink": {
            "carrier": "LA",
            "flightNumber": "8084",
            "date": "2026-11-10"
          }
        },
        {
          "type": "DROPOFF",
          "location": {
            "placeId": "ChIJ0WGkg4FEzpQRrlsz_whLqZs"
          }
        }
      ],
      "party": {
        "adults": 2,
        "childAges": [
          4
        ]
      },
      "luggage": {
        "checked": 3
      },
      "serviceType": "TRANSFER",
      "shared": "PRIVATE",
      "childSeats": [
        {
          "childAge": 4
        }
      ]
    }
  }
}

InsuranceSearchIntent

Used by Insurance (INS).

A travel insurance search: the trip to insure and the insured people with their ages.Show moreA travel insurance search: the trip to insure and the insured people with their ages. The quote may come from a local rating table (firmness PLATFORM_EMULATED, basis LOCAL_TABLE).

6 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • tripobjectRequired
    6 child attributes
    • startstring · dateRequired
    • endstring · dateRequired
    • originstringOptional
    • destinationsarray of stringRequired
    • tripTypestringOptional
      SINGLE | ROUND_TRIP | ANNUAL
    • purposestringOptional
      LEISURE | BUSINESS | STUDENT
  • insuredarray of objectRequired
    3 child attributes
    • travelerIndexintegerOptional
    • ageAtDepartureintegerRequired
    • residenceCountrystringOptional
  • categoriesarray of stringOptional
    DOMESTIC | INBOUND | OVERSEAS | STUDENT | SCHENGEN | CANCELLATION | DOMESTIC_CANCELLATION
  • sumInsuredBandstringOptional
    Supplier plan band label when the market sells by band
  • attachToobjectOptional
    The parent booking an INS_ADDON attaches to
    2 child attributes
    • orderRefstringOptional
    • itemIdstringOptional
INS — InsuranceSearchIntent, overseas single trip
{
  "context": {
    "domain": "INS",
    "currency": "INR"
  },
  "message": {
    "intent": {
      "trip": {
        "start": "2026-11-10",
        "end": "2026-11-20",
        "origin": "IN",
        "destinations": [
          "US"
        ],
        "tripType": "SINGLE"
      },
      "insured": [
        {
          "travelerIndex": 0,
          "ageAtDeparture": 34
        },
        {
          "travelerIndex": 1,
          "ageAtDeparture": 9
        }
      ],
      "categories": [
        "OVERSEAS"
      ]
    }
  }
}

LoungeSearchIntent

Used by Lounges (LOUNGE).

An airport lounge search: a station or a flight link, the visit window and the guests.Show moreAn airport lounge search: a station or a flight link, the visit window and the guests. Voucher products need only the station; pre-booked products need the flight link.

7 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • stationStationOptional
    An airport or rail station position
    6 child attributes
    • airportstringRequired
      IATA airport code, or the rail station code when siteType is RAIL
    • siteTypestringOptional
      AIRPORT | RAIL; absent = AIRPORT
    • terminalstringOptional
    • terminalTypestringOptional
      DOMESTIC | INTERNATIONAL | MIXED
    • directionstringOptional
      DEPARTURE | ARRIVAL | TRANSIT
    • airsidebooleanOptional
  • flightLinkFlightLinkRefOptional
    The flight an item is keyed to. Used by ground waypoints, airport services, lounges and insurance.
    8 child attributes
    • carrierstringRequired
    • flightNumberstringRequired
    • datestring · dateRequired
      Departure date, airport-local
    • originstringOptional
    • destinationstringOptional
    • departureTerminalstringOptional
    • arrivalTerminalstringOptional
    • parentobjectOptional
      The platform order the flight was booked on, when it was
      2 child attributes
      • orderRefstringOptional
      • itemIdstringOptional
  • visitAtstring · date-timeOptional
  • partyPartySpecRequired
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • entitlementModelsarray of stringOptional
    VOUCHER | PREBOOK — absent = both
  • attachToobjectOptional
    2 child attributes
    • orderRefstringOptional
    • itemIdstringOptional
LOUNGE — LoungeSearchIntent, voucher at a station
{
  "context": {
    "domain": "LOUNGE",
    "currency": "INR"
  },
  "message": {
    "intent": {
      "station": {
        "airport": "DEL",
        "terminal": "3",
        "terminalType": "INTERNATIONAL",
        "direction": "DEPARTURE"
      },
      "visitAt": "2026-11-10T20:00:00+05:30",
      "party": {
        "adults": 2
      },
      "entitlementModels": [
        "VOUCHER"
      ]
    }
  }
}

PackageSearchIntent

Used by Packages (PKG).

A package search for a pre-bundled trip: hotel and flight, hotel and bus, or a service package.Show moreA package search for a pre-bundled trip: hotel and flight, hotel and bus, or a service package. `origin` and `destination` are PlaceRefs; a package-origins or package-destinations lookup id goes in `placeId`. An input a supplier cannot resolve skips that supplier with the warning SUPPLIER_INPUT_UNRESOLVED. More than one room is refused 501 NOT_IMPLEMENTED details.reason MULTI_ROOM_NOT_SUPPORTED. Prices are indicative until POST /v1/reprice; the date calendar is GET /v1/lookup/package-calendar, not resultShape CALENDAR.

8 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • packageTypestringRequired
    • HOTEL_FLIGHT
    • HOTEL_BUS
    • SERVICE
  • originPlaceRefOptional
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • destinationPlaceRefRequired
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • departureDatestring · dateRequired
  • returnDatestring · dateRequired
  • partyobjectOptional
    One room's guests; absent means two adults
    2 child attributes
    • adultsintegerOptional
    • childAgesarray of integerOptional
  • roomsintegerOptionalDefault 1
PKG — PackageSearchIntent, a hotel + flight package for two adults and a child
{
  "context": {
    "domain": "PKG",
    "currency": "BRL"
  },
  "message": {
    "intent": {
      "packageType": "HOTEL_FLIGHT",
      "origin": {
        "placeId": "mondee:place:sao-paulo-br"
      },
      "destination": {
        "placeId": "mondee:place:fortaleza-br"
      },
      "departureDate": "2027-02-10",
      "returnDate": "2027-02-17",
      "party": {
        "adults": 2,
        "childAges": [
          7
        ]
      }
    }
  }
}

ParkingSearchIntent

Used by Parking (PARK).

An airport or cruise-port parking search for one stay: where (an airport, or a cruise port the supplier reaches through its airport) and the entry and exit times.Show moreAn airport or cruise-port parking search for one stay: where (an airport, or a cruise port the supplier reaches through its airport) and the entry and exit times. A time without an offset is the wall-clock time at the location, which is what a traveller reads on the lot's sign; a time with an offset is converted to the location's own zone. A supplier that books on a time grid (for example 15 minutes) widens the stay to the grid, entry earlier and exit later, and echoes the times it priced on every offer (ParkingExtension.entryAt, exitAt, intervalAdjusted). Changing the times is a new search, never a reprice. A port the supplier cannot reach answers no offers and the warning <SUPPLIER>_PORT_NOT_SERVED (details.field message.intent.location.portCode), and nothing is sent. Prices on search are indicative and may exclude taxes (extension.parking.taxesIncluded false); reprice states the firm, tax-inclusive total.

5 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
  • locationobjectRequired
    Exactly one of iata or portCode
    2 child attributes
    • iatastringOptional
      The airport the lots serve
    • portCodestringOptional
      A cruise port code (UN/LOCODE, for example USMIA).Show moreA cruise port code (UN/LOCODE, for example USMIA). The supplier adapter maps it to the airport its supplier searches by; an unmapped port answers no offers and a warning
  • entryAtstringRequired
    Entry time, local at the location (2027-06-01T09:00) or with an offset
  • exitAtstringRequired
    Exit time, after entryAt; same forms as entryAt
  • filtersobjectOptional
    Narrow the lots; applied by the platform after the supplier answers
    3 child attributes
    • parkingClassesarray of stringOptional
      • SELF_PARK
      • VALET
    • coveredbooleanOptional
      True keeps covered lots only (garage, covered or indoor)
    • shuttlebooleanOptional
      True keeps lots with a shuttle to the airport or port
PARK — ParkingSearchIntent, airport parking at LAX from 1 to 3 June 2027, lot-local times
{
  "context": {
    "domain": "PARK",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "location": {
        "iata": "LAX"
      },
      "entryAt": "2027-06-01T09:00",
      "exitAt": "2027-06-03T18:00",
      "filters": {
        "covered": true
      }
    }
  }
}

StaySearchIntent

Used by Hotels (HTL).

A stay search for hotels, vacation rentals and day use: a destination (a place, a geo area or a list of property ids), the dates, the rooms with child ages, and pets.Show moreA stay search for hotels, vacation rentals and day use: a destination (a place, a geo area or a list of property ids), the dates, the rooms with child ages, and pets. More than one entry in `rooms[]` is refused for a whole-property vacation rental (400 VALIDATION).

11 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • destinationPlaceRefOptional
    One way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather).Show moreOne way to name a place, used by every intent that takes a location (ground waypoints, experiences pickup, lounge and airport-service stations, weather). Send exactly one of placeId, iata (an airport or rail station code) or geo; text is free text the platform resolves and is never a booking input on its own (a transfer supplier).
    6 child attributes
    • timeZonestringOptional
      IANA time zone of the place (e.g. America/Sao_Paulo) — planned; lookups carry it as attributes.timezone today
    • placeIdstringOptional
      A place id from the lookup calls, or a map provider's place id passed through as it is.
    • iatastringOptional
      An airport or rail station code.
    • geoGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • textstringOptional
      Free text the platform resolves; never enough on its own to book.
    • countryCodestringOptional
      The country, as its ISO 3166-1 alpha-2 code, to narrow the match.
  • areaGeoAreaOptional
    A geographic search area: a centre with a radius, or a bounding box.Show moreA geographic search area: a centre with a radius, or a bounding box. Send one form.
    3 child attributes
    • centerGeoPointOptional
      A point on the map, in decimal degrees.
      2 child attributes
      • latnumberRequired
        Latitude, -90 to 90.
      • lonnumberRequired
        Longitude, -180 to 180.
    • radiusKmnumberOptional
    • bboxobjectOptional
      South-west and north-east corners
      2 child attributes
      • swGeoPointRequired
        A point on the map, in decimal degrees.
        2 child attributes
        • latnumberRequired
          Latitude, -90 to 90.
        • lonnumberRequired
          Longitude, -180 to 180.
      • neGeoPointRequired
        A point on the map, in decimal degrees.
        2 child attributes
        • latnumberRequired
          Latitude, -90 to 90.
        • lonnumberRequired
          Longitude, -180 to 180.
  • canonicalIdsarray of stringOptional
    Search these properties only
  • stayobjectRequired
    2 child attributes
    • checkInstring · dateRequired
    • checkOutstring · dateRequired
      Equal to checkIn is legal for DAYUSE
  • roomsarray of PartySpecRequired
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • unitTypestringOptional
    ROOM | WHOLE_PROPERTY | APARTMENT | VILLA — VR searches say WHOLE_PROPERTY; open string
  • quantityintegerOptional
    Units wanted of a whole-property type (a vacation-rental supplier)
  • bookingModelsarray of stringOptional
    INSTANT | REQUEST_TO_BOOK — absent = both (a vacation-rental supplier)
  • petsAllowedbooleanOptional
    Only pet-friendly units (rooms[].pets says how many)
  • boardsarray of stringOptional
VR — StaySearchIntent, whole property, pets, child ages
{
  "context": {
    "domain": "VR",
    "currency": "USD"
  },
  "message": {
    "intent": {
      "destination": {
        "placeId": "mondee:place:miami"
      },
      "stay": {
        "checkIn": "2026-11-10",
        "checkOut": "2026-11-14"
      },
      "rooms": [
        {
          "adults": 2,
          "childAges": [
            4
          ],
          "pets": 1
        }
      ],
      "unitType": "WHOLE_PROPERTY",
      "petsAllowed": true
    }
  }
}

VisaSearchIntent

The contract's examples send it as context.domain VISA.

A visa search: the corridor (nationality, residence, origin, destinations and purpose).Show moreA visa search: the corridor (nationality, residence, origin, destinations and purpose). A VISA_FREE answer is advisory and never orderable.

5 fields

  • resultShapestringOptionalDefault "OFFERS"
    • OFFERS
    • CALENDAR
  • corridorobjectRequired
    5 child attributes
    • nationalitystringRequired
    • residencestringOptional
    • originstringOptional
    • destinationsarray of stringRequired
    • purposestringOptional
      TOURISM | BUSINESS | TRANSIT | STUDY | WORK; open string
  • travelDateRangeOptional
    A range of days, both ends inclusive.
    2 child attributes
    • fromstring · dateRequired
      First day (inclusive).
    • tostring · dateRequired
      Last day (inclusive).
  • partyPartySpecOptional
    Who travels, as a search input (every vertical).Show moreWho travels, as a search input (every vertical). Child ages are mandatory wherever a child is counted: suppliers price by age, never by count (Example Rentals, EXAMPLEHOTELS4, iOL X).
    4 child attributes
    • adultsintegerRequired
    • childAgesarray of integerOptional
      One entry per child, age at travel date
    • infantsintegerOptional
      Lap infants (FLT); elsewhere count them in childAges
    • petsintegerOptional
      HTL/VR only — pets travelling (Example Rentals `pets`); absent = 0
  • entrystringOptional
    SINGLE | DOUBLE | MULTI — absent = any
VISA — VisaSearchIntent, corridor IN → AE
{
  "context": {
    "domain": "VISA",
    "currency": "INR"
  },
  "message": {
    "intent": {
      "corridor": {
        "nationality": "IN",
        "residence": "IN",
        "destinations": [
          "AE"
        ],
        "purpose": "TOURISM"
      },
      "travel": {
        "from": "2026-12-01",
        "to": "2026-12-10"
      },
      "party": {
        "adults": 2
      }
    }
  }
}