Use this when the user describes what they want in natural language and you need AI-powered semantic search to understand their intent.
Before use this tool, please READ all possible filters. PLESE USE FILTERS, when can be used, to make search faster and much more precise. Please use start_city, end_city, cities, countries, start_country, end_country filters if possible. You can use multiple of them.
AI-powered semantic search for tours using natural language queries combined with optional filters. Uses Google Vertex AI to understand intent and find relevant tours based on descriptions, themes, or specific requests.
Use vertex-tour-search when:
- The user describes what they want in natural language
- You need semantic/AI-powered search to understand intent
- Combining natural language with filters for refined results
Examples:
- "Family-friendly safari with kids under 12"
- "Romantic honeymoon trip with beach and mountains"
- "Adventure tour with hiking and camping for beginners"
- "Cultural immersion experience with local homestays"
- "Wine tasting tour through European countryside"
textSearch: Natural language description of what the user is looking for
display_mode: How to display results — "listing" (default, carousel of tour cards) or "map" (interactive map view)
| Filter | Type | Description | | --------------- | -------- | -------------------------------------------------------------------------- | | start_country | string[] | Country where tour BEGINS (ISO 3166-1 alpha-2 codes). OR logic. | | end_country | string[] | Country where tour ENDS (ISO 3166-1 alpha-2 codes). OR logic. | | start_city | number[] | City IDs where tour starts. Use b2b-cities-search to find IDs. OR logic. | | end_city | number[] | City IDs where tour ends. Use b2b-cities-search to find IDs. OR logic. | | countries | object | Countries visited DURING the itinerary. Supports AND/OR operator. | | cities | object | Cities visited on the itinerary. Supports AND/OR operator. |
| Filter | Type | Description | | ---------------- | ------------------------ | ----------------------------- | | duration | { min, max } | Tour length in days | | max_group_size | { min, max } | Maximum group size range | | min_group_size | { min, max } | Minimum group size range | | price | { min, max, currency } | Price range (currency: "EUR") |
These filters support both AND and OR operators:
| Filter | Values | Description | | ------------ | ------------------------ | ---------------------------------- | | departures | YYYY-MM strings | Filter by departure months | | countries | ISO 3166-1 alpha-2 codes | Countries visited during itinerary | | cities | City IDs | Cities visited on itinerary |
Structure: { values: [...], operator: "AND" | "OR" }
OR (default): Tour matches ANY of the specified values
AND: Tour must match ALL specified values
{ "textSearch": "family adventure with wildlife" }
{
"textSearch": "hiking adventure",
"start_country": ["DE", "AT"],
"countries": { "values": ["IT", "CH"], "operator": "AND" }
}
{
"textSearch": "luxury beach vacation",
"duration": { "min": 7, "max": 14 },
"price": { "min": 2000, "max": 5000, "currency": "EUR" },
"max_group_size": { "min": 1, "max": 16 }
}
{
"textSearch": "northern lights tour",
"departures": { "values": ["2026-01", "2026-02", "2026-03"], "operator": "OR" }
}
{
"textSearch": "hiking tours in the Alps",
"display_mode": "map",
"countries": { "values": ["AT", "CH"], "operator": "OR" }
}
Returns a list of tours matching the query, each containing:
- Tour ID, name, and URL
- Operator information
- Brief description matching the query context