Save the messages an operator sends most often
Reduces friction on the messaging page — pick a template, customize the variables, send. Templates also power the automated messages (booking confirmations, day-of reminders, no-show follow-ups).
- Template list — grouped by category (Bookings, Door codes, Plans, Lockouts, No-shows, Marketing).
- Per-template fields — name (operator-facing), body with {{variable}} placeholders, default channel (SMS / email / both), category.
- Variables — {{customer.name}}, {{customer.phone}}, {{booking.time}}, {{booking.bay}}, {{plan.hours_remaining}}, {{club.phone}}. Substituted at send time.
- Preview — see how the message renders for a sample customer/booking before saving.
- Trigger — manual only / auto on booking confirmation / auto N hours before booking / auto on plan renewal due / auto on lockout (door code unused 30+ min after start).
- Stats — per-template send count, reply rate, opt-out rate.
- Disable + version history — pause an auto template without deleting; revert to prior version.
Backend wiring pending. GET/POST/PATCH /operator/message-templates in the live app.