Skip to main content

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 IDClassTypeTimezone-Aware
admin_new_appointmentWC_Email_Admin_New_AppointmentAdmin✅ (since 5.2.0)
admin_appointment_cancelledWC_Email_Admin_Appointment_CancelledAdmin✅ (since 5.2.0)
admin_appointment_rescheduledWC_Email_Admin_Appointment_RescheduledAdmin✅ (since 5.2.0)
appointment_confirmedWC_Email_Appointment_ConfirmedCustomerUses customer TZ
appointment_cancelledWC_Email_Appointment_CancelledCustomerUses customer TZ
appointment_reminderWC_Email_Appointment_ReminderCustomerUses customer TZ
appointment_follow_upWC_Email_Appointment_Follow_UpCustomerUses 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:

EmailHTML TemplatePlain Template
Admin New Appointmentemails/admin-new-appointment.phpemails/plain/admin-new-appointment.php
Admin Cancelledemails/admin-appointment-cancelled.phpemails/plain/admin-appointment-cancelled.php
Admin Rescheduledemails/admin-appointment-rescheduled.phpemails/plain/admin-appointment-rescheduled.php
Customer Confirmedemails/customer-appointment-confirmed.phpemails/plain/customer-appointment-confirmed.php
Customer Cancelledemails/customer-appointment-cancelled.phpemails/plain/customer-appointment-cancelled.php
Customer Reminderemails/customer-appointment-reminder.phpemails/plain/customer-appointment-reminder.php
Customer Follow-upemails/customer-appointment-follow-up.phpemails/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 subject
  • woocommerce_email_heading_admin_new_appointment — Filter the New Appointment heading
  • woocommerce_email_recipient_admin_new_appointment — Filter recipients (staff are auto-added)
  • woocommerce_email_reminder_recipients — Filter reminder email recipients
  • woocommerce_email_follow_up_recipients — Filter follow-up email recipients
  • woocommerce_appointments_emails_ics — Filter which email IDs get ICS attachments
  • woocommerce_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.