Email Templates
WooCommerce Appointments ships admin and customer email templates for lifecycle events. All emails are registered via WC_Appointment_Email_Manager and extend the standard WC_Email class.
Email Classes
| Email ID | Class | Type | Timezone-Aware |
|---|---|---|---|
admin_new_appointment | WC_Email_Admin_New_Appointment | Admin | ✅ (since 5.2.0) |
admin_appointment_cancelled | WC_Email_Admin_Appointment_Cancelled | Admin | ✅ (since 5.2.0) |
admin_appointment_rescheduled | WC_Email_Admin_Appointment_Rescheduled | Admin | ✅ (since 5.2.0) |
appointment_confirmed | WC_Email_Appointment_Confirmed | Customer | Uses customer TZ |
appointment_cancelled | WC_Email_Appointment_Cancelled | Customer | Uses customer TZ |
appointment_reminder | WC_Email_Appointment_Reminder | Customer | Uses customer TZ |
appointment_follow_up | WC_Email_Appointment_Follow_Up | Customer | Uses customer TZ |
Timezone-Aware Admin Emails
Since 5.2.0, admin emails group recipients by timezone. Staff members receive dates formatted in their personal timezone; admin recipients see the site timezone. This is handled by the get_recipient_timezone_groups() method in each admin email class.
Templates
Each email has HTML and plain-text templates:
| HTML Template | Plain Template | |
|---|---|---|
| Admin New Appointment | emails/admin-new-appointment.php | emails/plain/admin-new-appointment.php |
| Admin Cancelled | emails/admin-appointment-cancelled.php | emails/plain/admin-appointment-cancelled.php |
| Admin Rescheduled | emails/admin-appointment-rescheduled.php | emails/plain/admin-appointment-rescheduled.php |
| Customer Confirmed | emails/customer-appointment-confirmed.php | emails/plain/customer-appointment-confirmed.php |
| Customer Cancelled | emails/customer-appointment-cancelled.php | emails/plain/customer-appointment-cancelled.php |
| Customer Reminder | emails/customer-appointment-reminder.php | emails/plain/customer-appointment-reminder.php |
| Customer Follow-up | emails/customer-appointment-follow-up.php | emails/plain/customer-appointment-follow-up.php |
Customize
Override Templates
Copy templates to your theme to customize the HTML structure:
yourtheme/woocommerce/appointments/emails/admin-new-appointment.php
yourtheme/woocommerce/appointments/emails/plain/admin-new-appointment.php
Email Preview
The plugin includes an email preview system (WC_Appointments_Email_Preview) that lets you preview appointment emails directly from the WooCommerce email settings screen without sending a real email.
Useful Hooks
woocommerce_email_subject_admin_new_appointment— Filter the New Appointment subjectwoocommerce_email_heading_admin_new_appointment— Filter the New Appointment headingwoocommerce_email_recipient_admin_new_appointment— Filter recipients (staff are auto-added)woocommerce_email_reminder_recipients— Filter reminder email recipientswoocommerce_email_follow_up_recipients— Filter follow-up email recipientswoocommerce_appointments_emails_ics— Filter which email IDs get ICS attachmentswoocommerce_appointments_email_actions— Filter transactional email action hooks
ICS Attachments
ICS calendar files are automatically attached to these emails: admin_new_appointment, admin_appointment_rescheduled, appointment_confirmed, appointment_reminder, customer_processing_order, customer_completed_order. Customize via the woocommerce_appointments_emails_ics filter.