Skip to main content

Accommodations

Accommodations are the bookable types on a park — "Super Pitch", "Deluxe Static", "Glamping Pod" — the catalog products. Individual numbered pitches are a separate resource: see Pitches.

The accommodation object​

Key fields: name, group (Tent | Touring | Motorhome | Glamping | Static), visible, attributes (capacity and features like electric, dogs, water, awning, dimensions), images, metadata.

attributes.included_individuals drives pricing: that many guests are included in the nightly accommodation price; additional guests are charged per the rate sheet. An accommodation cannot be booked until it has included_individuals set and rates configured for the nights.

Endpoints​

MethodPathDescription
GET/v1/accommodationsList (filters: group, status, visible)
POST/v1/accommodationsCreate
GET/v1/accommodations/{id}Retrieve
PATCH/v1/accommodations/{id}Update
DELETE/v1/accommodations/{id}Soft delete (status=deleted, hidden)

Create​

curl -s $API/v1/accommodations -H "Authorization: Bearer $KEY" \
-H "Idempotency-Key: add-super-pitch" -H "Content-Type: application/json" \
-d '{"name":"Super Pitch","group":"Touring","included_individuals":2,
"electric":true,"dogs":true,"visible":true}'

Delete is soft: historical bookings keep their references. Deleted accommodations return validation_failed on update — create a new one instead.