Skip to main content
Glama

EscapeStays by Luxury Lodging

Get availability calendar

get_availability
Read-onlyIdempotent

Open and blocked nights for one property over a date range of up to 93 days, with its minimum stay. It shows which alternative dates are open; it does not price or confirm a stay.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
end_dateYesLast date to check, YYYY-MM-DD. At most 93 days after start_date.
start_dateYesFirst date to check, YYYY-MM-DD.
property_idYesProperty id or slug.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
noteYes
end_dateYes
open_datesYesYYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.
start_dateYes
nights_openYes
property_idYes
blocked_datesYes
minimum_nightsNo
nights_blockedYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "blocked_dates": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "end_date": {
      +      "type": "string"
      +    },
      +    "minimum_nights": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "nights_blocked": {
      +      "type": "integer"
      +    },
      +    "nights_open": {
      +      "type": "integer"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "open_dates": {
      +      "description": "YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "property_id": {
      +      "type": "integer"
      +    },
      +    "start_date": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "property_id",
      +    "start_date",
      +    "end_date",
      +    "nights_open",
      +    "nights_blocked",
      +    "open_dates",
      +    "blocked_dates",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -{
      -  "properties": {
      -    "blocked_dates": {
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "end_date": {
      -      "type": "string"
      -    },
      -    "minimum_nights": {
      -      "type": [
      -        "number",
      -        "null"
      -      ]
      -    },
      -    "nights_blocked": {
      -      "type": "integer"
      -    },
      -    "nights_open": {
      -      "type": "integer"
      -    },
      -    "note": {
      -      "type": "string"
      -    },
      -    "open_dates": {
      -      "description": "YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.",
      -      "items": {
      -        "type": "string"
      -      },
      -      "type": "array"
      -    },
      -    "property_id": {
      -      "type": "integer"
      -    },
      -    "start_date": {
      -      "type": "string"
      -    }
      -  },
      -  "required": [
      -    "property_id",
      -    "start_date",
      -    "end_date",
      -    "nights_open",
      -    "nights_blocked",
      -    "open_dates",
      -    "blocked_dates",
      -    "note"
      -  ],
      -  "type": "object"
      -}New value: +null
  3. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "blocked_dates": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "end_date": {
      +      "type": "string"
      +    },
      +    "minimum_nights": {
      +      "type": [
      +        "number",
      +        "null"
      +      ]
      +    },
      +    "nights_blocked": {
      +      "type": "integer"
      +    },
      +    "nights_open": {
      +      "type": "integer"
      +    },
      +    "note": {
      +      "type": "string"
      +    },
      +    "open_dates": {
      +      "description": "YYYY-MM-DD nights that are open. They still have to satisfy minimum stay and arrival rules.",
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "property_id": {
      +      "type": "integer"
      +    },
      +    "start_date": {
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "property_id",
      +    "start_date",
      +    "end_date",
      +    "nights_open",
      +    "nights_blocked",
      +    "open_dates",
      +    "blocked_dates",
      +    "note"
      +  ],
      +  "type": "object"
      +}
  4. First observed

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description need not repeat safety. It adds context that it returns open and blocked nights plus minimum stay, and explicitly says it does not price or confirm, which is useful behavioral context beyond annotations. However, it doesn't mention any rate limits, pagination, or edge cases (e.g., behavior when start_date is after end_date). The bar is lower due to annotations, but it still could disclose more about output granularity.

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

Conciseness5/5

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

Two sentences, front-loaded with the core function and scope, then a clarifying exclusion. No wasted words; every sentence earns its place. The exclusion of pricing/confirmation is particularly valuable for disambiguation.

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?

The tool has an output schema (stated in context signals) which likely describes the return structure, so the description need not detail return fields. The description covers the main functional aspects, the date range limit, and what it does not do. It could mention pagination or the exact representation of 'blocked nights', but given the output schema and annotations, this is reasonably complete for an agent to invoke 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 all three parameters are fully described in the schema with types and constraints (e.g., date format, 93-day limit). The description adds the concept of 'open and blocked nights' and 'minimum stay' but does not elaborate on parameter semantics beyond what the schema already provides. Baseline 3 is appropriate since the schema carries the heavy lifting.

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?

The description states a specific verb ('Open and blocked nights for one property'), a clear resource ('availability calendar over a date range'), and scope ('up to 93 days, with minimum stay'). It distinguishes itself from siblings by explicitly noting it does not price or confirm a stay, differentiating it from get_live_quote. This is specific and unambiguous.

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?

The description implies when to use it: checking availability for a property over a date range. It explicitly says what it does not do ('does not price or confirm a stay'), which helps avoid confusion with get_live_quote, but it does not name the sibling tool explicitly. Still, the boundary is clear enough for an agent to choose it over pricing/booking tools.

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