DevsWizard
Custom applications

Replacing a spreadsheet with a booking system for a physiotherapy clinic

Confidential client·United Kingdom·2025·9 weeks
Replacing a spreadsheet with a booking system for a physiotherapy clinic
9 hrs/week
Admin time saved
measured across three staff
−72%
Phone bookings
patients now book themselves
−28%
No-shows
automated SMS reminders

The challenge

Meadow Clinic runs three physiotherapists out of one location in the north of England. A good practice with loyal patients, and a booking system held together by a single shared spreadsheet and a phone that rang all day.

Every appointment was entered by hand. Two people editing the same sheet would overwrite each other. Double-bookings happened often enough that the front desk had started keeping a paper backup — a spreadsheet to check the spreadsheet.

The phone rang forty times a day, and most of it was people wanting a slot we could have just shown them. We were paying a receptionist to read a spreadsheet out loud.

The real cost was attention, not hours

The spreadsheet did technically work. What it cost was focus. Every call pulled a clinician or the front desk away from a patient in the room. The clinic did not need software to save minutes — it needed to stop having the same interruption forty times a day.

What we did

The obvious answer is an off-the-shelf booking SaaS. There are a dozen of them, they are cheap, and for most clinics they are the right call. We looked at them seriously before building anything, and they could not model the one rule that mattered most to Meadow.

Certain treatments cannot be booked until the patient has had an initial assessment. It is a clinical requirement, not a preference — a new patient must be seen and assessed before they can book, say, a course of manual therapy. Every off-the-shelf tool we tried treats appointment types as independent: any patient can book any slot. None of them could express "this appointment type is only available once that other one has happened, for this specific patient."

We could have bent the clinic's process to fit the software. We did not, because the process is there for a good reason. So we built a booking system around that dependency:

  • Appointment types carry prerequisites. The public booking page only offers a treatment once the patient's record shows the required assessment is done.
  • New patients are routed to assessment slots automatically — they never see the treatment calendar until they are eligible for it.
  • Automated SMS reminders through Twilio, with a one-tap reschedule link instead of a phone call.
  • Online payment and deposits through Stripe, to cut the no-shows that were costing clinical time.

Why the dependency was worth building for

This is the whole point of custom over off-the-shelf. Ninety percent of a booking system is a commodity — anyone can sell you a calendar. The last ten percent was the rule that kept Meadow clinically safe and stopped patients booking treatments they were not ready for. That ten percent was the only reason to build.

The result

The spreadsheet is gone. Across the three staff, the system gave back around nine hours a week that used to go into manual scheduling and reading the calendar down the phone. Phone bookings dropped 72% — patients now book themselves, and the ones who call are the ones who genuinely need a person. No-shows fell 28%, which we attribute mostly to the automated SMS reminders.

We were honest about the trade-off: a custom build costs more up front than a monthly SaaS subscription, and it is theirs to maintain. For a three-person clinic that is a real consideration. It paid off here because the assessment-dependency rule genuinely could not be bought — but we told them plainly that if that rule had not existed, we would have pointed them at an off-the-shelf tool and saved them the money.

Tech stack

Next.jsNode.jsPostgreSQLStripeTwilio
The phone used to ring forty times a day. Now it rings when someone actually needs us.
James T.· Practice Manager· via Direct

Got a similar problem?

Tell us about it. We will tell you honestly whether we are the right team, what it would cost, and how long it would take.