Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 29 Next »

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

    • bookingRescheduled - Customer rescheduled booking date/time

    • remindedAboutBooking – Booking reminder for customer

    • bookingActivated – Booking is activate and is a queue ticket now

    • positionCancelled – staff removed future booking created by the customer

    • positionCancelledByCustomer - Customer cancelled position

    • notifiedToApproach - notify customer that it’s his/her turn soon

    • positionCalled – Position called by staff

    • positionRetry – staff pressed ‘Retry’ because customer did not show up

    • positionRejected – staff pressed ‘Reject’ to remove ticket

    • feedbackRequested- an email with reminder to provide feedback (if not provided yet)

  • 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

    1. notifiedToLeaveSoon - send an email message that customer should leave store soon

    2. notifiedToLeave - time to leave the store

  • Curbside pickup

    1. notifiedAboutBooking - notification for curbside pickup

    2. notifiedToReschedule - when curbside is rescheduled

NOTES:

  1. For getting phone number it’s better to get it from notification or from registration field (in case if notification way is changed only registration field keeps phone number information). Query like position?.notification?.settings?.to ?? position?.registrationData?.phone?.value should be used

  2. For latest position model please visit Position model

Changelog 22-02-2021:

  1. Added stations schema

  2. Warning! We won’t update position example here, we will only update Position model link

  3. We won’t update change log section any more, please look into Page history for checking what was changed

Changelog 18-02-2021:

  1. Updated location schema

Changelog 5-02-2021:

  1. Added Notes section

Changelog 28-01-2021:

  1. Updated position schema, please visit Position model

Changelog 27-01-2021:

  1. Added registrationData into position schema

Changelog 14-01-2021:

  1. Added virtualAppointment into booking

Changelog 01-12-2020:

  1. Changed positionReject to positionRejected

  2. notifiedToApproach was added

Changelog 04-12-2020:

  1. Changed bookingReminder to remindedAboutBooking

Changelog 24-12-2020:

  1. Added “recipient” field into notification.setting for “phoneNumber” notification type (if email specified)

Template by type:

  1. bookingConfirmation:

    {
        "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"
            },
            "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>

  2. remindedAboutBooking:

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
            "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"    
    }

      <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>
    

  3. bookingActivated:

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
           "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"    
    }

      <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>
    

  4. positionCancelled:

    {
        "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"
            },
            "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>
    

  5. notifiedToApproach

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
           "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-......."
                  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>
  6. positionCalled

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
            "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_",
            "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>
    

  7. positionRetry

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
            "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",
            "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>
    

  8. feedbackRequested

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
            "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",
            "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"    
    }


    Note: url_to_feedback is actionLink and by default it is a link to our ticket with feedback form.

      <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>
    

  9. positionReject

    {
        "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"
                },
            },
            "registrationData": {
              "phone": { value: "+48888888888" },
            },
            "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": "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>
    

  • No labels