Get Countries
get_countriesFull Description
Get list of available destination countries for holidays search. Returns country names and two-letter codes.
Search and compare holiday deals — flights and hotels bundled together — across popular vacation destinations.
Just describe where you want to go, when, and for how many people, and get real offers with prices, hotel details, star ratings, photos, and direct booking links.
Filter by budget, meal plan, or hotel stars. Results are displayed as easy-to-browse visual cards with everything you need to book your next holiday.
get_countriesGet list of available destination countries for holidays search. Returns country names and two-letter codes.
get_regionsGet available regions and cities for a specific destination country. Returns region/city names and codes usable with the search_packages regionCode parameter to narrow holiday search results.
countryCodestringTwo-letter country code (e.g., 'ES' for Spain, 'GR' for Greece). Use get_countries to find valid codes.
search_inspirationsSearch for travel destination ideas using a natural language query. Returns curated destinations with pricing (per person), reasons why they fit the user's preferences, and identifiers for downstream package searches. Use this as the entry point for destination DISCOVERY queries ("somewhere warm", "beach vacation", "exotic in March", "family trip to Mediterranean").
TWO INPUT CHANNELS — split user intent from booking context:
query carries ONLY the user's intent for THIS turn (what they just said, lightly normalized). Keep it short. Do NOT stuff the full conversation history here.
context carries the FULL, CURRENT, ACCUMULATED state of every constraint the user has stated at ANY point in the conversation. On EVERY call send the complete current context, not just the delta. When the user mutates a value (new budget, new dates, new origin), REPLACE the old value and keep everything else intact.
Fields to enumerate in context (include every one the user stated):
("4 adults + 2 children aged 1 and 4", never just "4 adults + 2 children")
QUERY BUILDING RULES:
and add "do not return: [previously shown destinations]" to context
SMART DATE WINDOW — for long weekends / bank holidays, expand ±1–2 days for flight flexibility:
Examples of the query/context split: Turn 1: user asks for "family beach holiday in Mediterranean, 4 adults + 2 children aged 1 and 4, 15–22 July 2026, from Wrocław, budget 20000 PLN total, all-inclusive hotel with pool" → query: "family holiday Mediterranean beach" → context: "origins: WRO; dates: 2026-07-15..2026-07-22 (fixed); pax: 4 adults + 2 children aged 1 and 4; budget: 20000 PLN total; hotel: all-inclusive, pool"
Turn 2: user says "cheaper" → query: "family holiday Mediterranean beach cheaper" → context: "origins: WRO; dates: 2026-07-15..2026-07-22 (fixed); pax: 4 adults + 2 children aged 1 and 4; budget: 20000 PLN total; hotel: all-inclusive, pool; do not return: [Rome, Malta, Barcelona]"
GUARDRAILS:
do not add new ones). If still empty, inform the user and ask them to rephrase.
package search tools; never modify or invent values.
querystringUser's intent for THIS turn only — what they just said, lightly normalized. Short. Do NOT include accumulated booking state here, put that in `context`.
contextstringFull accumulated booking state from the entire conversation: origins, dates, pax (with children ages), budget, hotel preferences, exclusions. On every call re-emit the complete current state. Pass empty string only on the very first turn when the user has stated nothing beyond the query itself.
search_packagesSearch for holidays / vacation packages (flights + hotel) to a specific destination country. Returns packages with hotel details, flight info, pricing, and booking links. Only countryCode is required; other parameters are optional with sensible defaults (dates: next 2 months, nights: 7, adults: 2). Supports filtering by price range, hotel stars, meal plan, region, departure airport, and sorting by price, rating, stars, or popularity. Use regionCode from get_regions for region-specific searches. Supports pagination via cursor.
countryCodestringDestination country code (e.g., 'ES' for Spain, 'GR' for Greece, 'TR' for Turkey, 'EG' for Egypt). Use get_countries to see available destinations.
adultsintegerNumber of adults (default: 2)
2childrenAgesarrayAges of children (optional, empty array if no children)
nullcursorstringCursor for pagination (from previous response's nextCursor)
nulldateFromstringDeparture date range start in YYYY-MM-DD format (optional, defaults to tomorrow)
dateTostringDeparture date range end in YYYY-MM-DD format (optional, defaults to 2 months from now)
departureAirportstringDeparture airport IATA code (e.g., 'LHR', 'MAN', 'WAW'). If not specified, searches from all available airports.
nulllimitinteger/nullNumber of results to return (default 6, max 30)
nullmaxPricenumber/nullMaximum price in the local currency (optional)
nullmaxStarsinteger/nullMaximum hotel star rating 1-5 (optional)
nullmealTypestringMeal plan filter: 'breakfast' (BB), 'half-board' (HB), 'full-board' (FB), 'all-inclusive' (AI), or 'room-only' (RO)
nullminPricenumber/nullMinimum price in the local currency (optional)
nullminStarsinteger/nullMinimum hotel star rating 1-5 (optional)
nullnightsintegerNumber of nights (default: 7)
7nightsMaxinteger/nullMaximum number of nights for flexible range (optional, use with nightsMin). If set, 'nights' is ignored.
nullnightsMininteger/nullMinimum number of nights for flexible range (optional, use with nightsMax). If set, 'nights' is ignored.
nullregionCodestringRegion or city code to narrow search (optional). Get codes from get_regions tool. Example: 're-ACA' for a region.
nullsortBystringSort results by: 'popularity' (default), 'price', 'rating', or 'stars'. Default is popularity (most booked first) — do NOT change unless the user explicitly asks to sort differently. Never default to price sorting.
nullsortOrderstringSort order: 'asc' (ascending) or 'desc' (descending). Default depends on sort type.
null