Easy Tickets & Events docs

Features

Emails and PDF tickets

Design branded confirmation emails, reminder emails, and printable PDF tickets - visual block editor + raw HTML override.

Updated May 20, 2026

Confirmation emails and PDF tickets are how customers actually receive their purchase. This page covers both editors.

The four customisable templates

Per event, you can customise:

  1. Confirmation email - sent immediately on order paid.
  2. Reminder email - sent N hours before the event start.
  3. PDF ticket - the printable/downloadable ticket.
  4. Online ticket page - the public web ticket at /tickets/<token>.

Plus the storefront popup, covered in Storefront popup.

This page focuses on emails and PDFs. All editors share the same UI patterns.

Editor structure

Each template has three tabs:

  • Visual editor. Drag-and-drop blocks. Toggle each on/off. Edit text inline. Upload images.
  • Advanced settings. Per-block details (which fields show, column widths, event info parts).
  • Code editor. Raw HTML with variables, for total control.

All edits live-preview on the right.

Confirmation email editor

The default email has blocks:

  • Header - logo, accent strip.
  • Greeting - "Hi ".
  • Event summary - name, date, time, location.
  • Ticket details - QR code, ticket code, ticket type.
  • Calendar link - "Add to calendar" button (iCal export).
  • Footer - support email, refund policy link.

Toggle any block off if you don't want it. Reorder by drag.

For an event with PDF attached, the email body is short ("see attached"). For events without PDF, the email is the ticket - QR code is rendered inline.

Email-specific options

  • Attach PDF. Per-event toggle (event settings). When on, the confirmation email has the PDF as an attachment. When off, the email links to the public ticket page only.
  • Delivery mode. Per-event setting:
    • Individual - one email per attendee on a multi-attendee order.
    • Consolidated - one email to the buyer with all tickets.
    • Customer choice - buyer picks at checkout.
  • Sender name. Set globally in shop settings (e.g. "Wren and Oak Events"). The from-address is fixed by the Resend integration.

Reminder email

Same editor as confirmation. Default body emphasises the upcoming event date + the QR code.

  • Send time. Configurable per event (default 24 hours before start).
  • Send mode. Bulk send to all attendees, or individualised based on each attendee's purchase time.

PDF ticket editor

Two starting presets:

  • Digital. Portrait orientation, modern layout. Best for phone-screen display + print-at-home.
  • Physical. Landscape orientation, ticket-stub aesthetic with tear-off line. Best for printed admission.

Each preset has the same block library:

  • Header with logo.
  • Event title and date.
  • Attendee name and ticket type.
  • QR code (sized for scanning - 250x250 or larger).
  • Custom notes block.
  • Bottom bar / footer text.

PDF-specific options

  • Dimensions. Width/height in inches for physical printing.
  • QR size. Adjustable to balance ticket layout vs scanning reliability.
  • Logo upload. Replace the default with your brand logo.
  • Custom notes. Add a "Arrive 15 minutes early" or "Bring ID" note.

Custom blocks

For arbitrary text or images that the default blocks don't cover:

  1. Add a Custom block in the visual editor.
  2. Pick Rich text, Image, or Two-column.
  3. Fill in content.

Rich text uses a TipTap-style editor (bold, italic, links, headings).

Two-column is useful for side-by-side info (e.g. "When" / "Where" stacked).

Code editor (raw HTML)

The Code editor tab gives you full HTML control. Use it when:

  • You have a designed email template from your brand agency.
  • You need conditional logic the block editor can't express.
  • You want to inline pricing tables, embedded videos, or custom CSS.

Template variables:

  • {{event_name}}
  • {{first_name}} / {{last_name}}
  • {{ticket_code}}
  • {{qr_code_url}} (rendered inline)
  • {{pdf_url}}
  • {{event_date}} / {{event_time}}
  • {{location_name}}
  • {{buyer_email}}
  • {{ticket_type}} / {{ticket_count}}
  • {{logo_url}}
  • {{calendar_url}}

The raw HTML is sanitised on save (XSS protection). Inline CSS works; external stylesheets don't (most email clients block them anyway).

Multilingual content

Easy Tickets translates all factory strings into six locales. For custom strings (your own copy), per-shop translation overrides handle them:

  1. Shop settings → Translations.
  2. Pick a locale.
  3. Override any string with your own translation.

The override applies to that locale globally across all events.

Sender configuration

Globally for the shop:

  • Sender name - free text ("Wren and Oak Events").
  • Sender email - fixed by Resend integration. The actual deliverability domain is managed factory-side.

Per event:

  • Reply-to email - where customer replies go. Defaults to your shop's support email.

Email history

From the event detail page, click Emails. You'll see every confirmation, reminder, and resent email, with:

  • Status (sent, failed, queued).
  • Recipient.
  • Send time.
  • Resend button for failed emails.

Useful when an attendee says "I never got my email" - check the history, see whether it sent or bounced.

What's next

Frequently asked questions

Can I edit the raw HTML?

Yes. The visual block editor is the default, but every template has a "Code editor" tab that gives you full HTML control with template variables. XSS-sanitised on save. Live preview shows what the customer sees.

Can I send the confirmation in the customer's language?

Yes. Easy Tickets ships translations in English, Spanish, French, German, Portuguese, and Danish. The email uses the customer's locale (or your shop's customer-facing locale if you've configured one). For custom strings, per-shop translation overrides let you tweak any phrase.

What variables can I use in the email?

Around 15 variables: event_name, first_name, last_name, ticket_code, qr_code_url, pdf_url, event_date, event_time, location_name, buyer_email, ticket_type, ticket_count, logo_url, calendar_url. Full list and syntax in the code editor's reference panel.