> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kitospace.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Check-in & Check-out

> Set check-in and check-out times, protect your cleaning window with the turnover buffer, and understand how these settings cascade through your unit hierarchy.

## Overview

The **Check-in & Check-out** section on a unit's settings page controls the times that
frame every stay in that unit:

* **Check-in** — the earliest time a guest may arrive.
* **Check-out** — the time a guest must leave.
* **Turnover buffer** — the gap you keep *after* check-out to clean and prepare the unit
  before the next arrival.

Together these settings prevent bookings from overlapping in a way that leaves no time to
reset the unit between guests.

## The Turnover Buffer

The turnover buffer is the protected window between one guest leaving and the next
arriving. It exists so housekeeping and maintenance always have time to reset the unit.

> With a 120-minute turnover buffer and a 11:00 check-out, the next guest cannot check in
> before 13:00 — even if your check-in time is earlier.

The buffer is enforced automatically between reservations. A booking that needs to ignore
it must **explicitly bypass** the turnover — bypass is the exception, not the default, and
should be used deliberately.

## Inheritance: How Times Cascade

You don't have to set times on every unit. Check-in, check-out, and turnover **cascade
downward** through your unit hierarchy, and the unit uses the first source it finds:

1. **This unit's own override** — times set directly on this unit, if any.
2. **Inherited from an ancestor** — the nearest parent unit (or the domain root) that has
   its own times set.
3. **System defaults** — used when nothing is configured anywhere in the chain.

The badges on the settings card make the active source explicit:

* An **amber “Inherited from …” badge** means the unit has no override of its own and is
  using an ancestor's times. When the source is a single ancestor, the badge links to that
  unit's settings so you can manage them at the source.
* A **grey “System default” badge** means no override exists anywhere in the chain, so the
  unit falls back to the account-wide system defaults.

## Setting an Override

Setting times on this unit creates an **override** that applies to this unit and cascades
to its descendants (until a descendant sets its own override). Leave the section untouched
to keep inheriting.

Keep these principles in mind:

* **Set times high in the hierarchy when they're shared.** Configuring check-in and
  check-out on a parent unit or the domain root cascades to every unit beneath it — set
  once, apply everywhere.
* **Override only where a unit genuinely differs.** A single apartment with a later
  check-out doesn't require changing every other unit; set the override on that unit alone.
* **Give housekeeping enough turnover.** Size the buffer to how long a real reset takes,
  not the theoretical minimum.

## Common Use Cases

* **Standard property-wide times** — set check-in, check-out, and turnover on the domain
  root so every unit inherits the same policy.
* **A premium unit with a late check-out** — override check-out on that unit only, leaving
  the rest of the property on the inherited times.
* **Same-day turnovers** — increase the turnover buffer on high-demand units so cleaning
  always has enough time between back-to-back stays.

## Related

* [Creating & Managing Units](/docs/units/creating-units)
* [Roles & Permissions](/docs/units/roles-and-permissions)
* [Capacity](/docs/units/capacity)
