Confirmation email contains reference ID, service, date, time, timezone, host, and cancel link
Why it matters
Incomplete confirmation emails drive no-shows, double-bookings, and support tickets. When a customer gets an email missing the timezone, they join a 3:00 PM call at the wrong hour because they assumed their own timezone. Missing cancel links force them into account-login flows just to cancel, so they ghost instead — and the host loses the slot with no warning. A missing reference ID makes every support exchange a detective hunt. Content-integrity failures here feed directly into the no-show rate, the metric that kills booking-based businesses.
Severity rationale
High because missing fields cause wrong-hour arrivals, abandoned cancellations, and revenue-destroying no-shows at scale.
Remediation
Update your confirmation email template to render all 7 fields and pair every time with an explicit timezone string. The cancel link must be a signed, tokenized URL that works without login — not a redirect to a generic account page. Edit src/emails/confirmation-template.ts:
export function confirmationEmailTemplate(booking: Booking, host: User) {
return `
<p>Ref: ${booking.reference_id}</p>
<p>Service: ${booking.service_name}</p>
<p>When: ${formatDateTimeWithTimezone(booking.start_time, booking.timezone)}</p>
<p>Host: ${host.name}</p>
<p><a href="https://yoursite.com/bookings/${booking.id}/cancel?token=${booking.cancel_token}">Cancel</a></p>
`
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Booking Notifications & Reminders Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
Taxons
History
- 2026-04-18·v1.0.0·Initial import from booking-notifications-reminders·automated