Interactive demo
A booking calendar that knows which bay the job needs
A detailing chain’s booking page: pick full body PPF and half the week turns red; switch to a wash-bay job and the same day is free again — because the two jobs do not occupy the same thing. And a full day is not a dead end, it is a waitlist.
- 01
Pick a service. The calendar redraws — a three-day job and a half-day job do not see the same week.
- 02
Click a full day. It names the resource that ran out and the next date that can take the job.
- 03
Join the waitlist. You are second in line.
- 04
Someone cancels; the slot comes down the list and is held for you for ten minutes.
- 05
Pay the deposit to lock it. The percentage belongs to that service, not to the whole shop.
The problem
A PPF and ceramic coating chain with three studios. The website has a booking plugin: pick a date, pick a service, submit. The trouble is the plugin only knows how many jobs a day can hold. What the studio actually runs on is different: full body PPF takes one indoor bay for three days running and a certified installer; a premium detail is half a day in a wash bay. On the same Wednesday the PPF will not fit and the detail absolutely will — and the plugin cannot express that difference. So the manager turned the calendar off and replaced it with “send us a request, we will call to confirm”. Every booking became a phone call, and customers spent the two days waiting for that call going somewhere else.
What we built
We put the studio’s real constraints into the site: how many indoor bays, how many wash bays, how many certified installers, and what each service occupies for how long. Every square on the calendar is computed from that, so changing the service redraws the whole week. Click a full day and it says what is full — bays 4 of 4, certified technicians 8 of 8 — and when the next opening is, because **a bare “fully booked” is the point where visitors leave**. The deposit follows the service too: three days of work ties up a bay and needs film ordered, so it takes 20%; a same-day detail takes nothing. And a full day is not the end of the conversation — it is a waitlist. When someone cancels, the slot comes down the list and is held for ten minutes.
Try it yourself
- The demo walks itself to “August 26 cannot take this job”.
- Switch the service to Premium detail and watch the 26th go green — what was full that day is the indoor bays; the wash bay was empty all along.
- Change the vehicle to the Range Rover. The total and the deposit both move, because film and labour are priced off panel area.
- Run the waitlist: join, press the button marked Demo to simulate a cancellation, claim the slot, pay the deposit.
Who this suits
Any business where whether you can take the job depends on what is free in the building that day: workshops, salons, dental, studios, equipment hire, venues. The test is simple — if your online bookings all end in a confirmation phone call, it is because the calendar does not know your rules.
Built on
- WordPress
- WooCommerce
The catalogue, accounts, cart and enquiry handling are standard WordPress and WooCommerce, running on hosting you own. Only the part that is specific to your business gets written from scratch.