Tool description (what the LLM sees)
Tool description (what the LLM sees)
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
origin | string | Yes | Origin IATA city code (e.g. PAR, NYC, LON) or airport code (CDG, JFK, LHR). City codes preferred — they cover every airport in the city. |
origin_type | enum ("city" | "airport") | No | How to interpret origin. “city” (default) searches all airports in the city; “airport” pins to one airport. |
destination | string | Yes | Destination IATA city code (e.g. MIL, BCN, TYO) or airport code (MXP, BCN, NRT). City codes preferred. |
destination_type | enum ("city" | "airport") | No | How to interpret destination. Same semantics as origin_type. |
departure_date | string | Yes | Single departure date (YYYY-MM-DD). Exactly one date — no arrays or ranges. |
return_date | string | No | Single return date (YYYY-MM-DD). Omit for one-way. Must be on or after departure_date. |
direct_only | boolean | No | If true, only return non-stop flights. Mirror the upstream filter the user committed to when they started monitoring. |
cabin_class | enum ("economy" | "premium_economy" | "business" | "first") | No | Cabin class filter. Omit for economy. |
max_price | number | No | Upper bound on the total fare in the requested currency. Lowest-fare semantics are “lowest within the filter constraints” — max_price tightens the candidate set, not the win condition. |
include_carriers | array<string> | No | IATA 2-letter marketing carrier codes to include (whitelist). Example: [“AF”,“KL”]. Use to lock monitoring to specific airlines the user actually flies. |
exclude_carriers | array<string> | No | IATA 2-letter marketing carrier codes to exclude (blacklist). Example: [“FR”,“U2”]. Use to keep airlines the user refuses out of the picture. |
traveler_counts | object | No | Traveler counts. Defaults to 1 adult. |
traveler_counts.adults | integer | No | Number of adult travelers (12+). |
traveler_counts.children | integer | No | Number of child travelers (2-11). |
traveler_counts.infants | integer | No | Number of infant travelers (under 2). |
locale | string | No | User’s BCP 47 locale (e.g. “fr-FR”, “en-US”). Inherits from the conversation locale if omitted. |
currency | string | No | ISO 4217 currency code (e.g. “EUR”, “USD”). Inherits from the conversation if omitted. Must match the currency the user is monitoring against — switching currencies mid-poll is not what they want. |
Examples
Daily poll of PAR → NYC for a date pair:offer_token is directly re-shoppable via flight_search (price_check mode) when the user is ready to book.