How to Send Branded Booking Confirmation Emails in WordPress
Your confirmation email is the first impression after a booking. Here’s how to make it professional, personalised, and useful — with your logo, appointment details, and a cancel link built in.
When a customer pays their booking deposit, the very next thing they experience is your confirmation email. A generic “your form was submitted” message doesn’t cut it. It should look professional, confirm the details clearly, and give the customer everything they need — including a way to cancel if their plans change.
The NoShow Deposit Payments plugin sends a fully customisable HTML confirmation email the moment a payment is confirmed. Here’s how to set it up properly.
What a Good Booking Confirmation Email Includes
Before touching settings, it’s worth thinking about what your email should contain. A solid confirmation email has:
- Your company logo — so the customer recognises the sender immediately
- A personalised greeting using the customer’s name
- The appointment details — service, date, and time, clearly laid out
- The deposit amount paid and remaining balance
- Your cancellation policy stated clearly
- A cancel link — so they can self-serve if plans change
- Your company name and contact info in the footer
Here’s what the email looks like when fully configured:
Hi Sarah,
Thanks for booking with us. Your deposit has been received and your appointment is confirmed.
Need to cancel? You can do so free of charge up to 24 hours before your appointment.
Cancel or Reschedule →Step 1 — Add Your Company Branding
Go to NoShow Payments → Settings → Company Branding. Fill in:
- Company Name — appears in the email greeting and footer (e.g. “The Hair Studio”)
- Company Logo — click Upload Logo and choose an image from your Media Library. A PNG with a transparent or white background works best in emails.
Step 2 — Write Your Email Template
Go to Settings → Email Templates → Customer Email. You can customise the subject line and the full email body.
The body supports full HTML, so you can structure it however you like. To personalise the email with real booking data, use tokens — placeholders that the plugin replaces with the actual values when the email is sent.
Available Email Tokens
{customer_name}
The customer’s full name as entered in the booking form
{company_name}
Your company name from the branding settings
{company_logo}
Your logo image — outputs a full <img> tag with the uploaded logo
{service_name}
The service the customer selected in the booking form
{meeting_date}
The date of the appointment (formatted as Day, DD Month YYYY)
{meeting_time}
The time of the appointment
{cancel_url}
A secure, unique link the customer can use to request a cancellation
Example Subject Line
Your booking with {company_name} is confirmed ✓
Step 3 — Set Up the Admin Notification Email
The plugin can also send you a notification every time a deposit is paid. Set this up in Settings → Email Templates → Admin Notification.
- Admin Email Address — the email address that should receive notifications (can be different from your WordPress admin email)
- Subject line and body — use the same tokens as the customer email to include booking details in your notification
Step 4 — Configure SMTP for Reliable Delivery (Recommended)
By default, WordPress sends emails using PHP’s wp_mail() function. This works but is often unreliable — emails can land in spam or fail entirely depending on your host’s mail configuration.
For reliable delivery, enable the plugin’s built-in SMTP settings under Settings → SMTP Configuration.
| Provider | SMTP Host | Port | Encryption |
|---|---|---|---|
| Gmail | smtp.gmail.com | 587 | TLS |
| Outlook / Office 365 | smtp.office365.com | 587 | TLS |
| Brevo (Sendinblue) | smtp-relay.brevo.com | 587 | TLS |
| Mailgun | smtp.mailgun.org | 587 | TLS |
| SendGrid | smtp.sendgrid.net | 587 | TLS |
Also set a From Name and From Email — this is what customers see as the sender. Use your business name and a real email address, not a noreply@ address, as many spam filters flag no-reply senders.
Why the Cancel Link Is the Most Important Part of Your Email
The {cancel_url} token generates a unique, secure link for each booking. When a customer clicks it, they’re taken to a cancellation page where they can submit a cancellation request and select their reason.
This matters for several reasons:
- Customers who need to cancel will do it themselves rather than disappearing without notice
- Earlier cancellations give you time to rebook the slot
- The cancellation is recorded in your dashboard with a reason — useful data for spotting patterns
- It looks professional — most service businesses don’t offer this level of self-service
The link is cryptographically signed, so it only works for that specific booking. It can’t be reused or used to cancel someone else’s appointment.
Testing Your Email Setup
After configuring everything, submit a test booking using Stripe’s test card (4242 4242 4242 4242). Check that:
- The customer confirmation email arrives in your inbox (send to yourself for testing)
- All tokens are replaced correctly — no literal {customer_name} appearing in the email
- The cancel link works and takes you to the cancellation page
- The admin notification email arrives at the right address
Set Up Professional Booking Emails in Minutes
NoShow Deposit Payments handles the full email flow — confirmations, branding, tokens, SMTP, and cancel links — all in one free plugin.
Get the Free Plugin →