Booking & scheduling
Booking Software — Online Booking & Job Triage
Online booking for a service business: the customer books the job and scopes it in the same breath, and the office gets a board where every booking arrives already sorted and prioritised.
Concept demo Customer booking Office board Placeholder pricing
This one is a concept demo, not a product in service with a client. It is fully working software — the booking form, the pricing logic and the office board all run — but no business is using it yet, and it is shown here with an electrical contractor as the sample trade.
The prices shown throughout are placeholders. They were not modelled on any real company's rate card.
See it work
The problem
Most service businesses don't really have booking — they have a contact form that asks for a name, a phone number, an email and a message, and nothing else. That tells the office almost nothing about what's actually wrong, so every booking gets the same amount of urgency until someone calls back and asks.
That guesswork cuts both ways. A routine job can get treated like an emergency, and a real emergency can sit in the same queue as everything else because the customer, not knowing any better, booked it as "whenever's fine."
What it does
- Customer booking form (/)
- The customer picks a service and answers a few scoping questions, then gets an instant confirmation with a priority, a ballpark price range and a callback window.
- Office board (/office)
- An internal board sorted New / Quoted / Scheduled / Complete, with emergencies always shown first.
- Why this beats a contact form (/why)
- A straight before-and-after against the four-field contact form most service businesses are using instead of booking software.
The moment that sells it: choose Electrical Repairs, tick "Burning smell or scorch marks," and leave urgency on Flexible — the customer never said this was urgent. The booking overrides them anyway: Emergency, callback within 1 hour, with the reasoning printed right underneath, because safety beats what the customer guessed. Set the town to "Somewhere else" and out-of-area gets caught at the point of booking, instead of after a day of phone tag.
How it's built
The business logic that drives all of it lives in two plain files. lib/catalog.js holds the service lines, price bands, towns served, symptoms and crews. lib/triage.js holds the priority weights, what a photo does to the score, and the response windows. Change a number in either file and the booking form and the board both follow it — nothing is hard-coded into the screens themselves. That is what makes it a booking system rather than one company's form: point those two files at a different trade and the same software books plumbing, HVAC or locksmith work.
What we'd do next
This stays a concept demo until a service business decides to run it. Next would be tuning the service lines, price bands and crew list to someone's real numbers, and wiring the confirmation screen to an actual text or email so a booking reaches the office without anyone watching a board.
See what this could look like for you
Every project on this site is real software, built the same way. Tell us what's slow or manual right now.