recommend_experiences
Use this when the user describes what they want in natural language rather than naming a category. Parses the query for audience, mood, constraints, occasion, and time of day, then returns scored recommendations with a reason field explaining the match.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"query": "<query>"
},
"name": "recommend_experiences"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pax | No | Number of people. Default 2. | |
| city | No | Optional city slug. If omitted, the city is parsed from the query. | |
| date | No | Optional ISO date (YYYY-MM-DD) for availability-aware ranking. | |
| limit | No | Number of recommendations to return (1-20). Default 5. | |
| query | Yes | Natural-language preference, e.g., "romantic evening in Paris under 100 euros" or "rainy day in Edinburgh with kids 8 and 12". | |
| format | No | Response shape. 'json' returns structured records; 'text' returns the same content rendered as a short narrative paragraph for chat surfaces. | json |
| language | No | BCP-47 language code for human-readable fields (e.g., 'en', 'fr-FR'). Defaults to English when omitted. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| detail | No | ||
| message | No | ||
| results | No | ||
| error_type | No | ||
| pagination | No | ||
| request_id | No | ||
| experiences | No | ||
| _normalization | No | ||
| schema_version | No |