> ## 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.

# Reservations

> Create and manage reservations — the core booking workflow in Kitospace.

## What is a Reservation?

A **Reservation** is a booking that assigns one or more guests to a unit for a specific date range. Reservations are the primary workflow object in Kitospace — they drive occupancy, revenue tracking, cleaning schedules, and guest communication.

## Creating a Reservation

To create a reservation:

1. Navigate to the **Reservations** page from the sidebar (or use the Calendar view).
2. Click **Create Reservation** at the top right of the page — or, on a phone or tablet, the round **+** button in the bottom-right corner.
3. Fill in the required fields:
   * **Unit** — the room or space being booked
   * **Guest** — the primary guest (select existing or create new)
   * **Check-in date** — arrival date
   * **Check-out date** — departure date
4. Optionally add:
   * Additional guests
   * Internal notes (visible only to staff)
   * A booking code (auto-generated if left blank)
5. Click **Create** to save the reservation.

New reservations start in **Draft** status by default.

## Reservation Statuses

Every reservation moves through a lifecycle of statuses:

| Status          | Meaning                                   |
| --------------- | ----------------------------------------- |
| **Draft**       | Tentative booking, not yet confirmed      |
| **Confirmed**   | Booking is definite, unit is reserved     |
| **Checked In**  | Guest has arrived and is in-house         |
| **Checked Out** | Guest has departed, awaiting final review |
| **Completed**   | Stay is finalized (terminal state)        |
| **Cancelled**   | Booking was cancelled                     |

## Status Transitions

Not every status can move to every other status. The valid transitions are:

* **Draft** → Confirmed, Cancelled
* **Confirmed** → Checked In, Cancelled
* **Checked In** → Checked Out, Completed (bypass), Cancelled
* **Checked Out** → Completed, Cancelled
* **Cancelled** → Draft (reactivation)
* **Completed** → (no further transitions — terminal)

To change a reservation's status, open the reservation detail page and use the status action buttons.

## Allocation Types

Reservations support two allocation modes:

* **Specific unit** — the reservation is locked to one particular unit
* **Pool** — the reservation is assigned to a unit category and a specific unit is allocated closer to arrival

## Editing a Reservation

Open any reservation from the list or calendar to see its detail page. You can edit:

* Dates (check-in / check-out)
* Assigned unit
* Guest details
* Internal notes
* Status transitions

All changes are saved in real-time and broadcast to other active staff sessions.

## Filtering and Searching

The reservation list page supports:

* **Date range filter** — show bookings within a specific window
* **Status filter** — filter by one or multiple statuses
* **Search** — find by guest name, unit name, or booking code

## Cancellation and Reactivation

Any reservation that is not already completed or cancelled can be cancelled. A cancelled reservation can be reactivated back to Draft status if needed, allowing it to re-enter the booking lifecycle.
