Booking confirmations went from two days to under five minutes, with no double-bookings since launch.
A business running its schedule on phone calls, email and a shared spreadsheet now confirms bookings automatically across every staff calendar.
- Fixed scope · 5 weeks
- 2025
- Field services
- Automation, Web app

The situation
Every booking went through a person. A customer called or emailed, someone checked a spreadsheet, then checked two or three staff calendars, then called back — often the next day, sometimes the day after that.
Two things followed from that. Customers waited one to two days to find out whether they had a slot, and some of them booked elsewhere in the meantime. And because availability lived in a spreadsheet that was always slightly out of date, double-bookings happened roughly once a week, each one costing a wasted trip and an apology.
The owner estimated the coordination itself was eating about fifteen hours a week of staff time that was not doing the actual work of the business.
What we built
An automated path from an inbound request to a confirmed appointment.
Requests arrive from a customer-facing booking form or from email and are parsed into a structured request. The system checks real availability across every staff calendar and the CRM, matches the work to whoever can actually do it, writes the appointment into the right calendar, and sends the customer a confirmation. When nothing fits, it offers the nearest alternatives instead of failing silently.
There is no longer a second copy of the schedule anywhere. That is the whole reason the double-bookings stopped.
What we deliberately left out
No payments in v1. Taking deposits at booking was discussed and cut. It added a payment provider, a refund policy and a support burden to a five-week build whose whole point was to stop the double-bookings. It stayed on the "later" list with a note on what it would cost.
No mobile app. Staff already live in their calendar app. Writing appointments into the calendar they already use beat building somewhere new for them to look.
No rewrite of the CRM. We integrated with the one they had, including the parts of it nobody likes. Replacing it would have been a different project with a different budget.
The result
Confirmation time dropped from one to two days to under five minutes. Double-bookings stopped entirely — there is no longer a copy of the schedule that can drift out of date. The roughly fifteen hours a week that went into coordination went back into the work the business actually sells.
Built with
- n8n
- Node.js
- Next.js
- PostgreSQL
- Google Calendar API
Have something like this?
Tell me what the problem is on a 30-minute call. If it's a fit, discovery starts with a written scope and a fixed number — not an estimate that moves.