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 – Position model schema
actionLink – link to present to customer, link depends on email type (see below)
Optional types (they could be used or not, depends on queue settings):
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
Changelog 28-01-2021:
Updated
position
schema, please visit Position model
Changelog 27-01-2021:
Added
registrationData
intoposition
schema
Changelog 14-01-2021:
Added
virtualAppointment
intobooking
Changelog 01-12-2020:
Changed
positionReject
topositionRejected
notifiedToApproach
was added
Changelog 04-12-2020:
Changed
bookingReminder
toremindedAboutBooking
Changelog 24-12-2020:
Added “recipient” field into notification.setting for “phoneNumber” notification type (if email specified)
Template by type:
bookingConfirmation:
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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" }
<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>
remindedAboutBooking
:{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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" }
<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:
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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" }
<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>
positionCancelled:
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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": "positionCancelled", "actionLink": "https://queue.qa.ombori.com/ombori-demo/queues/36a4bdd7-7145-48f9-be92-0fd659f96f92/book" }
<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>
notifiedToApproach
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "email", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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-......." 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_" }
<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
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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_", "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" }
<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
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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", "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" }
<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>
positionReject
{ "position": { "id": "_id_", "location": null, "type": "booking", "priority": 100, "locale": "en", "notification": { "type": "phoneNumber", "settings": { "from": "", "to": "+phoneNumber", "recipient": "test@email.com" }, }, "registrationData": { "phone": { value: "+48888888888" }, }, "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" }
<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>