-
Notifications
You must be signed in to change notification settings - Fork 0
Notifications
Tom Caswell edited this page Apr 1, 2026
·
1 revision
The plugin sends email and SMS notifications for booking confirmations, reminders, and cancellations.
| Field | Description |
|---|---|
| From Name | Sender name (defaults to site name) |
| From Email | Sender email (defaults to admin email) |
| Confirmation Subject | Subject line for booking confirmations |
| Confirmation Body | Body text (supports placeholders) |
| Reminder Subject | Subject line for reminders |
| Reminder Body | Body text (supports placeholders) |
HTML email templates are in templates/:
-
email-confirmation.php— Styled confirmation with appointment details -
email-reminder.php— Styled reminder with appointment details
Both templates receive the $booking object and $content (interpolated body text from settings).
The admin (WordPress admin email) automatically receives:
- A copy of every booking confirmation email
- Cancellation notifications with client details
| Field | Description |
|---|---|
| Account SID | Twilio Account SID |
| Auth Token | Encrypted on save |
| From Phone Number | Twilio phone number (E.164 format, e.g. +15005550006) |
| Confirmation Template | SMS text for confirmations |
| Reminder Template | SMS text for reminders |
| Field | Description |
|---|---|
| Notify Owner on New Booking | Toggle SMS alerts for new bookings |
| Owner Phone Number | Phone to receive alerts |
Owner receives SMS for:
- New bookings
- Cancellations
Available in email and SMS templates:
| Placeholder | Value |
|---|---|
{name} |
Client name |
{email} |
Client email |
{phone} |
Client phone |
{date} |
Full date (e.g. "Monday, March 15, 2026") |
{time} |
Start time (e.g. "2:00 PM") |
{end_time} |
End time |
{duration} |
Session length (e.g. "60 minutes") |
{timezone} |
WordPress timezone |
{site_name} |
Business name / site name |
{site_url} |
Site URL |
Reminders are sent via WP-Cron with two mechanisms:
-
Per-booking events:
wp_schedule_single_event()fires at the exact reminder time - Hourly sweep: Catches any missed reminders
Both use transient flags (caswell_reminder_sent_{id}) to prevent double-sends.
Configure in Settings → Scheduling:
- Reminder Timing: Hours before appointment (default: 24)
- Enable Email Reminders: Toggle
- Enable SMS Reminders: Toggle
Getting started
How it works
- Architecture
- Database Schema
- Scheduling
- Google Calendar
- Notifications
- Email Deliverability
- Authentication
- AJAX Endpoints
Payments
Other