Booking Form Status
Has everyone on a booking signed? Returns two separate lists:
forms: the waivers each person signs before the activity. Counts are per participant: a form is complete only when every person on the booking has signed, and a consent on file (a signature still within its validity period) counts as signed. These are the same numbers as the "N of N signed" on the booking page.surveys: feedback forms asked for after the trip. A survey is never a signature, so it never affectsall_signed.
Endpointโ
GET /v1/bookings/{id}/form-status
Authenticationโ
Requires an API key with the bookings:read scope.
Path Parametersโ
| Parameter | Type | Description |
|---|---|---|
id | integer | Booking ID |
Responseโ
Success (200 OK)โ
{
"data": {
"booking_reference": "BK-2026-00123",
"customer_name": "Sam Lee",
"all_signed": false,
"signed": 5,
"required": 8,
"forms": [
{
"form_id": 9,
"form_name": "Liability Waiver",
"signed_count": 4,
"total_count": 4,
"completed": true,
"still_to_sign": []
},
{
"form_id": 11,
"form_name": "Medical Declaration",
"signed_count": 1,
"total_count": 4,
"completed": false,
"still_to_sign": ["Ana Ruiz", "Ben Ortiz", "Kim Park"]
}
],
"surveys": [
{
"form_id": 14,
"form_name": "Post-Trip Review",
"sends": "after_trip",
"status": "sends_after_trip"
}
],
"how_to_read": "forms are what each person signs before the activity; ..."
}
}
Fieldsโ
| Field | Description |
|---|---|
all_signed | true when every person has signed every form in forms. Also true when nothing needs signing (forms is empty). |
signed / required | Signatures collected and needed, across every person and form. |
customer_name | The booking's customer. An organization shows as its own name with the contact person in brackets, for example Hill School (Sam Lee). |
forms[].signed_count / total_count | People who have signed this form, out of everyone who needs to. |
forms[].still_to_sign | The names of everyone who has not signed this form yet. Empty once everyone has. |
surveys[].sends | after_trip (goes out by itself once the booking is returned or completed) or when_you_send_it (sent by hand from the booking). |
surveys[].status | sends_after_trip, scheduled, sent, answered, not_sent (a hand-sent survey nobody has sent), will_not_send (this booking does not get surveys) or not_delivered (the email bounced or failed). |
Errorsโ
| Status | Code | Description |
|---|---|---|
| 401 | authentication_required | No API key provided |
| 403 | insufficient_scope | Key lacks bookings:read scope |
| 403 | forbidden | Booking belongs to another supplier |
| 404 | not_found | Booking not found |