Here you can find list of examples / base for email templates. By default we’re using Sendgrid, but examples below are valid for others systems.
Template input data:
type – to determine appropriate content in the dynamic template, one of values:
bookingConfirmation – Customer created booking
remindedAboutBooking
– Booking reminder for customerbookingActivated – Booking is activate and is a queue ticket now
positionCancelled – staff removed future booking created by the customer
notifiedToApproach - notify customer that it’s him turn soon
positionCalled – Position called by staff
positionRetry – staff pressed ‘Retry’ because customer did not show up
positionRejected – staff pressed ‘Reject’ to remove ticket
position – ticket information, including dates, labels, language and more information that can be should be used in the template
id - internal ticket identifier
location - queue display name (store, department and others info)
type - ticket type, possible values: anonymous (walk-in ticket), booking (pre-booking), manual (tickets issued by staff)
priority - internal value
locale - customer preferred language (en, ar, sv)
notification - customer contact information
type - type of notifications that customer subscribed to (phoneNumber or email)
settings.from - not relevant/internal use
settings.to - customer phone number
settings?.recipient - customer email (in case of email or phone notifications)
booking
start - timeslot start in case of bookings, local timezone
end - timeslot end in case of bookings, local timezone
virtualAppointment
- keep information if it’s a virtual appointment or not. OptionalisEnabled
- shows if it’s a virtual appointment or not (true \ false). In case of false all other fields in virtualAppointment are omitted.eventId
- event id specified in MS Graph api. Default user for the organisation is associated with this event.url
- link to ms teams call for joiningmanagerId
- manager id from ADmanagerEmail
- manager email (if not specified, default manager for organisation will be used)
status - ticket status, possible values: draft (pre-booking created but not active), pending (ticket is inside queue), notified (ticket called out by staff), fulfilled (ticket checked in by the staff), completed (ticket has been served), rejected (ticket was cancelled either by customer or staff)
label - assigned ticket number (A1, B2 and such)
queue - queue identifier, can be used to correlate data
createdAt - ticket creation time, ISO string
fulfilledAt - customer checked-in datetime, ISO string
bookingReminderAt - if configured, when the booking reminder will be sent to customer, ISO string
QRCodeCheckInPositionId - value of the QR code to render to allow check-in by the staff
actionLink – link to present to customer, link depends on email type (see below)
...
Bookings
notifiedToLeaveSoon - send an email message that customer should leave store soon
notifiedToLeave - time to lean store
Curbside pickup
notifiedAboutBooking - notification for curbside pickup
notifiedToReschedule - when curbside is rescheduled
Info |
---|
Changelog 14-01-2021:
|
Info |
---|
Changelog 01-12-2020:
|
Info |
---|
Changelog 04-12-2020:
|
Info |
---|
Changelog 24-12-2020:
|
Template by type:
bookingConfirmation:
...
This guide provides an overview of integrating email notifications into the queue system using external services, including SendGrid. While SendGrid is our default email service provider, the queue system is versatile enough to integrate with other email services if required.
Below, you will find detailed descriptions of template payloads and examples that are applicable for various scenarios within the queue management system.
This approach is an alternative to using webhooks for sending notifications and is particularly useful if utilizing an external SendGrid account.
Template Input Data Overview
The content of dynamic email templates is determined based on the type
of notification, which reflects different events within the queue system:
Booking Confirmations and Changes:
bookingConfirmation
: Customer created a booking.bookingRescheduledToAdmin
: Update sent to a manager when a customer reschedules a booking.bookingRescheduledToCustomer
: Update sent to a customer when they reschedule a booking.remindedAboutBooking
: Reminder sent to customers about their booking.bookingActivated
: Notification that a booking is now an active queue ticket.
Cancellations:
positionCancelledByAdminToCustomer
: Email to customer when staff cancels a future booking.positionCancelledByCustomerToAdmin
: Notification to queue manager when a customer cancels their position.positionCancelledByCustomerToCustomer
: Email to customer confirming their cancellation.positionCancelledByAdminToAdmin
: Notification to admin with an attached ics file to update the calendar.
Operational Notifications:
notifiedToApproach
: Alerting the customer that their turn is coming up soon.positionCalled
: Notification when a position is called by staff.positionRetry
: Notification when staff press 'Retry' due to a no-show.positionRejected
: Email when staff press 'Reject' to remove a ticket.feedbackRequested
: Reminder to provide feedback if it hasn’t been provided yet.
Threshold Notifications:
StaffNotificationPendingTicketsCountThreshold
: Alert when the number of pending tickets reaches a specified threshold.StaffNotificationPeopleAverageWaitingTimeThreshold
: Alert when the average waiting time threshold is reached.
Additional Notification Types
Bookings:
notifiedToLeaveSoon
: Alert that the customer should prepare to leave soon.notifiedToLeave
: Notification that it's time for the customer to leave the store.
Order Pickup:
notifiedAboutBooking
: Notification for a curbside pickup booking.notifiedToReschedule
: Notification when a curbside pickup is rescheduled.
Key Payload Fields
position: Schema of the current ticket or booking state.
actionLink: A URL that varies depending on the type of email, providing actions the recipient can take directly from the email.
Various examples, by type:
bookingConfirmation:
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "draft", "label": "", // label will generated when time comes "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "bookingConfirmation", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html><head><title></title></head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5"> <p> {{#equals position.locale "ar"}} حجزك لـ {{position.date}} مؤكد الآن. تذكرة: {{actionLink}} {{else}} Your booking for {{position.booking.start}} is now confirmed. Ticket: {{actionLink}} {{/equals}} </p> </div> </body> </html>
bookingRescheduledToAdmin
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "email", "settings": { "from": "", "recipient": "test-manager@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "draft", "label": "", // label will generated when time comes "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "bookingRescheduledToAdmin", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
bookingRescheduledToCustomer
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "email", "settings": { "from": "", "recipient": "test-manager@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "draft", "label": "", // label will generated when time comes "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "bookingRescheduledToCustomer", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html><head><title></title></head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5"> <p> {{#equals position.locale "ar"}} some text on ar {{else}} Booking for {{position.booking.start}} is was rescheduled. Queue: {{actionLink}} {{/equals}} </p> </div> </body> </html>
remindedAboutBooking
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "draft", "label": "", // label will generated when time comes "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "bookingReminder", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html> <head> <title></title> </head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5"> <p> {{#equals position.locale "ar"}} لا تنس حجزك في {{else}} Don't forget your booking in 15 minutes {{/equals}} </p> </div> </body> </html>
bookingActivated:
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "pending", "label": "B1", "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "bookingActivated", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html> <head> <title></title> </head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5"> <p> {{#equals position.locale "ar"}} "رقم موعدك: {{position.label}}. يرجى الحضور في خلال 15 دقيقة لتجنب إلغاء الموعد تذكرة: {{actionLink}}" {{else}} Your position: {{position.label}}. Please come within 15 minutes to avoid cancellation of your appointment. Ticket: {{actionLink}} {{/equals}} </p> </div> </body> </html>
positionCancelledByAdminToAdmin
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "email", "settings": { "from": "", "recipient": "test-manager@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true managerEmail: "virtual-booking@some-domen.com" managerId: "9cd376b6-......." url: "https://teams.microsoft.com/l/meetup-join/19....." } }, "status": "draft", "label": "B1", "queue": "_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z", "rejectedAt": "2020-05-26T15:30:37.1700000Z", "bookingReminderAt": null, "QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "positionCancelledByCustomerToAdmin", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/admin" }
positionCancelledByAdminToCustomer:
Code Block { "position": { "id": "_id_", "location": { "locationName": "Ombori Street", "organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "station": { "label": "A" }, "booking": { "start": "yyyy-MM-dd HH:mm", // with respect to timezone "
...
end": "
...
yyyy-MM-dd HH:mm", // with respect to timezone
...
"virtualAppointment": {
...
eventId: "
...
AAMkADExYWZmYjI4LTMxMjIt......="
...
isEnabled: true
...
managerEmail: "
...
virtual-booking@some-domen.com" managerId: "
...
9cd376b6-......."
...
url: "
...
https://teams.microsoft.com/l/meetup-join/19....."
...
}
...
}, "
...
status": "draft", "label": "B1", "
...
queue": "
...
_queue_id_",
...
"createdAt": "2020-05-26T08:47:37.1700000Z", "
...
rejectedAt": "
...
2020-05-26T15:30:37.1700000Z", "bookingReminderAt": null,
...
"QRCodeCheckInPositionId":
...
"{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}"
...
}, "
...
type":
...
"positionCancelledByAdminToCustomer",
...
"actionLink": "
...
https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/book" }
Code Block <html> <head>
...
...
...
<title></title> </head>
...
...
...
...
<body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="
...
color:
...
#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5">
...
...
<p>
...
...
...
{{#equals position.locale "ar"}} تم إلغاء
...
الحجز. {{position.label}} برجاء زيارة {{actionLink}} إذا كنت ترغب في حجز موعد جديد {{else}}
...
Position {{position.label}} was cancelled.
...
Visit {{actionLink}} if you would like to request a new position. {{/equals}}
...
</p>
...
...
...
</div> </body> </html>
...
positionCancelledByCustomerToCustomer
Code Block { "position":
...
...
{
...
...
"
...
id": "
...
_id_", "
...
location":
...
{
...
...
...
...
"locationName": "Ombori Street", "organizationTitle": "Ombori Title"
...
},
...
"type": "
...
booking",
...
...
"priority": 100,
...
"locale": "en",
...
"notification": {
...
...
...
...
...
...
...
...
...
"type": "phoneNumber",
...
...
"settings": {
...
...
...
remindedAboutBooking
:
...
"
...
from": "",
...
"
...
to": "
...
+phoneNumber",
...
...
...
"
...
recipient": "
...
test@email.com"
...
...
},
...
}, "
...
station": {
...
"
...
label": "
...
A"
...
}, "
...
booking": {
...
"
...
start": "yyyy-MM-dd HH:mm", // with respect to timezone "
...
end": "
...
yyyy-MM-dd HH:mm", //
...
with respect to timezone
...
"virtualAppointment": {
...
eventId: "
...
AAMkADExYWZmYjI4LTMxMjIt......="
...
isEnabled: true
...
managerEmail: "
...
virtual-
...
booking@some-domen.com"
...
managerId: "
...
9cd376b6-......."
...
url: "
...
https://teams.microsoft.com/l/meetup-join/19.....
...
" }
...
...
},
...
"status": "
...
draft", "label": "B1",
...
...
"queue": "_queue_id_",
...
"createdAt": "
...
2020-05-26T08:47:37.1700000Z", "rejectedAt": "2020-05-26T15:30:37.1700000Z",
...
...
"bookingReminderAt": null, "
...
QRCodeCheckInPositionId":
...
"{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "
...
type": "positionCancelledByAdminToCustomer",
...
...
...
...
...
"actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/positions/poisition-id" }
positionCancelledByCustomerToAdmin
Code Block { "
...
position":
...
{ "
...
id": "
...
_id_", "
...
location":
...
{ "
...
locationName": "Ombori
...
Street", "
...
organizationTitle": "
...
Ombori Title"
...
},
...
...
...
"type": "booking",
...
"priority": 100,
...
...
"locale": "en",
...
...
"notification": {
...
...
...
"type": "email", "settings": {
...
"from": "",
...
...
"
...
recipient"
...
: "test-manager@email.com"
...
...
},
...
...
},
...
"station": {
...
...
...
...
...
...
"label": "A"
...
}
...
,
...
"booking": { "start": "yyyy-MM-dd HH:mm", // with respect
...
to timezone
...
...
...
bookingActivated:
...
"
...
end": "yyyy-MM-dd HH:mm", // with respect to
...
timezone
...
...
"virtualAppointment": {
...
...
...
eventId: "
...
AAMkADExYWZmYjI4LTMxMjIt......="
...
...
isEnabled: true
...
...
managerEmail: "
...
virtual-booking@some-domen.com"
...
managerId: "
...
9cd376b6-......."
...
...
url: "https://teams.microsoft.com/l/meetup-join/19....."
...
} }, "
...
status": "
...
draft", "label": "B1", "
...
queue": "
...
_queue_id_", "createdAt": "2020-05-26T08:47:37.1700000Z",
...
...
"rejectedAt": "2020-05-26T15:30:37.1700000Z", "
...
bookingReminderAt":
...
null, "QRCodeCheckInPositionId": "{"
...
type":
...
"
...
check-
...
in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" },
...
"type": "positionCancelledByCustomerToAdmin", "
...
actionLink": "
...
https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/admin" }
notifiedToApproach
Code Block {
...
"
...
position":
...
{
...
"id": "
...
_id_",
...
"location":
...
{
...
"locationName": "
...
Ombori Street", "organizationTitle": "Ombori Title"
...
...
},
...
"type": "
...
booking",
...
"priority": 100, "
...
locale": "
...
en", "
...
notification":
...
{ "
...
type": "
...
email", "
...
settings":
...
{ "
...
from": "
...
",
...
...
"
...
to": "
...
+phoneNumber",
...
...
...
"
...
recipient": "
...
test@email.com"
...
...
},
...
},
...
...
"station": {
...
...
...
"label": "A" }, "booking": { // could be exist or could be missed
...
"start": "yyyy-MM-dd HH:mm", // with respect to timezone
...
...
"
...
end"
...
: "yyyy-MM-dd HH:mm", // with respect to timezone "virtualAppointment": {
...
...
...
eventId:
...
"AAMkADExYWZmYjI4LTMxMjIt......=" isEnabled: true
...
managerEmail: "virtual-booking@some-domen.com"
...
managerId: "9cd376b6-......."
...
...
...
positionCancelled:
...
url: "https://teams.microsoft.com/l/meetup-join/19....."
...
}
...
...
...
...
...
}, "
...
status": "
...
draft", "
...
label":
...
"B1", "
...
queue": "
...
_queue_id_", "
...
createdAt":
...
"2020-05-26T08:47:37.1700000Z", "calledAt": "
...
2020-05-26T15:30:37.1700000Z", "bookingReminderAt": null, "
...
QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "notifiedToApproach",
...
"
...
actionLink": "
...
https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/_id_" }
Code Block <html> <head>
...
...
<title></title> </head> <body>
...
<div data-role="module-unsubscribe" class="module"
...
role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5">
...
<p> {{#equals position.locale "
...
ar"}} سيحل دورك قريباً. من فضلك توجه إلى المدخل.
...
{{else}} It will be your
...
turn
...
soon. Please go to the entrance. {{/equals}}
...
</p>
...
...
...
</div> </body> </html>
positionCalled
Code Block {
...
"
...
position": {
...
"id": "
...
_id_", "location": {
...
...
"locationName": "Ombori Street", "
...
organizationTitle": "
...
Ombori Title"
...
...
}, "
...
type": "
...
booking", "
...
priority": 100, "
...
locale": "
...
en", "
...
notification": {
...
...
...
"type": "
...
phoneNumber",
...
"settings": {
...
...
...
"
...
from": "
...
",
...
...
...
"to": "+phoneNumber",
...
...
...
...
"recipient": "test@email.com" }, }, "station": {
...
"label": "A" },
...
...
"
...
booking": {
...
"start": "yyyy-MM-dd HH:mm", // with respect to timezone "end": "yyyy-MM-dd HH:mm", // with respect to timezone
...
"virtualAppointment": { eventId: "AAMkADExYWZmYjI4LTMxMjIt......="
...
...
isEnabled: true managerEmail: "virtual-booking@some-domen.com"
...
...
...
...
notifiedToApproach
...
managerId: "
...
9cd376b6-......."
...
url: "
...
https://teams.microsoft.com/l/meetup-join/19....."
...
}
...
...
...
...
}, "
...
status": "
...
pending", "
...
label":
...
"B1",
...
"
...
queue": "
...
_queue_id_",
...
...
"
...
calledAt":
...
"2020-05-26T15:30:37.1700000Z",
...
...
"bookingReminderAt": null,
...
"
...
QRCodeCheckInPositionId":
...
"{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" },
...
"type": "positionCalled",
...
"
...
actionLink":
...
"https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html> <head>
...
<title></title> </head> <body> <div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="
...
color:#444444;
...
font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5"> <p>
...
...
...
{{#equals position.locale "ar"}} حان دورك الآن.
...
...
{{else}}
...
...
It is your turn now.
...
{{/equals}} </p>
...
...
</div>
...
</body> </html>
positionRetry
Code Block { "position": {
...
"
...
id": "
...
_id_", "
...
location":
...
{ "
...
locationName": "
...
Ombori Street", "
...
organizationTitle": "
...
Ombori Title"
...
}, "
...
type":
...
"booking", "
...
priority":
...
100,
...
"
...
locale": "
...
en",
...
...
"notification": {
...
...
...
"type": "phoneNumber",
...
...
...
"settings": {
...
...
...
...
"from": "",
...
"to": "+phoneNumber",
...
"recipient": "test@email.com" },
...
...
...
...
...
...
...
...
},
...
"station": { "label": "A"
...
...
...
},
...
...
...
...
...
...
...
...
"booking": {
...
"start": "yyyy-MM-dd HH:mm",
...
//
...
with respect to timezone "end": "yyyy-MM-dd HH:mm",
...
// with respect to timezone
...
...
positionCalled
...
"
...
virtualAppointment": {
...
...
eventId: "
...
AAMkADExYWZmYjI4LTMxMjIt......="
...
...
isEnabled: true
...
...
...
...
managerEmail: "virtual-booking@some-domen.com"
...
managerId: "
...
9cd376b6-......."
...
url: "
...
https://teams.microsoft.com/l/meetup-join/19....." }
...
...
...
}, "status": "pending", "
...
label": "
...
B1",
...
"queue": "_queue_id_", "
...
createdAt": "
...
2020-05-26T08:47:37.1700000Z", "calledAt": "2020-05-26T15:30:37.1700000Z",
...
...
"bookingReminderAt": null, "
...
QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "positionRetry", "
...
actionLink": "
...
https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html> <head>
...
...
...
<title></
...
title>
...
...
...
...
</head> <body> <div
...
data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5">
...
...
<p>
...
...
{{#equals position.locale "ar"}}
...
...
تم الوصول لدورك، لكنك لم تدخل. سنحاول مرة أخرى في غضون
...
دقائق قليلة. الرجاء الإقتراب من المدخل {{else}} We called your ticket, but did not find you. We will try
...
again in few minutes. Please approach the entrance.
...
...
{{/equals}}
...
...
</p>
...
...
...
...
</div>
...
</body> </html>
feedbackRequested
Code Block { "
...
position":
...
{ "
...
id": "
...
_id_",
...
"
...
location":
...
{ "
...
locationName": "
...
Ombori Street",
...
...
"organizationTitle": "Ombori Title"
...
},
...
...
"type": "booking",
...
...
...
"priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": {
...
"from": "",
...
"to": "
...
+phoneNumber",
...
...
"recipient": "test@email.com"
...
}, }, "station": {
...
...
...
"label": "A"
...
}
...
,
...
"booking": { "start": "yyyy-MM-dd HH:mm", // with respect
...
to timezone
...
...
...
positionRetry
...
"
...
end": "yyyy-MM-dd HH:mm", // with respect to timezone
...
"
...
virtualAppointment":
...
{
...
...
...
eventId: "AAMkADExYWZmYjI4LTMxMjIt......="
...
...
isEnabled: true
...
...
managerEmail: "
...
virtual-booking@some-domen.com"
...
managerId: "
...
9cd376b6-......."
...
url: "https://teams.microsoft.com/l/meetup-join/19....." }
...
...
},
...
...
"status": "pending",
...
"
...
label": "
...
B1",
...
"queue": "_queue_id_",
...
"createdAt": "2020-05-26T08:47:37.1700000Z", "
...
calledAt":
...
"2020-05-26T15:30:37.1700000Z", "
...
fullfilledAt": "
...
2020-
...
05-26T20:30:37.1700000Z",
...
...
...
...
...
"bookingReminderAt": null, "
...
QRCodeCheckInPositionId": "
...
{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "feedbackRequested",
...
"actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/positions/1c645e74-edd8-48ed-b5c7-3c48fa715c8a" }
Code Block <html> <head>
...
...
<title></title> </head> <body>
...
...
<div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px
...
16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5">
...
...
<p>
...
...
{{#equals position.locale "ar"}}
...
كيف
...
كانت تجربتك اليوم؟ يرجى إرسال ملاحظاتك إلينا حول حجزك: {{url_to_feedback}}
...
{{else}}
...
...
How
...
was your experience today? Please give us feedback about your booking: {{url_to_feedback}}
...
{{/equals}} </p>
...
...
...
...
</div>
...
...
</body>
...
</html>
positionReject
Code Block { "
...
position":
...
{
...
...
...
"id": "_id_",
...
...
"location": {
...
...
"locationName": "Ombori Street",
...
...
...
"organizationTitle": "Ombori Title" }, "type": "booking", "priority": 100, "locale": "en", "notification": {
...
"type": "phoneNumber",
...
...
"
...
settings"
...
: {
...
...
...
...
...
"from": "",
...
"to": "+phoneNumber",
...
...
...
...
...
...
"recipient": "test@email.com" },
...
},
...
"station": { "label": "A"
...
},
...
...
...
positionReject
...
"
...
booking":
...
{
...
...
"
...
start": "
...
yyyy-MM-dd HH:mm", // with respect to timezone "end": "
...
yyyy-MM-dd HH:mm", // with respect to timezone
...
...
"
...
virtualAppointment":
...
{
...
...
eventId: "
...
AAMkADExYWZmYjI4LTMxMjIt......="
...
isEnabled:
...
true
...
...
managerEmail: "virtual-booking@some-domen.com"
...
managerId: "
...
9cd376b6-......."
...
url: "
...
https://teams.microsoft.com/l/meetup-join/19....." }
...
...
...
...
}, "
...
status":
...
"cancelled", "
...
label": "
...
B1",
...
...
...
...
...
"queue": "_queue_id_", "
...
createdAt": "
...
2020-
...
05-26T08:47:37.1700000Z",
...
"calledAt": "2020-05-26T17:15:59.6100000Z",
...
"rejectedAt": "
...
2020-05-26T15:30:37.1700000Z", "bookingReminderAt": null,
...
"QRCodeCheckInPositionId": "{"type":"check-in-position","positionId":"ce4a66df-51ff-47af-bf5e-4e26f82d266b"}" }, "type": "positionReject",
...
"actionLink": "
...
https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92" }
Code Block <html> <head>
...
...
<title></title> </head> <body>
...
...
<div data-role="module-unsubscribe" class="module" role="module" data-type="unsubscribe" style="color:#444444; font-size:12px; line-height:20px; padding:16px 16px
...
16px 16px; text-align:Center;" data-muid="4e838cf3-9892-4a6d-94d6-170e474d21e5">
...
<p>
...
...
{{#equals position.locale "
...
ar"
...
}}
...
...
تم إلغاء
...
الحجز. {{position.label}} برجاء زيارة {{actionLink}} إذا كنت ترغب في حجز موعد جديد
...
...
{{else}}
...
...
...
Position {{position.label}} was
...
cancelled. Visit {{actionLink}} if you would like to request a new position. {{/equals}}
...
</
...
p>
...
...
...
...
</div> </body> </html>
StaffNotificationPendingTicketsCountThreshold
Code Block { "queue": Queue model, "type": "StaffNotificationPendingTicketsCountThreshold", "actionLink": (as html) "
...
Please be informed that one of your Queues has exceeded the set
...
threshold.
...
...
See details below: Queue Name: Khorev's queue
...
2
...
...
...
...
...
...
...
Current
...
People
...
Count:
...
58
...
persons
...
...
Threshold Setting: 55 persons"
...
}
StaffNotificationPeopleAverageWaitingTimeThreshold
Code Block { "queue": Queue model,
...
"type": "StaffNotificationPeopleAverageWaitingTimeThreshold", "actionLink": (as html) " Please be informed that one of your Queues has exceeded the set threshold. See details below: Queue Name: Khorev's queue 3 Current Average Waiting
...
Time: 1000 min(s)
...
Threshold Setting:
...
1 min(s) }