White-label booking where the shop keeps its customers
Most barber booking apps tie the customer to the individual barber, so when a barber leaves, the client book walks out with them. We designed a platform that turns that around.
At a glance
- 1
database per shop, never shared
- 0
booking fees taken by the platform
- 15
build steps across 4 phases
- 1
day target to stand up a new shop
The challenge
Shop owners spend years building a client book, and the apps they use quietly hand it to whoever cuts the hair. Barbers, meanwhile, want to set their own prices and be paid directly.
Both can be true at once. The customer belongs to the shop, and the barber is the merchant of record for their own work.
Architecture
Swipe to explore the diagram
Each shop gets its own app and database. Payments go straight to the barber's connected account, and nothing about one shop can leak into another.
What we built
The product
- Businesses, locations, barbers, services and availability, with customer accounts that belong to the shop
- A booking flow, a barber PWA and shop admin
- A walk-in virtual queue, and in-shop Tap to Pay
- SMS reminders and blasts on a metered dashboard, with consent captured at signup
The platform
- A fleet of white-label instances: one container app and one database per shop business, and no shared multi-tenant runtime
- Locations in the schema from day one, for owners who open a second shop
- Per-shop payment and SMS keys in Key Vault through managed identity, with OIDC deploys
Engineering decisions
Isolation by topology
There's no tenant filter to get wrong because there's no shared database. Offboarding a shop means handing over or deleting its database.
Direct charges, no cut
Payments go to the barber's own connected account. The shop is the data controller and the platform is its processor.
A web app, not an app store
Clients already book through web links, and the incumbents' own store apps have very few ratings. A PWA meets them where they are.
Two barbers, one customer
Claiming the head of the walk-in queue is a single locked transaction, so two barbers can never call the same person.
Outcome
The first shop's site is live on our static estate, and the booking platform is designed through payments, isolation and queue concurrency, ready to stamp out a shop at a time.