Back to the posts
Custom platforms

The booking form that cannot know the price yet

Wash and fold, lawn care, boiler inspections: whole trades price the job after they have seen it. Here is how a booking flow handles that without anybody chasing an invoice.

AhmadAugust 2, 20266 min read
Screenshot from the project this post is written about: The booking form that cannot know the price yet

A problem that looks like a payments problem

A customer wants their laundry collected. You cannot tell them what it costs, because the price is per pound and the bag is still in their hallway.

Every booking product in that category wants a price at checkout. So the owner does what owners do: takes a card number over the phone, or sends an invoice afterwards and spends Thursday chasing it. The software did not break. It just asked a question the business cannot answer yet.

This is not a laundry problem. Lawn care prices by the property. Boiler work prices after the inspection. Cleaning prices after somebody has seen the house. In every one of those trades, the moment of booking and the moment of pricing are different moments, and most software assumes they are the same one.

What the flow looks like when it fits

Two stages, and the customer only notices the first.

Stage one, at booking. A fixed, honest amount is taken: the collection fee, the call out, the deposit. The customer knows exactly what they have paid and why. The job is now real, on a route, with a slot.

Stage two, after the work is measured. The balance is captured against the same authorisation. No second phone call, no invoice, no chasing. The customer gets a receipt that shows both parts.

In the console behind it, every transaction carries its stage. That matters more than it sounds: when you look at the books three months later, you can tell the difference between money taken for booking a job and money taken for doing it. A single lump per order hides that, and it is exactly the number an accountant asks for.

The things that go wrong if you skip a detail

Authorisations expire. A card authorisation does not live forever. If the gap between booking and completion can be longer than the window, you need a stored payment method rather than a held authorisation, and the flow has to say so at booking.

The balance can be zero, or negative. Somebody cancels. Somebody sends half the bag. The stage two step has to handle nothing to take, and a refund path, without a person deciding it each time.

Failures need a route back to a human. A declined stage two is not a software error, it is a conversation. The system's job is to flag it on the board with the order attached, not to retry silently and hope.

What changed for the business

The owner stopped answering the phone to take bookings. That was the point of the build, and it is the sentence worth borrowing when you are deciding whether to do it yourself.

The platform now runs the whole operation: an orders board, an assignment queue, service areas drawn as real coverage rather than a radius, drivers and a driver portal, communications, promo codes, pickup queues, inventory and reports, all with role based access so the person in the van sees the run and the owner sees the business.

If your trade works this way

You do not need all of that on day one. You need the booking flow and the two stages. Everything else can wait until the phone has stopped ringing at seven in the evening.

If your trade is home services or laundry, the pages for home services and laundry and dry cleaning go through this in the language of those businesses. If you are weighing a build at all, custom platforms covers what one costs and how it runs.

PaymentsBookingHome services
Ready to Start?

Tell me what keeps going wrong

The order taken by phone, the spreadsheet nobody trusts, the site you cannot update. Describe it in your own words and you will get a straight answer about whether it is worth building.