Confirmation Email Builder
Design fully customized booking confirmation emails with a drag-and-drop block editor.
The confirmation email builder lets you design the booking confirmation email your customers receive — layout, content, images, buttons, and subject line — using a drag-and-drop editor. No coding required.
If you never touch the builder, nothing changes: activities without a template keep sending the standard confirmation email exactly as before.
How it works
Templates live in a library. Each template belongs to either:
- A location — the location default, used for every activity at that location, or
- A specific activity — an override that wins over the location default for that activity only.
At most one template per activity (and one per location) can be enabled at a time. When a confirmation is sent, Resytech picks the enabled activity template first, then the enabled location default, then the built-in email.
Manage location defaults under Email Templates in the dashboard; manage per-activity overrides from the activity's Communication tab, which also still holds the arrival-time and visibility settings.
Building a template
Creating a template starts you from a layout that reproduces the standard confirmation email, with your existing custom email body and terms already placed in editable blocks — so you refine rather than rebuild.
The editor has three panels: a toolbox of blocks on the left, the email canvas in the middle, and a properties panel on the right for the selected block. Drag blocks to reorder them; delete what you don't need.
Content blocks
Blocks you author yourself: Heading, Text (rich text), Image, Button, Divider, Spacer, Columns (two-column layout that stacks on phones), and HTML for hand-written markup.
Booking sections
Smart sections rendered by Resytech with the booking's live data. You place, reorder, and configure them — their internals stay accurate automatically:
| Section | Shows |
|---|---|
| Booking details | "Booking confirmed" header, activity name, and confirmation code |
| When | Date, start time, duration, and arrive-by line |
| Manage booking | The customer self-service button |
| Where | Your location's address and map |
| Order | Line items, discounts, taxes and fees, and the total |
| Payment status | Paid / balance due breakdown, including gift cards |
| Equipment | Reserved equipment, add-ons, and what's included (the equipment list is hidden for tours — the vehicle is not something the customer chose) |
| Guests & Tickets | Tour guest or ticket counts per category, with per-category prices when the tour uses per-person category pricing. Renders for tour activities only |
| What to bring | The activity's what-to-bring checklist |
| Your answers | The customer's custom-field answers |
| Facilitators | The available-facilitator list (for operators who use it) |
| Terms | Your terms text plus the activity's cancellation policy |
| Booked by | Customer contact details and party breakdown |
| Check-in code | A scannable QR staff use to check the party in at departure. Renders for tour activities only |
Sections with nothing to show (for example, no equipment on the booking) are left out of the delivered email automatically.
Tours always get the check-in code: if a tour confirmation template doesn't include the Check-in code section, Resytech adds it automatically (right after Guests & Tickets) so tour customers always receive a scannable code. Place the section yourself to control where it appears. Raw-HTML templates in full-document mode are the exception — you own that document outright, so add {{sections.checkin_qr}} where you want it.
A location-wide template applies to activities with different settings, so the Where and Custom Fields sections also respect each activity's "show meeting location" and "show custom field answers" settings by default — an activity that hides those keeps them hidden. Each block has an option to override this.
Personalization
Insert variables like {{customer.name}}, {{booking.confirmationCode}}, or {{activity.name}} into any text and into the subject line using the variable picker. Variables fill in with the booking's real values when each email is sent. Leave the subject empty to keep the standard subject format.
If a template contains a variable Resytech doesn't recognize (usually a typo), you'll be warned when saving, and the template can't be enabled until it's fixed — misspelled variables would otherwise render as blank text.
Preview and test
Before enabling a template:
- Preview renders your design — including unsaved edits — against one of your real bookings, exactly as a customer would see it.
- Send test email delivers the rendered email to your own address (marked
[TEST]). Nothing is ever sent to the sample booking's customer.
Raw HTML mode
For full control, a template can be switched from the block editor to raw HTML mode, where you author the entire email body as HTML in a code editor. Variables work exactly as in the block editor, and each booking section is available as a section token — for example {{sections.line_items}} or {{sections.payment_status}} — which renders the same live section wherever you place it. Sections with no data for a booking still disappear automatically.
Two delivery options:
- Wrapped in standard frame (default): your HTML becomes the body inside the standard email shell — logo header, 600px card, contact row, and footer stay ours, so email-client quirks remain our problem.
- Complete document: your HTML is sent exactly as written,
<!doctype>and all. Full control, full responsibility.
Switching is one-way: "Switch to HTML" converts your current block layout into editable starting HTML and keeps a copy of the block layout. Sections become their tokens with display options reset to defaults (the conversion marks any that had custom settings), and your terms text is converted into editable HTML so nothing you wrote is lost. "Revert to blocks" restores that saved layout and discards all HTML edits. Both switches require the template to be disabled first, and unknown variables or section tokens are flagged before the template can be enabled — same as the block editor.
Enabling and safety
Enable a template to make it live; enabling one automatically disables any other enabled template in the same scope. Disable it any time to fall back to the location default or the standard email.
If an enabled template ever fails to render at send time, the customer still receives the standard confirmation email — a broken template can never block a confirmation. You'll get an alert email (at most one per day per template) telling you which template needs attention.
