Working examplesBooking reminders
Booking reminders for a dog groomer
Prairie Paws Grooming is made up for this example. The code is real and open: read it or run it.
The problem
Clients call to book while the groomer’s hands are full, so calls go unanswered, and the ones who do book sometimes forget and don’t show.
What it does
- A confirmation the moment someone books online, with a link to move or cancel
- A reminder the day before and another 2 hours before, never at night
- A moved booking gets a new confirmation and new reminders; a cancelled one gets none
- The day’s schedule in the owner’s inbox every morning
The messy parts it handles
- JORDAN PRICE in capitals becomes Jordan Price; Ana.Lima@Gmial.com is fixed
- The same booking sent twice by the booking tool is confirmed once
- A 9 a.m. appointment’s 2-hour reminder would land at 7 a.m.: skipped, the day-before one already went
- A booking with no usable email goes to the owner to confirm by hand
The week, line by line
Prairie Paws Grooming
- Mon 10:12bookingJordan Price books a full groom for Wednesday 2:00 PM
- Mon 10:12customerConfirmation to Jordan, with a link to move or cancel
- Mon 10:12ownerNew booking: Jordan Price
- Mon 21:40bookingAna Lima books a nail trim for Thursday 9:00 AM
- Mon 21:40customerConfirmation to ana.lima@gmail.com (the typo fixed)
- Tue 14:00customerSee you tomorrow: reminder to Jordan
- Tue 16:05movedJordan moves to Thursday 11:00 AM
- Tue 16:05customerMoved: a new confirmation; the old reminders are dropped
- Wed 09:00customerSee you tomorrow: reminder to Ana
- Wed 11:00customerSee you tomorrow: reminder to Jordan, for the new time
- Thu 07:00ownerToday: 2 appointments
- Thu 07:00skippedAna’s 2-hour reminder would land at 7 a.m.: skipped
- Thu 09:00customerIn 2 hours: last reminder to Jordan
npm run demo), word for word.- 2bookings
- 1moved
- 3confirmations
- 4reminders
- 1morning schedule
- 0reminders at night
Speed: 5,000 bookings confirmed and checked for reminders in 1.4 seconds on a desktop PC (npm run bench). A small business’s whole year fits in under a second.
For your business
Most booking tools (Square, Acuity, Vagaro) have confirmations and reminders built in: those are switched on and set up first. This runs where they don’t, from the booking tool’s webhook.
More examples
- Lead follow-up for a plumberA plumber on a job can’t answer email or the website form. Inquiries sit for hours, and the customer books the next plumber on Google.
- Invoice reminders for a cleaning companyInvoices go out, a few go quiet, and chasing them is awkward and easy to forget. Money sits unpaid for weeks.
- Review requests for a salonHappy clients mean to leave a review and forget, and asking in person feels awkward.