Run the business
Customer messaging
Booking confirmations, reminders, and review requests that send themselves — from templates you edit, logged so you know what actually went out.
The problem
The no-shows and the silence after a job are both a messaging gap: nobody confirmed, nobody reminded, nobody asked for the review. Doing it by hand means it doesn't happen.
How it works
Messages are templates with {{variables}} an operator edits — booking confirmation, reminder, review request seed in ready to change. A booking sends its confirmation on the spot and queues a day-before reminder tied to that visit, so cancelling the visit withdraws it; a cron drains the queue when each is due, and a reminder that can no longer arrive on time expires instead of going out late.
Every send is written to a delivery log whatever became of it — sent, or a clean 'skipped' when no provider is configured, so a missing key degrades to a no-op instead of an exception, and the feature works before the credential exists. Wire the email and SMS senders (they're injected) and the same queue starts going out for real.
It's the layer that makes the rest of the loop feel automatic: the estimate, the booking, and the invoice each have a moment worth a message, and this sends them.
- Editable {{variable}} templates with a live delivery log
- Confirmations sent in the moment; reminders queued, retried with a limit, and withdrawn when the booking is
- Provider-agnostic email/SMS senders that log a clean skip without a key, never an exception
- Texts carry the sender's name and a STOP opt-out line automatically (US A2P 10DLC)
- Wired to bookings: a visit confirms and reminds itself
npm install @adminigloo/commsBook a callAll features