...
positionCreated - Walk-in or manual ticket is created
bookingConfirmation - Customer created new booking
bookingActivated - Booking is activated (i.e. timeslot is active)
bookingRemoved positionRemoved - 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 positioposition
positionCancelledByStaff - Staff cancelled upcoming booking
feedbackReceived - Customer updated feedback on ticket
Example payloads
Position created
...
Webhook payload
Sent in POST request, request supports headers configuration, for example for auth purposes.
message - present for some of webhook types, message that is communicated to customer associated with this event
data
position - current ticket or booking state
type - type of webhook, see above for full list
organization - name of organization that this queue event corresponds to
Example payloads
Position created webhook
Code Block |
---|
{ "message": null, "data": { "position": { "status": "pending", "priority": 0, "location": { "locationName": "Ombori Stress Test 1" }, "label": "A2", "locale": "en", "notification": { "type": "applePassphoneNumber", "settings": { "passTypeIdentifierfrom": "pass.com.ombori.queueservice", "to": "+460000", "devicesrecipient": []"" } }, "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" } |
Booking created webhook
Code Block |
---|
{
"message": "Your booking for 2021-01-21 15:10 is now confirmed. Ticket: https://qr.run/Pt5vJ05h",
"data": {
"position": {
"location": {
"locationName": "Ombori Stress Test 1"
},
"type": "booking",
"priority": 100,
"createdAt": "2021-01-21T14:07:21.598Z",
"locale": "en",
"notification": {
"type": "phoneNumber",
"settings": {
"from": "",
"to": "+460000",
"recipient": ""
}
},
"numberOfPeople": 1,
"booking": {
"start": "2021-01-21T14:10:00.000Z",
"end": "2021-01-21T14:15:00.000Z",
"virtualAppointment": {
"isEnabled": false
}
},
"status": "draft",
"label": "",
"id": "255c8a1d-b8b6-4fb4-b6d6-4a5416203e1b",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"bookingReminderAt": null
}
},
"type": "bookingConfirmation",
"organization": "ombori"
} |
Booking activated webhook
Code Block |
---|
{
"message": "Your position: B1. Please come within 15 minutes to avoid cancellation of your appointment. Ticket: https://qr.run/1WPccolK",
"data": {
"position": {
"location": {
"locationName": "Ombori Stress Test 1"
},
"type": "booking",
"priority": 100,
"createdAt": "2021-01-21T14:08:44.038Z",
"locale": "en",
"notification": {
"type": "phoneNumber",
"settings": {
"from": "",
"to": "",
"recipient": ""
}
},
"numberOfPeople": 1,
"booking": {
"start": "2021-01-21T14:10:00Z",
"end": "2021-01-21T14:15:00Z",
"virtualAppointment": {
"isEnabled": false
}
},
"status": "pending",
"label": "B1",
"id": "65e8eb52-7bba-4393-9a59-0b29c9251959",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"bookingReminderAt": null,
"fulfilledAt": "2021-01-21T14:10:00.479Z",
"leaveReminderAt": null,
"leaveAt": null
}
},
"type": "bookingActivated",
"organization": "ombori"
} |
Position rejected by staff webhook
Code Block |
---|
{
"message": "Position A7 was cancelled. Visit https://qr.run/1FfHJUrk if you would like to request a new position.",
"data": {
"position": {
"id": "b573b730-ab6e-4314-8c8f-1ad654aeb169",
"status": "rejected",
"priority": 0,
"location": {
"locationName": "Ombori Stress Test 1"
},
"label": "A7",
"locale": "en",
"type": "anonymous",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"createdAt": "2021-01-21T14:11:52.436Z",
"servedBy": {},
"station": null
}
},
"type": "positionRemoved",
"organization": "ombori"
} |
Position retry by staff webhook
Code Block |
---|
{
"message": "We called your ticket, but did not find you. We will try again in few minutes. Please approach the entrance.",
"data": {
"position": {
"id": "efe8bc5d-4afc-431b-bad6-321707b08447",
"status": "pending",
"priority": 0,
"location": {
"locationName": "Ombori Stress Test 1"
},
"label": "A4",
"locale": "en",
"notification": {
"type": "applePass",
"settings": {
"passTypeIdentifier": "pass.com.ombori.queueservice",
"devices": []
}
},
"type": "anonymous",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"createdAt": "2021-01-21T14:06:01.994Z",
"servedBy": {},
"retryCount": 1
}
},
"type": "positionRetry",
"organization": "ombori"
} |
Position called by staff webhook
Code Block |
---|
{
"message": "It is your turn now.",
"data": {
"position": {
"status": "notified",
"priority": 0,
"location": {
"locationName": "Ombori Stress Test 1"
},
"label": "A4",
"locale": "en",
"notification": {
"type": "applePass",
"settings": {
"passTypeIdentifier": "pass.com.ombori.queueservice",
"devices": []
}
},
"id": "efe8bc5d-4afc-431b-bad6-321707b08447",
"type": "anonymous",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"createdAt": "2021-01-21T14:06:01.994Z",
"servedBy": {},
"station": null
}
},
"type": "positionCalled",
"organization": "ombori"
} |
Position checked-in by staff webhook
Code Block |
---|
{
"message": null,
"data": {
"position": {
"id": "efe8bc5d-4afc-431b-bad6-321707b08447",
"status": "fulfilled",
"priority": 0,
"location": {
"locationName": "Ombori Stress Test 1"
},
"label": "A4",
"locale": "en",
"notification": {
"type": "applePass",
"settings": {
"passTypeIdentifier": "pass.com.ombori.queueservice",
"devices": []
}
},
"type": "anonymous",
"queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa",
"createdAt": "2021-01-21T14:06:01.994Z",
"servedBy": {},
"retryCount": 1,
"station": null,
"fulfilledAt": "2021-01-21T14:07:07.074Z",
"leaveReminderAt": null,
"leaveAt": null
}
},
"type": "positionFulfilled",
"organization": "ombori"
} |
Position checked-out by staff
Code Block |
---|
{ "message": null, "data": { "position": { "id": "d144003e-14bb-4d17-b67d-f501c066f563", "status": "completed", "priority": 0, "location": { "locationName": "Ombori Stress Test 1" }, "label": "A6", "locale": "en", "type": "anonymous", "queue": "b23bea4f-8e8a-4da6-b413-04454f8428aa", "createdAt": "2021-01-21T14:11:15.694Z", "typeservedBy": "anonymous"{}, "queuestation": "b23bea4f-8e8a-4da6-b413-04454f8428aa"null, "createdAtfulfilledAt": "2021-01-21T14:0511:17.527Z" 21.276Z", "leaveReminderAt": null, "leaveAt": null } }, "type": "positionCreatedpositionCompleted", "organization": "ombori" } |
Position cancelled by customer webhook
Code Block |
---|
{ "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" } |
...
Booking cancelled by staff webhook
Code Block |
---|
{ "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" } |
...