Bookings

Get Booking

Retrieve booking details by ID. Requires authentication.

The caller must own the booking (by user_id or matching email) or be a super admin. Accepts session JWT, PAT with bookings:read, or OAuth access token with bookings:read.

get/bookings/{booking_id}

Request

  • Base URL: http://localhost:8000
  • URL: http://localhost:8000/bookings/{booking_id}
  • Auth: HTTP bearer

Path parameters

booking_idinteger required

Headers

API-Version'1'

Major API version. Omit or send 1 for the current v1 surface. Retired operations use RFC 9745 Deprecation and RFC 8594 Sunset headers.

Response

Booking details retrieved successfully

booking_idinteger required

Total Parks booking ID

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-in date

check_outstring date required

Check-out date

adultsinteger required

Number of adults

childreninteger

Number of children

infantsinteger

Number of infants

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

Total Parks service fee

grand_totalstring nullable

Total Stripe charge amount (total + pet_fee_total + service_fee).

currencystring required

Currency code (ISO 4217)

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's first name

guest_last_namestring required

Guest's last name

guest_emailstring required

Guest's email address

guest_phonestring required

Guest's phone number

special_requestsstring nullable

Guest comments

property_idinteger required

Property ID

property_namestring required

Property name

property_slugstring required

Property URL slug

property_statestring required

Property state

property_addressstring required

Property address

property_emailstring nullable

Property contact email

property_phonestring nullable

Property contact phone

room_type_idinteger required

Room type ID

room_type_namestring required

Room type name

room_type_slugstring required

Room type URL slug

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.

Changes

No recorded changes to this operation across all 1 revision of this API.