Prompt
How do I add automated reminders to a booking flow?
Latest observation
Oct 1, 2026
OpenAI APIWeb search: off
To add automated reminders to a booking flow, you usually need 4 pieces:
-
A booking event
- Something happens when a booking is created, confirmed, rescheduled, or canceled.
-
A scheduler / job system
- This handles sending reminders at the right time, even if your app is offline.
-
A notification channel
- Email, SMS, push notification, or WhatsApp.
-
Reminder rules
- Example: send 24 hours before, 2 hours before, and 10 minutes before.
Typical flow
1) Store the booking details
When a user books, save:
- booking ID
- user contact info
- appointment time
- timezone
- status
- reminder preferences
2) Create reminder jobs
On booking creation, schedule one or more jobs, like:
appointment_time - 24happointment_time - 2happointment_time - 15m
3) Send reminders from a worker
A background worker checks due jobs and sends the notification.
4) Handle changes
If the booking is:
- rescheduled → update reminder times
- canceled → delete pending reminders
- confirmed → optionally adjust reminder cadence
Common implementation options
Option A: Cron + database table
Best if you want something simple.
- Save reminders in a
reminderstable - Run a cron every minute
- Query reminders where
send_at <= now()andsent = false - Send them and mark as sent
Pros: simple, cheap
Cons: less precise, can get messy at scale
Option B: Queue system
Best for production apps.
Use a queue like:
- Celery / Redis
- Sidekiq
- BullMQ
- RQ
- AWS SQS + Lambda
- Cloud Tasks
When booking is created, enqueue delayed jobs for reminder times.
Pros: reliable, scalable
Cons: more infrastructure
Option C: Workflow automation tools
If you use platforms like:
- Zapier
- Make
- n8n
- HubSpot workflows
You can trigger reminders without building everything yourself.
Important things to get right
- Timezone handling: schedule based on the user’s or booking location’s timezone
- Idempotency: don’t send duplicate reminders
- Cancellation/reschedule logic: update or remove pending reminders
- Retry behavior: resend if an email/SMS provider fails
- Opt-in compliance: especially for SMS/email marketing laws
- Quiet hours: avoid sending messages at odd times
- Templates: personalize with date, time, location, and cancellation links
Example reminder logic
If appointment is at 2026-10-10 15:00:
- send email reminder at
2026-10-09 15:00 - send SMS reminder at
2026-10-10 13:00 - send push notification at
2026-10-10 14:45
Minimal pseudo-flow
User books appointment
→ Save booking
→ Create reminder jobs
→ Worker waits until send time
→ Worker sends email/SMS
→ Mark reminder as sent
→ If booking changes, update/delete jobs
If you want a quick MVP
Use:
- database table for reminders
- cron job every minute
- email provider like SendGrid or Mailgun
- SMS provider like Twilio
If you want, I can show you:
- a database schema for reminders,
- a Node/Python example, or
- the best architecture for your stack.