Email templates let you send recurring notifications to your leads and customers quickly and easily.
Email templates have a subject and content and can be filled with dynamic content from incoming bookings. This saves you time and effort, since you don't have to write and send the same messages over and over again.
| Booking Accepted |
The Booking Accepted template is used to confirm new bookings. You can find out how to respond to your bookings with this template here. |
|---|---|
| Booking Declined |
The Booking Declined template is used to decline bookings. |
| Follow-Up (Attended) |
The Follow-Up (Attended) template is used to send leads who attended an appointment a message with further information. The goals of the default template are:
You can find out how to send information after an attended appointment here. |
| Follow-Up (Not Attended) |
The Follow-Up (Not Attended) template is used to send a follow-up message to participants who did not attend an appointment. The goal of the default template is to help participants find a new appointment. You can find out how to send new appointment suggestions for a booking that wasn't attended here. |
| Appointment Confirmation |
If the participant books a new appointment based on the Follow-Up (Not Attended) template, the Appointment Confirmation template is used to confirm the new appointment. |
| Appointment Reminder | The Appointment Reminder template is used to remind participants shortly before the appointment. |
| Registration Confirmation |
The Registration Confirmation template is used to confirm new event registrations. |
|---|
To set up or edit a template:
Before saving an email template, you can show a preview of the current template.
To do so, switch to the Preview tab in the template editor.
The dynamic content is based partly on your own account's information and partly on sample data.
You can add dynamic content to an email template using Liquid syntax. See below to learn which data is available for bookings.
To add dynamic content, wrap the information you want in double curly braces:
Hello {{ customer.first_name }}
If the lead's name were Bruce, the example above would generate the following text:
Hello Bruce
Liquid syntax also lets you show text only if a certain condition is met.
This lets us show text only for specific locations, offers, or appointment types.
For example:
The appointment takes place at the following address:<br><br>
{{ location.street }}<br>
{{ location.locality }}<br><br>
{% if location.city == 'Basel' %}
The entrance is behind the building and the access code is 1234.<br><br>
{% endif %}
In the example above, the part...
The entrance is behind the building and the access code is 1234.<br><br>
... is only shown in appointment notifications for appointments that take place in Basel.
Another example:
If you have any questions, I'm happy to help. Just reply to this email.<br><br>
{% if appointment.trial? %}
I'm looking forward to meeting you.<br><br>
{% endif %}
In the example above, the part...
I'm looking forward to meeting you.<br><br>
... is only shown for first appointments.
You can also show an alternative if a condition isn't met. For example:
{% if location.virtual? %}
To start the video chat, use the following link at the booked time:<br>
<a href="{{ location.url }}">{{ location.url }}</a>
{% else %}
You can find us at the following <strong>address</strong>:<br><br>
{{ location.street }}<br>
{{ location.locality }}
{% endif %}
This shows a link to the video chat for online appointments. For on-site appointments, the address is shown.
Unless conditions let you show text if a condition is not met.
Unless conditions work exactly the opposite way of the If conditions described above.
Example:
{% unless appointment.trial? %}
This text is only shown for follow-up appointments.
{% endunless %}
for loops let us show the list of custom form fields. For example:
<ul>
{% for field in appointment.custom_form_fields %}
<li>{{ field.label }}: {{ field.value }}</li>
{% endfor %}
</ul>
You can also read and show only specific custom fields.
Good to know: As soon as the name of a field changes, you also need to update the name in your templates at where: "label", "field-name".
field-name must exactly match the name of the custom field.
{{ appointment.custom_form_fields | where: "label", "field-name" | map: "value" | first %}
A booking consists of various data that you can use in your email templates. Below you'll find a list of all available variables.
Different variables are available depending on the type of template.
General variables are available in all email templates.
| Variable | |
|---|---|
| business.name | Name of your business |
| business.email | Email address of your business |
| business.phone | Phone number of your business |
| business.url | URL of your business |
| signature | Email signature |
| Variable | Description |
|---|---|
| appointment.date | The date on which the appointment takes place. |
| appointment.start_time | The time of day when the appointment starts. |
| appointment.end_time | The time of day when the appointment ends. |
| appointment.created_at | The time when the booking was created. |
| appointment.type | The type of appointment. |
| appointment.trial? | Checks whether it's a first appointment or a regular appointment. |
| appointment.rescheduleable? | Checks whether the lead / customer can reschedule the appointment. |
| appointment.reschedule_url | The URL where the lead / customer can reschedule the appointment themselves. |
| appointment.custom_form_fields | Custom form fields. |
| customer.full_name | First and last name of the lead. |
| customer.first_name | First name of the lead. |
| customer.last_name | Last name of the lead. |
| product.name | Name of the offer. |
| product.group | Group of the offer. |
| location.street | The address of the location. |
| location.zip | The ZIP code of the location. |
| location.city | The city of the location. |
| location.locality | Postal code and city formatted for the country, e.g. "CH-4051 Basel" or "Austin, TX 78741". |
| location.virtual? | Checks whether it's an online location |
| location.url | The URL of the online location |
| resource.full_name | First and last name of the staff member. |
| resource.first_name | First name of the staff member. |
| resource.last_name | Last name of the staff member. |
| Variable | Description |
|---|---|
| event.name | The name of the event. |
| event.schedule | Date and time of the event. |
| location.street | The address where the event takes place. |
| location.zip | The ZIP code where the event takes place. |
| location.city | The city where the event takes place. |
| location.locality | Postal code and city formatted for the country, e.g. "CH-4051 Basel" or "Austin, TX 78741". |
| enrollment.payment_method | The payment method used to pay for the registration. |
| enrollment.price | The cost of attending the event. |
| enrollment.custom_form_fields | Custom form fields. |
| contact_address.name | The name of the registered participant. |
| contact_address.street | The address of the registered participant. |
| contact_address.zip | The ZIP code of the registered participant. |
| contact_address.city | The city of the registered participant. |
| contact_address.locality | Postal code and city formatted for the country, e.g. "CH-4051 Basel" or "Austin, TX 78741". |
| billing_address.name | The name of the billing address. |
| billing_address.street | The street address of the billing address. |
| billing_address.zip | The ZIP code of the billing address. |
| billing_address.city | The city of the billing address. |
| billing_address.locality | Postal code and city formatted for the country, e.g. "CH-4051 Basel" or "Austin, TX 78741". |
keinaufwand for: Martial arts schools, Consulting and coaching, Yoga and Pilates, Dance schools, Gyms and fitness studios, Personal training, Swim schools, Music schools, Sports clubs, Massage and therapy practices, Dog training schools.