Skip to main content
Glama

MAQAMI Travel

get_bookings_hotels_sales_report

Read-onlyIdempotent

Overview

Returns analytics on properties (hotels): per-hotel sales, buying price, profit, and profit margin. Compares the current period to the previous period of equal length. Results are ordered by current-period sales (highest first) and limited by the limit parameter.

When to Use

  • Property performance - See which hotels drive the most sales and profit

  • Period comparison - Compare current vs previous period sales, profit, and bookings per hotel

  • Profit analysis - Track total_buying_price_usd, total_profit_usd, and profit_margin_percent by property

  • Top properties dashboards - Rank hotels by sales or profit

What You Get

  • Period definition - Date ranges for current and previous periods

  • Summary - Totals for sales (USD), profit (USD), bookings, count of hotels in the result, and average profit margin percent; all with period-over-period change

  • Per-hotel data - For each property: hotel_id, hotel_name, city, country; current and previous period (booking_count, total_sales_usd, avg_booking_value_usd, total_buying_price_usd, total_profit_usd, profit_margin_percent); and change (sales/profit percent and amount, booking_count_change)

  • New properties - Hotels with no previous-period data have previous_period: null

Quick Start

Pass query parameters from, to, sandbox, and optionally limit (default controls how many top hotels are returned). The API derives the previous period (same length, immediately before). Returns period metadata, summary totals, and an array of hotel-level metrics.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
toYesEnd date of the current period YYYY-MM-DD (ISO 8601)
fromYesStart date of the current period YYYY-MM-DD (ISO 8601)
limitNoMaximum number of hotels to return (ordered by current-period sales, highest first)
sandboxNoFilter by environment: "true" for sandbox, "false" for production

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, openWorld, so safety is covered. The description adds real behavioral context: automatic derivation of the previous period of equal length, ordering by current-period sales, limit-bounded output, and the null previous_period for new hotels. Does not mention rate limits or pagination beyond 'limit'.

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?

Markdown headers (Overview, When to Use, What You Get, Quick Start) front-load purpose and usage. Content is a bit long with some overlap between Overview and Quick Start, but every section earns its place for an analytics endpoint. Slight redundancy keeps it from a 5.

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, yet the 'What You Get' section documents the return shape in detail (period metadata, summary totals, per-hotel fields, nulls for new properties). This compensates well for the missing output schema. It still omits guidance on limits, defaults, or authentication, so it's complete but not exhaustive.

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%, so baseline is 3. The description goes beyond the schema by explaining that the previous period is auto-derived from from/to and that limit ranks by current-period sales, adding semantic value about how from/to and limit interact with the result set.

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+resource: returns hotel-level sales analytics (sales, buying price, profit, margin) with period-over-period comparison. Scope is concrete and concrete metrics are named. However, it never contrasts itself against closely related siblings like post_analytics_hotels or getPriceIndexHotels, so an agent can't tell from the description alone which of these to call.

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?

The 'When to Use' block gives implied usage (property performance, period comparison, profit analysis, dashboards) but does not name alternatives or exclusion conditions, e.g., when to prefer post_analytics_report or post_analytics_markets. Useful but not decisive for sibling selection.

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