Overview
Email template placeholders insert dynamic information into notification subjects and email bodies. All placeholders use {name} syntax and are case-sensitive. If a value is missing, the placeholder renders as an empty string.
Global placeholders
These placeholders can be used in every notification template.
| Placeholder | Meaning |
|---|---|
{company} / {companyname} | Studio name |
{url} | Studio’s website URL |
{account-link} | URL to the customer’s account portal at the studio |
{toc} | Studio’s terms and conditions text |
{password} | Always renders as ********* |
Customer Registration / Welcome
Type 0.
| Placeholder | Meaning |
|---|---|
{firstname} | Customer’s first name |
{lastname} | Customer’s last name |
Event Purchase / Cancellation
Types 1 and 2.
| Placeholder | Meaning |
|---|---|
{firstname} / {lastname} | Customer name |
{purchase} | Auto-formatted purchase list, one line per booked date |
[event-purchase: <skeleton>] | Custom per-line template using %name%, %pricing-option%, %day%, %date%, %month%, %year%, %hour%, %minutes%, %am-pm%, and %places% |
{event}...{!event} | Repeating block per virtual event date. Inside the block, use {date}, {meetinginvite}, {meetingid}, and {meetingpasscode} |
{meeting} / {meetings} | Combined virtual-access summary |
Free Booking from Waiting List
Type 4.
| Placeholder | Meaning |
|---|---|
{firstname} / {lastname} | Customer name |
{booknow} / {purchase-lnk} | URL to confirm the booking |
Password Reset
Type 5.
| Placeholder | Meaning |
|---|---|
{firstname} / {lastname} | Customer name |
Pass / Package Purchase
Type 6.
| Placeholder | Meaning |
|---|---|
{firstname} / {lastname} | Customer name |
{purchase} | Pass purchase summary, including name, credits, start date, and expiry date |
Subscription Lifecycle
Types 7, 9, 10, 11, 16, 19, and 20. These cover mandate due, suspended, cancellation, renewal, mandate set-up, reactivated, and cancelled-by-studio notifications.
| Placeholder | Meaning |
|---|---|
{firstname} | Customer first name |
{subscriptionname} | Subscription product name |
{subscriptionterm} | Term, for example 1 month |
{subscriptioncharge} | Charge amount, formatted, for example GBP10.00 |
{subscriptionid} | Internal subscription ID |
{subscriptioncycle} | Renewal cycle in days |
Invoice Lifecycle
Types 12, 13, 14, and 15. These cover invoice created, invoice overdue, invoice error, and invoice paid notifications.
| Placeholder | Meaning |
|---|---|
{firstname} | Customer first name |
{month} | Current month name |
{invoice-number} | Formatted as INV-000123 |
{invoice_id} | Numeric invoice ID |
{invoice_number} | 6-digit zero-padded invoice number |
{invoice-created-date} | Date invoice raised |
{invoice-due-date} | Due date |
{invoice-gross} | Total formatted, for example GBP60.00 |
{invoice-purchase-list} | Itemised line list |
{invoice-payment-type} | Card (Stripe) or Manual |
{invoice-error-reason} | Stripe decline reason. Type 14 only |
{invoice-decline-code} | Stripe decline code. Type 14 only |
{account-invoice-error-link} | URL to fix payment for the failed invoice |
Event Reminder
Types 17 and 18. Type 17 is for virtual events, and type 18 is for physical events.
| Placeholder | Meaning |
|---|---|
{firstname} | Customer first name |
{eventname} | Event name |
{event} | Auto-formatted event date and time, for example Event Name: 19 Nov 2025 at 12:06am |
{purchase} | Same as {event} for reminders |
{meetinginvite} | Zoom join URL. Type 17 only |
{meetingid} | Meeting ID. Type 17 only |
{meetingpasscode} | Meeting passcode. Type 17 only |
Media / Video Purchase
Type 21.
| Placeholder | Meaning |
|---|---|
{firstname} / {lastname} | Customer name |
{purchase} | Formatted media purchase summary |
Notes
- Unknown or missing placeholder values render as an empty string.
- Placeholders are case-sensitive. For example,
{Firstname}will not substitute. INV-XXXis also substituted for legacy invoice templates.[event-purchase: ...]and{event}...{!event}are repeating blocks, not single placeholders.
