---
title: "Fetch calendar nights for a single property."
method: GET
path: "/v2/calendar/{property_id}"
tags: ["Calendar"]
---

# Fetch calendar nights for a single property.

`GET /v2/calendar/{property_id}`

Each days entry is one night (date through the following morning), not a calendar day cell. On a turnover day, is_departure and booking_id refer to different bookings.
Any status other than available means the night cannot be sold; a night marked available may still be unbookable when rules disallow the stay.
rules.is_gap_required is a booking rule. gap_type reflects gap analysis based on rules and adjacent bookings.
rules values are the rules in effect for the night; per-night overrides are on GET /v2/spotrates. booking_id is a reference only; use GET /v2/bookings for booking detail.
Historical dates are supported; rate and rules may be absent on older nights. Nights with no calendar data are omitted, including nights past the property's booking window and nights before recorded history. A 200 with fewer days than the requested range is expected. When no nights exist for the range, days is omitted. Nightly rate amounts exclude fees and taxes; use GET /v2/quotes for full stay pricing. There is no since or delta filter.
This data can lag a short time behind live changes. Confirm a night is actually free with the Quote or Booking endpoints before taking a reservation.

## Path parameters

- `property_id` integer, required

## Query parameters

- `from` string, date-time, nullable, required
- `to` string, date-time, nullable, required

## Response `200`

The property calendar for the requested date range.

- CalendarPropertyModel — Nightly rates, rules, and availability for a property and date range.
  - `currency_code` string — The ISO 4217 currency code for rate amounts on this property.
  - `days` CalendarDayModel[] — Nightly rates, rules, and availability for the requested date range. Nights with no calendar data are omitted, including nights past the property's booking window and nights before recorded history. A 200 with fewer days than the requested range is expected. When no nights exist for the range, days is omitted.
    - `booking_id` integer, nullable — The booking or block occupying this night. Omitted when the night is vacant. Fetch guest, charge, and door-code detail from GET /v2/bookings.
    - `date` string, date-time — Property-local calendar date for the night (no time or UTC offset).
    - `gap_type` 'required' | 'orphan' — Classification for a night with Gap status.
    - `holiday_name` string — Holiday name when this night falls on a configured holiday. Omitted when not a holiday.
    - `is_arrival` boolean, nullable — True when a booking arrives on this date (check-in day). On a turnover day, this is the incoming booking, not the booking departing that morning.
    - `is_departure` boolean, nullable — True when a booking departs the morning of this date. On a turnover day, this is the prior night's booking, not the booking for the night (BookingId).
    - `rate` CalendarDayRateModel — Nightly pricing for a calendar night.
      - `amount` number, nullable — Rent plus rate adjusters and non-built-in surcharges, excluding tax.
      - `is_spot_rate` boolean, nullable — True when Rent comes from a spot-rate override.
      - `rent` number, nullable — Base seasonal or spot rate before adjusters and surcharges.
      - `season_id` integer, nullable — The season supplying the base rate, when applicable.
    - `rules` CalendarDayRulesModel — Booking rules that apply to a calendar night.
      - `is_arrival_disallowed` boolean, nullable — Arrival is not allowed on this night.
      - `is_departure_disallowed` boolean, nullable — Departure is not allowed on this night.
      - `is_gap_required` boolean, nullable — Only arrival or departure may occur on this day, not both (turnover-gap rule).
      - `is_stay_disallowed` boolean, nullable — The night cannot be part of any stay (a night with Available and this rule is still not bookable).
      - `max_nights` integer, nullable — Maximum stay length in nights.
      - `min_nights` integer, nullable — Minimum stay length in nights.
    - `status` 'available' | 'booked' | 'blocked' | 'gap' | 'unavailable' — Availability state for a calendar night. Any value other than available cannot be sold. unavailable means OwnerRez does not recognize the night's stored state; treat it as not for sale.
  - `property_id` integer — The property ID.

## Changes

- **2026-09-16** `8012fa94f61a` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ownerrez/apis/ownerrez-api/changes/v2/calendar/:property_id/get.md)

---

[API](https://skmtc.dev/ownerrez/apis/ownerrez-api.md) · [All operations](https://skmtc.dev/ownerrez/apis/ownerrez-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ownerrez/apis/ownerrez-api/revisions/2c61dd3d9b5d?raw)
