Skip to main content
Glama

Get live rates

get_rates
Read-only

Fetch live hotel room availability and rates for up to 15 hotels and 1–15 night stays, with room, adult, and child details. Quote prices in CNY/USD before booking.

Instructions

Live rooms and rate plans for 1–15 hotelIds and a stay of 1–15 nights. Specify rooms and adults per room; provide every child age. Prices in CNY (default) or USD. Returns roomId/ratePlanCode for create_booking and meal/cancellation terms. Defaults to 5 cheapest rooms per hotel. Takes about 15 seconds; query a few hotels per call. Use search_hotels first to find IDs, get_hotel for static policies/photos, and get_planning_guide for flexible trips. Use this tool to verify availability and quote live prices before booking. Requires Fortrip login; 429 errors include retry guidance.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
roomsYesNumber of rooms requested for this stay, not number of guests.
adultsYesAdults per room
checkInYesCalendar date in YYYY-MM-DD format; checkOut must be 1–15 nights after checkIn.
checkOutYesCalendar date in YYYY-MM-DD format; checkOut must be 1–15 nights after checkIn.
currencyNoCurrency for displayed prices: CNY or USD. Booking charges the currency returned by create_booking.CNY
hotelIdsYesCatalogue hotel IDs returned by search_hotels; compare up to 15 hotels in one call.
boardCodesNoKeep any of these meal plans: RO=room only, BB=breakfast, HB/HBLD=breakfast and dinner, FB=breakfast/lunch/dinner, BL=lunch, BD=dinner, HBBL=breakfast and lunch, AI=all inclusive. Omit for all meal plans; use returned terms for exact inclusions.
nationalityNoGuest nationality as an uppercase ISO 3166-1 alpha-2 country code, e.g. CN or US; omit when unknown.
bookableOnlyNoTrue keeps only rates with bookable inventory on every night. False also includes rates with unavailable nights; do not present those as bookable.
childrenAgesNoAge in years of each child, 0–17; omit or use [] when no children are travelling.
freeCancellationNoTrue keeps rates that can still be cancelled free of charge now. False or omitted applies no cancellation filter; it does not mean non-refundable only. Read each returned deadline and penalty.
maxRoomsPerHotelNoMaximum room types returned per hotel, cheapest first after filtering; default 5. This limits response size, not the rooms being booked.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed11 schema fields changedv0.1.1
    • addedInput schema / properties / boardCodes / description
      Added value: +"Keep any of these meal plans: RO=room only, BB=breakfast, HB/HBLD=breakfast and dinner, FB=breakfast/lunch/dinner, BL=lunch, BD=dinner, HBBL=breakfast and lunch, AI=all inclusive. Omit for all meal plans; use returned terms for exact inclusions."
    • addedInput schema / properties / bookableOnly / description
      Added value: +"True keeps only rates with bookable inventory on every night. False also includes rates with unavailable nights; do not present those as bookable."
    • addedInput schema / properties / checkIn / description
      Added value: +"Calendar date in YYYY-MM-DD format; checkOut must be 1–15 nights after checkIn."
    • addedInput schema / properties / checkOut / description
      Added value: +"Calendar date in YYYY-MM-DD format; checkOut must be 1–15 nights after checkIn."
    • addedInput schema / properties / childrenAges / description
      Added value: +"Age in years of each child, 0–17; omit or use [] when no children are travelling."
    • addedInput schema / properties / currency / description
      Added value: +"Currency for displayed prices: CNY or USD. Booking charges the currency returned by create_booking."
    • addedInput schema / properties / freeCancellation / description
      Added value: +"True keeps rates that can still be cancelled free of charge now. False or omitted applies no cancellation filter; it does not mean non-refundable only. Read each returned deadline and penalty."
    • addedInput schema / properties / hotelIds / description
      Added value: +"Catalogue hotel IDs returned by search_hotels; compare up to 15 hotels in one call."
    • addedInput schema / properties / maxRoomsPerHotel / description
      Added value: +"Maximum room types returned per hotel, cheapest first after filtering; default 5. This limits response size, not the rooms being booked."
    • addedInput schema / properties / nationality / description
      Added value: +"Guest nationality as an uppercase ISO 3166-1 alpha-2 country code, e.g. CN or US; omit when unknown."
    • addedInput schema / properties / rooms / description
      Added value: +"Number of rooms requested for this stay, not number of guests."
  2. First observedv0.1.0

TDQS

A4.5/5.0
Behavior5/5

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

Beyond the readOnly/openWorld annotations, it discloses latency (~15 seconds), an authentication requirement (Fortrip login), rate-limit behavior (429s include retry guidance), a default response-shaping rule (5 cheapest rooms per hotel), and the currency actually charged by the downstream booking call. These are exactly the behavioral facts an agent needs to plan around.

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

Conciseness4/5

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

Front-loaded with scope and return values, then usage sequencing, then operational caveats. Every sentence carries information, though it is denser and longer than strictly necessary for a schema that already documents the parameters.

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

Completeness4/5

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

No output schema exists, and the description partially compensates by naming what comes back (roomId/ratePlanCode for create_booking, meal and cancellation terms). Combined with full schema coverage, auth, latency and rate-limit disclosure, an agent has enough to call it correctly.

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

Parameters3/5

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

Schema coverage is 100%, so every parameter is already documented in the schema, including enums and defaults. The description restates counts and currency defaults (1–15 hotelIds, 1–15 nights, CNY default) but adds no format or syntax detail beyond that, so the baseline 3 applies.

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

Purpose5/5

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

Opens with a specific verb+resource and scope: live rooms and rate plans for 1–15 hotel IDs over a 1–15 night stay, with pricing currency and return identifiers named. It is clearly separable from search_hotels, get_hotel, get_planning_guide and create_booking without opening any schema.

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

Usage Guidelines5/5

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

Explicitly sequences the workflow: use search_hotels first to find IDs, get_hotel for static policies/photos, get_planning_guide for flexible trips, and this tool to verify availability and quote prices before booking. It also gives a practical usage constraint ('query a few hotels per call').

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