---
title: "Email templates and layout"
description: "Change the wording of each customer email, and the design every email is wrapped in."
---

> Documentation Index
> Fetch the complete documentation index at: http://localhost:4321/llms.txt
> Use this file to discover all available pages before exploring further.

# Email templates and layout

> **Administrators only**
>
> This part of the portal is only visible to people with the **Administrator** role. If you can't see it in your menu, ask an administrator. See [Roles and permissions](/reference/roles-and-permissions).

Every email Gravity Pass sends has two parts you can change: the **template** (the subject and message) and the **layout** (the HTML design wrapped around every message). Both are under **Administration > Email**, on the **Templates** and **Layout** tabs.

## The templates

| Template | Sent when |
|---|---|
| **Booking confirmation** | A booking is paid and confirmed. Includes a QR code of the reference for the check-in app. |
| **Upcoming booking reminder** | Shortly before a session. See the note below. |
| **Waiver to sign** | A booking is paid, to each adult rider who hasn't signed yet, with their personal link. |
| **Season pass purchased** | A customer has paid for a season pass. |
| **Merchandise order placed** | A customer has paid for a shop order. |
| **Merchandise order dispatched** | You mark an order as dispatched. Includes the tracking code. |
| **Cancellation or refund requested** | A customer asks for their order to be cancelled or refunded. Confirms we have it. |
| **Cancellation or refund declined** | You decline that request. Includes your reply. |
| **Merchandise order refunded** | You refund some or all of an order. |

> **Reminders are not sent automatically**
>
> The reminder template can be edited, but the current version of Gravity Pass doesn't send it. Don't rely on customers receiving a reminder email.

Each template in the list shows whether it's **Default** or **Customised**, and when it was last edited.

## Edit a template

Choose **Edit** next to a template.

1. Change the **Subject** and **Message**. Messages use simple formatting: `**bold**`, `*italic*`, `[link text](https://example.com)`, and a `- ` at the start of a line for a bullet list. Line breaks are kept and web addresses become links.
2. Add **variables** to personalise it. Click a variable in the list underneath to insert it at your cursor, in whichever of the subject or message you last clicked.
3. Choose **Preview with example data** to see the finished email.
4. Choose **Save template**.

If your wording contains a mistake, such as an unclosed `{% if %}`, the save is refused with an explanation.

### Variables

A variable is a placeholder that's replaced with real information when the email is sent, such as `{{ customer.firstName }}`. Each template lists only the variables that make sense for it. Some common ones:

| Variable | Becomes |
|---|---|
| `{{ customer.firstName }}` | The customer's first name. |
| `{{ business.name }}` | Your organisation name. |
| `{{ booking.reference }}` | The booking reference. |
| `{{ session.date \| date: "%A %d %B %Y" }}` | The day of the session, for example "Saturday 14 March 2026". |
| `{{ session.start \| date: "%H:%M" }}` | The start time, for example "10:00". |
| `{{ waiver.url }}` | The customer's personal link to sign the waiver. |
| `{{ order.reference }}` | The shop order reference. |
| `{{ order.trackingCode }}` | The parcel's tracking code. |

You can also use simple logic. For example, `{% if booking.seats > 1 %}Bring your group!{% endif %}` only shows that line when more than one place is booked. The templates use the [Liquid](https://shopify.github.io/liquid/) language.

### Reset to default

**Reset to default** discards your edits and restores the original wording. It's only available on templates you've customised.

## The layout

The layout is the HTML every email is placed inside, such as the header, colours and footer. The message from your template is turned into HTML and dropped in where `{{ body }}` appears.

- The layout **must contain `{{ body }}`**. You can also use `{{ subject }}`.
- Use inline styles and simple tables, because many email apps ignore anything fancier.
- Every email also goes out with a plain-text version.
- **Start from the default** loads the original layout into the editor as a starting point.
- **Preview with example data** shows it around a sample email before you save.
- **Reset to default** restores the original layout.

> **Note**
>
> Most operators never need to touch the layout. Change the wording of your templates first, and only edit the layout if you want to match your brand more closely than the logo and colour under [Branding](/setup/branding) allow.

Source: http://localhost:4321/setup/email-templates/index.mdx
