booking_idinteger required
confirmation_numberstring required
Bearer-secret confirmation number. Used in ?ref=... URLs and the unauthenticated GET /bookings/ref/{confirmation_number} lookup. Do not display to humans — use booking_code instead.
pms_confirmation_idstring nullable
PMS confirmation/reservation ID
statusstring required
Reservation status (e.g., 'confirmed')
payment_statusstring required
Payment status (e.g., 'succeeded')
check_instring date required
check_outstring date required
totalstring required
Accommodation subtotal (PMS nightly rates only). Excludes pet_fee_total and service_fee.
pet_fee_totalstring nullable
Pet fee charged to the guest (park revenue, refundable). None for legacy bookings; treat as zero.
service_feestring required
grand_totalstring nullable
Total Stripe charge amount (total + pet_fee_total + service_fee).
discount_amountstring nullable
Phase 3 — realised discount applied to the accommodation total. Null on legacy or non-promo bookings; treat as zero. The confirmation page renders a Discount row when this is > 0.
campaign_idinteger nullable
Phase 3 — TP-side campaign id (joined to campaigns.id).
promo_codestring nullable
Phase 3 — canonical promo code applied to this booking, resolved via Booking.campaign_id → Campaign.code.
guest_first_namestring required
guest_last_namestring required
guest_emailstring required
guest_phonestring required
special_requestsstring nullable
property_idinteger required
property_namestring required
property_slugstring required
property_statestring required
property_addressstring required
property_emailstring nullable
property_phonestring nullable
room_type_idinteger required
room_type_namestring required
room_type_slugstring required
pet_booking_modestring nullable
Effective pet booking mode applied to this booking.
equipment_typestring nullable
Canonical equipment type (e.g. 'caravan', 'motorhome'). Set at booking time for site bookings; always None for cabins and for legacy bookings pre-dating migration 096.
equipment_lengthstring nullable
Equipment length in metres (site bookings only).
created_atstring date-time required
Booking creation timestamp
is_linked_to_accountboolean
Whether this booking is linked to a user account
booking_codestring required
Human-readable short code derived from confirmation_number.