The problem
A cleaning crew's bookings arrived over WhatsApp. The price was quoted per job from memory, travel was priced by feel, dispatch was a phone call the night before, and payment was cash on the day.
None of that scales past the number of jobs one person can hold in their head — and it makes the same three questions ('how much', 'when can you come', 'what's included') a manual reply every single time.
What we observed
Before we wrote any code.
The quote was the bottleneck, and it was mostly arithmetic: package, property size, and how far the crew has to travel. That is a formula, not a judgement call — so it belongs in the product, not in a reply.
Customers also wanted the boring reassurances before they would commit: is equipment provided, are the staff vetted, is the payment safe. Those are the first screen of the app, not a FAQ page.
What we built
An on-demand booking flow with fixed packages, distance-based transport zones so travel is priced by rule rather than by guess, wallet and ToyyibPay payment with receipts issued automatically, and an admin side for dispatching jobs to the crew.
The system is forked from the PV Events booking core, so the parts that are genuinely hard — availability, payment, invoicing — arrived already proven.
Before vs after
The same job, the old way and the new way.
Before
After
Screenshots
More like this
Related work
Build something similar
Let's build yours.
Tell us what you're planning. Free 30-minute call, a written scope and a fixed quote — we reply within one working day.