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
| Method | Path | Description |
|---|---|---|
| GET | /v1/accommodations | List (filters: group, status, visible) |
| POST | /v1/accommodations | Create |
| 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.