Reservations API

Create, modify, and cancel bookings with inventory validation.

Create reservation

POST /reservations
{
  "property_id": "prop_01H...",
  "room_type_id": "rt_01H...",
  "guest_name": "Alex Morgan",
  "check_in": "2026-07-10",
  "check_out": "2026-07-12",
  "source": "direct"
}

Cancel

POST /reservations/{id}/cancel

Inventory guarantee

If insufficient inventory exists for the requested dates, the API returns `409` with code `insufficient_inventory` and no reservation is created.