Skip to main content
Glama

Get bookings by arrival date

get_bookings

Retrieve all bookings arriving within inclusive date range or a month, with per-entity totals and normalized rows. Use eom_blocks format to get EOM-ordered rows ready for close/invoicing.

Instructions

Bookings arriving between arrival_from and arrival_to (both INCLUSIVE), or in month. Pages through everything. Returns a header with counts and totals per entity and per block so a short pull is obvious, then normalized rows (channel, eom_block, price_raw, lordo, commissione, netto, flags). format=eom_blocks returns rows per entity in EOM column order (Arrivo, Partenza, Nome, Netto, Commissione, Lordo; DIRETTE without commission) ready for G5/N5/U5/Z5.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
monthNoShortcut: YYYY-MM sets arrival_from/arrival_to to the whole month.
entityNoRestrict to one EOM entity (KALAWALA, NAMAITAMI, RIBHOLDING, DELFINES, PERLA).
formatNorows = normalized rows; eom_blocks = per entity, per block, already in EOM column order.rows
companyNoRestrict to one fiscal company / bsides account (AO_DIMME, XELION, PERLA).
snapshotNoSave this extraction so changes_since can diff against it later.
arrival_toNoLast arrival date, inclusive (YYYY-MM-DD). The 31st IS included.
arrival_fromNoFirst arrival date, inclusive (YYYY-MM-DD).
include_blockedNoInclude blocked periods (flagged `block_name`). Keep true for the close: Rick Osdin was real.
include_cancelledNoInclude bookings Smoobu reports as cancelled (flagged `cancelled`, never silently dropped).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses pagination ('Pages through everything'), the header-with-counts return shape, the non-silent handling of cancelled bookings, and the exact eom_blocks column ordering. It does not mention auth/permission needs or whether the pull is read-only, which caps it below 5.

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?

Dense but front-loaded: the date scope comes first, then pagination, then return structure, then the format special case. Sentences earn their place, though the domain shorthand 'ready for G5/N5/U5/Z5' assumes insider knowledge.

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?

For a 9-parameter tool with no output schema and no annotations, the description compensates well by describing the return shape (counts/totals header plus normalized rows) and the two output formats. Some gaps remain around epoch permissions and the snapshot/changes_since interplay, but the core call-and-interpret path is covered.

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 100% (baseline 3), and the description still adds value by restating inclusive date semantics and, importantly, explaining what format=eom_blocks actually emits (per-entity rows in EOM column order with DIRETTE having no commission). That output-side meaning goes beyond the schema's terse enum description.

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?

States a specific verb (get bookings) and a precise scope: arrivals between arrival_from and arrival_to inclusive, or within month. It clearly distinguishes itself from get_booking (single) by describing range/month retrieval, though it does not explicitly name sibling tools.

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

Usage Guidelines3/5

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

Usage context is implied (date-range or month extraction for an EOM close), and 'Pages through everything' signals it handles large pulls. However, it never states when to prefer this over stays_in_month or changes_since, nor any exclusions, leaving the alternative-selection decision to inference.

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