Cobalt Physio · 2024
Online booking for a physiotherapy clinic network
Twelve clinics took bookings by phone, and front desks spent three hours a day on the line. We built online booking that respects clinician rules and syncs with their practice software.
- Client
- Cobalt Physio
- Year
- 2024
- Role
- Product engineering, full stack
- Duration
- 5 months
- Services
- Web app
- API integration
- Accessibility
The problem
Cobalt runs twelve physiotherapy clinics with 64 clinicians. Every appointment was booked by phone or email, then typed into a practice management system that had no public booking page. Front desk staff estimated three hours a day per clinic on the phone, and calls peaked at 8 a.m. when patients rang before work. About 14% of calls went unanswered at peak.
Off-the-shelf booking widgets had been trialled twice and dropped. Neither understood the clinic rules: initial assessments need 45 minutes with a senior clinician, follow-ups 30 minutes with anyone on the patient's case, and some clinicians only treat certain insurers. Double bookings from the second trial were still remembered with some feeling by the front desk team.
Process
- 01
Rules as data, not code
We sat with front desks in three clinics for two days and wrote down every rule they applied in their heads. We modelled appointment types, clinician skills and insurer eligibility as tables in Postgres, editable from an admin screen. That cost us two extra weeks up front but meant the clinic manager, not a developer, changes rules when a new clinician starts.
- 02
Sync without double bookings
The practice system's API was slow and had no webhooks, so we could not query it live per page view. We mirrored availability into Postgres every 60 seconds and held a slot with a short-lived lock while the patient completed the form. On submit we wrote to the practice system first and only confirmed once it accepted. Conflicts fall back to a callback request.
- 03
Accessible for every patient
Many patients are older or arrive in pain, often on a phone. We tested with screen readers and with five patients recruited at reception, and kept the flow to four screens with large tap targets. The calendar is a plain list of days and times rather than a grid, which tested faster and passes WCAG 2.2 AA without workarounds.
Selected images
Our reception teams got their mornings back. The rules screen is the part I use most: when a new clinician joins, I set them up in five minutes.
Outcome
Online booking went live clinic by clinic over six weeks. Six months in, 58% of all appointments are booked online, a third of them outside opening hours. Phone time per clinic fell from three hours a day to under one, and there has not been a single double booking caused by the system.
- 58%
- of appointments booked online
- −2.1 h
- daily phone time per clinic
- 0
- double bookings since launch
Keep reading
All work