Skip to main content
Glama

get_trip_price

Read-onlyIdempotent

The price of ONE trip for one departure date, one room type and one party. Give trip_id and, for a trip that leaves on set dates, date (YYYY-MM-DD, one of the departures listed by get_package_details). Returns the price per person for each tier the trip is sold in, and the total for the party when travellers is given, with the status of that departure. The figure is the published price for that date, tier and room when the operator was last read (as_of): it is exact for the date, it is stored and not live, and a person confirms the final price. The STATUS of the date is checked with the operator as this is answered: source is "live" with checked_at when it answered, and a date it has closed is refused with departure_closed and the nearest open dates. When source is "snapshot", live_check says the operator was not heard: do not promise the date. room is double (two sharing, the default), single, triple or shared (a solo traveller sharing with others of the same gender); a room that is not sold on that date is answered in words, with the rooms that are. Luxury is planned and priced individually and has no figure. A trip sold at one price per room type has no tiers. Our own self-paced trips have no fixed departures: they return the figure their page shows for every start date, as a starting price, and one that runs in one season refuses a date outside it with out_of_season, its window and its next start. If the date is not a departure, the nearest real departures are returned in place of a guess. deposit_share is the deposit stated in the Terms; use get_terms for the clause. Nothing is held or charged by asking.

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": {
      "trip_id": "<trip_id>"
    },
    "name": "get_trip_price"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateNoDeparture date, ISO YYYY-MM-DD. Required for a trip that leaves on set dates. Omit it to get the list of departures back.
roomNoRoom type the price is per person in. Default: double.
tierNoOnly this tier. Omit to get every tier the trip is sold in.
trip_idYesThe trip, as find_trips, list_packages, search_all_tours or check_availability return it. The trip number (1024). The same digits as text, the start of its page address (1024-from-london-to-budapest) and a link to its page are read as well.
currencyNoCurrency for the price_localized fields. Conversion is approximate, EUR-based; the binding price at booking is always EUR. Default: EUR. A value outside the list is refused.
languageNoOutput language for translatable fields (city names, country names, trip titles, descriptions). Default: en. zh is Simplified Chinese. A value outside the list is refused.
travellersNoParty size, 1 to 40. When given, the total for the party is returned as well.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / currency / description
      Previous value: -"Currency for the price_localized fields. Conversion is approximate, EUR-based; the binding price at booking is always EUR. Unsupported values fall back to EUR. Default: EUR."New value: +"Currency for the price_localized fields. Conversion is approximate, EUR-based; the binding price at booking is always EUR. Default: EUR. A value outside the list is refused."
    • changedInput schema / properties / language / description
      Previous value: -"Output language for translatable fields (city names, country names, trip titles, descriptions). Unsupported values fall back to English. Default: en. zh is Simplified Chinese."New value: +"Output language for translatable fields (city names, country names, trip titles, descriptions). Default: en. zh is Simplified Chinese. A value outside the list is refused."
    • addedInput schema / properties / travellers / maximum
      Added value: +40
    • addedInput schema / properties / travellers / minimum
      Added value: +1
    • changedInput schema / properties / travellers / type
      Previous value: -"number"New value: +"integer"
    • changedInput schema / properties / trip_id / description
      Previous value: -"The trip id, from list_packages, search_all_tours or check_availability."New value: +"The trip, as find_trips, list_packages, search_all_tours or check_availability return it. The trip number (1024). The same digits as text, the start of its page address (1024-from-london-to-budapest) and a link to its page are read as well."
  2. Added

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes well past readOnlyHint: the price is stored and not live ('as_of' is a snapshot), a person confirms the final figure, source/live_check disclose whether the operator actually answered, closed dates return departure_closed with the nearest open dates, and out-of-season dates return out_of_season with the window. It also states the critical side-effect guarantee: 'Nothing is held or charged by asking.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core purpose, but the body is a single dense paragraph with several convoluted clauses ('a room that is not sold on that date is answered in words, with the rooms that are') that slow an agent trying to extract the rule. The content mostly earns its place; the packaging does not.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the return shape itself: price per person per tier, party total when travellers is given, departure status, source/checked_at, deposit_share, and the specific error payloads (departure_closed, out_of_season, nearest departures). That is complete for a 7-parameter pricing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3; the description adds real meaning on top – date must be one of get_package_details' departures, room 'double' means two sharing and 'shared' means a solo traveller with same-gender others, luxury is priced individually and has no figure, and a one-price-per-room-type trip has no tiers. Currency and language are left entirely to the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a precise verb+resource+scope: 'The price of ONE trip for one departure date, one room type and one party.' It routes to siblings for adjacent jobs (departures via get_package_details, deposit clause via get_terms), but never distinguishes itself from status-checking tools like check_departure_live even though it also reports departure status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete conditions: pass date for trips with set departures, omit it to get the departure list, omit tier to get every tier, give travellers to get a party total. It names get_package_details as the source of valid dates and get_terms for deposit wording. It lacks an explicit 'do not use this when…' exclusion against check_departure_live.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources