Skip to content

suggest_destinations

Resolves a free-text location or hotel name into a ranked list of candidate hotels and places. Use this before search_hotels to disambiguate when a name could match more than one hotel or place — for example "the Hilton", "The Ritz", or "Grand Hotel". It does not perform a search or return offers; it only tells you which hotels and places the query could refer to.

Parameters

ParameterTypeRequiredDescription
querystringYesLocation or hotel name to resolve. Pass only the name — no dates, party size, or filters
limitnumberNoMaximum number of suggestions to return (default: 8, max: 10)

When to use it

  • Ambiguous hotel name — a brand or common name ("the Hilton", "Ibis") may match many hotels. Call suggest_destinations first, then pass the chosen hotel's id to search_hotels or get_hotels.
  • Ambiguous destination — a place name ("Springfield") may match several locations. Use the placeDisplayName of each candidate to confirm which one the user means.
  • Do not use it to search for availability or pricing — use search_hotels or search_hotels_availability for that.

Use cases

Disambiguate a hotel name

json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "suggest_destinations",
    "arguments": {
      "query": "The Ritz",
      "limit": 5
    }
  }
}

Resolve a destination before searching

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "suggest_destinations",
    "arguments": {
      "query": "Hilton Amsterdam"
    }
  }
}

Response

Returns a suggestions array, ranked best-first. The array is empty when nothing matches.

FieldTypeDescription
typestringhotel or place
idstringHotel ID (when type is hotel) or place ID (when type is place) — pass a hotel id to search_hotels or get_hotels
namestringDisplay name, e.g. "Hilton Amsterdam"
placeDisplayNamestringLocation context used to tell same-named candidates apart, e.g. "Apollobuurt, Amsterdam, Netherlands". Omitted when unavailable
coordinatesobject{ lat, lon }. Omitted when unavailable
highlightValuestringname with matched query tokens wrapped in <em> tags, e.g. "<em>Hilton</em> <em>Amsterdam</em>". A fully wrapped value indicates a full-name match. Omitted when unavailable

Example response

json
{
  "suggestions": [
    {
      "type": "hotel",
      "id": "1196445",
      "name": "Hilton Amsterdam",
      "placeDisplayName": "Apollobuurt, Amsterdam, Netherlands",
      "coordinates": { "lat": 52.35088, "lon": 4.87262 },
      "highlightValue": "<em>Hilton</em> <em>Amsterdam</em>"
    }
  ]
}