Questions Each Person Is Asked
An experience can ask every person on a booking for their own answers at checkout: their size of an item the experience uses (a wetsuit, a helmet, a pair of boots), and any question of the shop's own, such as a certificate level, a weight or "Can you swim 50m?". When an experience asks anything, the booking page asks each person on their own card.
These endpoints list and manage those questions for one experience.
Two kinds of questionโ
- Item sizes. Turn them on per gear row with
ask_sizeon the experience'sequipmentlist (Create Experience or Update Experience). The choices are the item's own sizes, the same ones its rentals use, so they are changed on the item, never here. A size question is listed withis_size: trueand the item'sproduct_id. - The shop's own questions. Add, change and remove them with the endpoints below.
Checked at check-inโ
A question with checked_at_checkin: true is one the crew checks when people check in. A person with
no answer is flagged on the booking, the session page and the manifest. Check-in still goes ahead.
Answersโ
Each person's sizes come back on the booking as gear_sizes, and the questions they have not answered
yet as missing. See Get Booking. Staff
fill a gap with Update Participant.
Endpointsโ
| Method | Endpoint | Description | Scope |
|---|---|---|---|
GET | /v1/experiences/{id}/questions | Everything this experience asks each person, sizes included | experiences:read |
POST | /v1/experiences/{id}/questions | Add one of the shop's own questions | experiences:write |
PATCH | /v1/experiences/{id}/questions/{fieldId} | Change a question | experiences:write |
DELETE | /v1/experiences/{id}/questions/{fieldId} | Stop asking a question on this experience | experiences:write |
The Question Objectโ
{
"field_id": 88,
"label": "Can you swim 50m?",
"answer_type": "yes_no",
"is_size": false,
"product_id": null,
"choices": [],
"required": true,
"checked_at_checkin": true
}
| Field | Type | Description |
|---|---|---|
field_id | integer | The question's ID. Use it to change or remove the question, and as the key in a participant's custom_field_values |
label | string | The question as the customer reads it |
answer_type | string | text (short answer), select (one choice), multi_select (several choices), number, yes_no or date. A size question is select |
is_size | boolean | true when this is the size of an item the experience uses |
product_id | integer|null | The item a size question belongs to; null for the shop's own questions |
choices | string[] | The answers to choose from, for select and multi_select. For a size question, the item's sizes. Empty for the other kinds |
required | boolean | The customer must answer it at checkout. Staff can still save a booking without it and fill it in later |
checked_at_checkin | boolean | The crew checks it at check-in; a missing answer is flagged, never blocking |
Authenticationโ
Read operations require experiences:read; write operations require experiences:write.