# Availability

MCP tools for the unit calendar — read per-night bookings, blocks, and stay restrictions, and set the unit-level default
availability. Use the read tools to crosscheck allocations against actual availability and to QC complex unit changes
before they go live; use the bulk setter to flip many units at once.

## Available Tools

- [get_unit_availability](/mcp/tools/availability/get_unit_availability/) - Per-night calendar data for a single unit, with bookings, blocks,
  and overbooking detection
- [get_unit_type_availability](/mcp/tools/availability/get_unit_type_availability/) - Per-night aggregated availability counts across all
  units of a unit type
- [update_units_default_availability](/mcp/tools/availability/update_units_default_availability/) - Bulk-set the unit-level default calendar
  availability (AVAILABLE or UNAVAILABLE)

## When to use which

- **`get_unit_availability`** answers "is *this specific unit* free for these dates, and if not, why?" Returns per-night
  `bookings`, `blocks`, and `minStay`. Multiple bookings on the same night surface as an overbooking signal
  (`bookings.length > 1`).
- **`get_unit_type_availability`** answers "*how many* units of this type are free per night?" Returns per-night counts
  (`availableCount`, `bookedCount`, `blockedCount`, `overbookedCount`) plus the lowest `minStay` across the units.

For a unit-type-level QC, start with the type-level tool to find the dates that look tight, then drill into specific
units with `get_unit_availability`.

## Date range cap

Both tools cap the date range at **90 nights** to keep responses bounded. Split larger ranges across multiple calls if
needed.
