Available webhook types
Webhook type is contained in “type” field in payload sent out to the destination URL.
The receiving endpoint has to handle the payload that is coming in POST request accordingly.
positionCreated - Walk-in or manual ticket is created
bookingConfirmation - Customer created new booking
bookingActivated - Booking is activated (i.e. timeslot is active)
bookingRemoved -Staff rejected a ticket
positionRetry - Staff called retry on a ticket
positionCalled - Staff called a position
positionFulfilled - Staff checked-in position
positionCompleted - Staff checked-out position
positionCancelled - Customer cancelled positio
positionCancelledByStaff - Staff cancelled upcoming booking
feedbackReceived - Customer updated feedback on ticket
Example payloads
Position created
{ "message": null, "data": { "position": { "status": "pending", "priority": 0, "location": { "locationName": "Ombori Stress Test 1" }, "label": "A2", "locale": "en", "notification": { "type": "applePass", "settings": { "passTypeIdentifier": "pass.com.ombori.queueservice", "devices": [] } }, "id": "4f288ab1-72c9-402a-95b3-296766336b68", "type": "anonymous", "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa", "createdAt": "2021-01-21T14:05:17.527Z" } }, "type": "positionCreated", "organization": "ombori" }
Position cancelled webhook
{ "message": null, "data": { "position": { "id": "cce2ae86-1f5c-4dd4-b040-0b606a850f62", "location": { "locationName": "Ombori Stress Test 1" }, "type": "booking", "priority": 100, "createdAt": "2021-01-11T14:48:24.479Z", "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+4600000000", "recipient": "" } }, "numberOfPeople": 1, "booking": { "start": "2021-01-13T05:30:00Z", "end": "2021-01-13T06:00:00Z" }, "status": "rejected", "label": "", "queue": "dd31dda9-5ec0-46c6-a75b-71cb1f66a48d", "QRCodeCheckInPositionId": "{\"type\":\"check-in-position\",\"positionId\":\"cce2ae86-1f5c-4dd4-b040-0b606a850f62\"}", "bookingReminderAt": "2021-01-13T05:00:00Z" } }, "type": "positionCancelled", "organization": "ombori" }
Position cancelled by staff webhook
{ "message": null, "data": { "position": { "id": "cce2ae86-1f5c-4dd4-b040-0b606a850f62", "location": { "locationName": "Ombori Stress Test 1" }, "type": "booking", "priority": 100, "createdAt": "2021-01-11T14:48:24.479Z", "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+4600000000", "recipient": "" } }, "numberOfPeople": 1, "booking": { "start": "2021-01-13T05:30:00Z", "end": "2021-01-13T06:00:00Z" }, "status": "rejected", "label": "", "queue": "dd31dda9-5ec0-46c6-a75b-71cb1f66a48d", "QRCodeCheckInPositionId": "{\"type\":\"check-in-position\",\"positionId\":\"cce2ae86-1f5c-4dd4-b040-0b606a850f62\"}", "bookingReminderAt": "2021-01-13T05:00:00Z" } }, "type": "positionCancelledByStaff", "organization": "ombori" }
Feedback received webhook
{ "data": { "position": { "id": "788ab8bd-1590-4bfb-8569-7a4920a3d679", "status": "completed", "priority": 0, "location": { "locationName": "Ombori Stress Test 1" }, "label": "A2", "locale": "en", "type": "booking", "queue": "dd31dda9-5ec0-46c6-a75b-71cb1f66a48d", "createdAt": "2020-12-14T12:16:20.308Z", "extraStatus": "goToEntrance", "QRCodeCheckInPositionId": "{\"type\":\"check-in-position\",\"positionId\":\"788ab8bd-1590-4bfb-8569-7a4920a3d679\"}", "station": { "id": "259a8de4-f5ea-42c4-a9af-e272a42f1b6f", "label": "C2" }, "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+4600000000" } }, "numberOfPeople": 1, "booking": { "start": "2020-12-14T12:30:00Z", "end": "2020-12-14T13:00:00Z" }, "fulfilledAt": "2020-12-14T12:16:26.473Z", "leaveReminderAt": null, "leaveAt": null, "feedback": { "rating": 4, "message": "Lorem ipsum" } } }, "type": "feedbackReceived", "organization": "ombori" }