Most "online booking" on small-business websites is a contact form with a date picker. The customer feels like they booked. The shop receives an email, and someone re-types the request into the real scheduling system, checks whether the slot actually exists, and calls back if it does not. Nothing about that is booking; it is messaging with extra steps.
When we rebuilt the website for an independent repair shop in Reading, PA, the owner was clear about the constraint: the counter runs on Mitchell 1, and that is not changing. So the question was never "which booking widget", it was "how do bookings end up in Mitchell 1 without a human in the middle".
Capacity is the actual product
A date picker that offers every half hour is lying. The shop has a finite number of bays and technicians, and some jobs take four hours. We modelled availability as blocks with a capacity, so the website only offers times the shop can honour. The booking stores the block it came from, which means the schedule can be reconciled later instead of guessed at.
This one decision removed most of the call-backs. Customers were no longer choosing times that did not exist.
Remember the car, not just the customer
Returning customers had to type their vehicle in every time. Now saved vehicles auto-select on the next visit, and the service history comes along with them. It is a small thing on the screen and a large thing at the counter, where the advisor already knows what was done last time.
The export is the integration
Appointments export to Mitchell 1 in one click, singly or in bulk, with duplicate protection and a visible status on each record. We deliberately kept a human able to review before export rather than pushing blindly; the shop wanted a glance, not a surprise. The result is the same: nobody re-types anything.
- Ask any vendor: where does a booking live after the customer clicks submit?
- Ask: what stops two customers from taking the same slot?
- Ask: can the front desk see, in one place, which bookings made it into the shop system?
What it cost and what it saved
The platform is a React website, a React admin panel and a Node API with more than eighty endpoints. That sounds like a lot for a repair shop, and it is exactly as much as the job needed. Phone bookings still happen, but they are the exception, and the daily dashboard replaced a paper diary.


