Update an AreaBooking
Updates an existing AreaBooking — typically to reassign the booked areas, reschedule the time slot, adjust the duration, or progress the parent order through its check-in stages.
The update is routed through the basket / availability layer, so every change is validated against the same rules as a fresh booking: overlapping area reservations, capacity, site opening hours, and the parent AreaBookingType's permitted areas are all enforced. Users with the reservations.override-rules permission can bypass these checks server-side; everyone else will receive a 400 Bad Request describing the conflict.
When only stage is supplied the booking slot is left untouched and the change is applied to the parent order, saving the availability round-trip entirely.
Request body
Example request
{
"area_ids": [
"5e932c0901d210625e3a8766"
],
"start_time": "2026-06-01T10:00:00+01:00",
"end_time": "2026-06-01T12:00:00+01:00",
"time": "2026-06-01T10:00:00+01:00",
"duration": 60
}Response
The AreaBooking was successfully updated.
Example response
{
"data": {
"area_booking_type_name": "Pool Cabana",
"order_ref": "TRY00",
"order_labels": [
{
"color": "#FF0000",
"name": "VIP"
}
],
"email": "janedoe@example.com",
"phone": "+447727123456",
"first_name": "Jane",
"last_name": "Doe",
"areas": [
{
"name": "Hot Tub 1"
}
],
"guests": [
{
"id": "5dcb47800000000000000000",
"checked_in_at": "2025-10-01T12:00:00+00:00",
"checked_out_at": "2025-10-01T16:30:00+00:00",
"customer_id": "5f8a1b2c-9d3e-4a5b-8c6d-7e8f9a0b1c2d",
"email": "jane.doe@example.com",
"first_name": "Jane",
"intake_form_submission_id": "5dcb47800000000000000010",
"last_name": "Doe",
"name": "Jane Doe"
}
],
"start_time": "2019-01-15T12:00:00+01:00",
"end_time": "2019-01-15T13:00:00+01:00",
"duration": 60,
"end_buffer": 15,
"product_code": "SPA-CABANA",
"created_at": "2025-02-04T12:00:00+01:00",
"updated_at": "2025-02-04T12:00:00+01:00"
}
}Changes
No recorded changes to this endpoint across all 1 revision of this API.