The flow on one page, plus a working walkthrough you can actually drive — pick any service, any quantity, any mix, exactly like a customer would.
A customer messages your existing WhatsApp number. Tap the buttons, or type — both work.
Your team isn't watching this chat. They only get pinged when a person is actually needed — and when they are, the ping has everything they need to act:
Why the date comes after the deposit. The bot doesn't offer a day until the 50% is actually paid. No unpaid holds clogging your calendar, no crew booked out for someone who was never going to pay — and no one chasing proof of payment into an inbox. Money first, then the slot. (If you'd rather hold a slot while they pay, that's a switch we flip — how long, or whether at all, is your call.)
These prices are made up — sensible-looking figures so the walkthrough has something to quote. Your real rate card drops straight in and replaces them. The point isn't the numbers: it's that every quote is calculated from this sheet, in code. The bot can't improvise a price, and anything not on the sheet it won't quote at all.
| Item | Rate |
|---|---|
| Couches / upholstery | |
| Fabric couch — two-seater | R445 |
| Fabric couch — three-seater | R645 |
| Fabric couch — L-shape / corner | R1 195 |
| Leather couch — two-seater | R695 |
| Ottoman / footstool | R145 |
| Chairs | |
| Armchair | R245 |
| Dining chair | R145 |
| Carpets & rugs | |
| Loose rug / runner — under 6m² | R345 |
| Loose rug — over 6m² | R495 |
| Fitted carpet — per room | R395 |
| Nguni / animal hide | Not on sheet → person |
| Item | Rate |
|---|---|
| Mattresses | |
| Single | R395 |
| Double | R495 |
| Queen | R595 |
| King | R695 |
| Curtains | |
| Curtains / drapes — per panel | R195 |
| Rules applied to every quote | |
| Minimum job charge | R850 |
| Booking deposit | 50% |
| Quote validity | 30 days |
| Auto-quoted areas | Centurion · Pretoria · Midrand |
Kills the 15-minute quote grind. Everything after the quote stays with your team.
Your team still does: deposit, booking, confirmation, follow-up
Everything above, plus the money and the admin. A person keeps the scheduling call. This is what you just used.
Your team still does: confirm exact time + crew, loadshedding & access check
The booking closes itself. Only genuine exceptions reach a person.
Your team still does: exceptions only
| Step in the booking | 1. Quote Assist | 2. Booking Assist | 3. Full Auto |
|---|---|---|---|
| Guided intake (service, items, suburb) | Bot | Bot | Bot |
| Instant quote from your rate card | Bot | Bot | Bot |
| Answers after hours | Bot | Bot | Bot |
| Yoco deposit link (50%) | Your team | Bot | Bot |
| Payment detected automatically | — | Bot | Bot |
| Deposit reminder if unpaid | — | Bot | Bot |
| Offer available days | Your team | Bot | Bot |
| Confirm exact time + assign crew | Your team | Your team | Bot (live calendar) |
| Optional slot hold + auto-confirm on payment | — | — | Bot (configurable) |
| Water / electricity / access check | Your team | Your team | Bot |
| Out-of-area, odd items, complaints | Your team | Your team | Your team |
Exceptions always reach a person, in every option: out-of-area suburbs needing approval, anything without a confirmed rate, and complaints. The bot never guesses a price — it calculates from your rate card in code, or it hands over.
This is a custom build — nothing here is fixed. Everything you just walked through is how it could work, not how it must: the order of the steps, the wording of every message, when the deposit is asked for, what gets asked and what doesn't, which items go to a person — all of it is adjustable to how Plush actually runs. The point of this page is to show you what it does and how it feels for a customer. Before anything gets built, we sit down and shape the flow around your business.
A custom build for Plush Cleaning · shaped with you before anything is built.