Case study · Salons & spas
A full diary, and fewer empty chairs
A startup set out to give independent salons and spas the online booking that chains already had. This is how we built a SaaS product where each salon gets its own branded booking page, takes deposits and fills cancelled slots automatically.
Project overview
A booking product sold to thousands of small businesses.
- Industry
- Salons & spas
- Client
- Confidential
- Solution
- Booking and payments SaaS
- Platform
- Next.js and .NET on Azure
- Timeline
- 24–30 weeks
- Team
- 6 people
- Tenancy
- Multi-tenant, branded per salon
- Payments
- Deposits and card on file
- Channels
- Web, Instagram and Google booking links
Expected business outcomes
What the client set out to achieve
Salon owners judge the product by the diary, so the targets were set on bookings and no-shows.
-
30–50%
Fewer no-shows
Deposits and reminders make a booking a commitment.
Target range for salons that switch on deposits
-
40–60%
Of bookings made online
Clients book from the salon's own page, at any hour.
Target range after three months on the product
-
Under 10 minutes
To set up a salon
Services, staff and hours entered through a guided setup.
Target for a salon with up to ten staff
Business challenges
Where the client started
Independent salons took bookings by phone and lost them the same way.
Bookings
A paper diary, and calls that went unanswered during treatments.
No-shows
Empty slots with no deposit and no way to refill them.
Marketplaces
Booking marketplaces that charged commission and owned the client.
Staff
Stylists with different services, prices and working hours.
Brand
Salons that wanted their own name on the page, not a platform's.
Proposed solution
What the product covers
Every salon gets the same engine under its own brand.
-
Branded booking page
Each salon's own address, colours and services.
-
Staff diaries
Services, durations and working patterns per person.
-
Deposits and payments
Card on file, deposits and cancellation rules set by the salon.
-
Reminders and waitlist
Text reminders, and cancelled slots offered to the waitlist.
-
Client marketing
Rebooking prompts and offers to clients who have not returned.
-
Plans and billing
Monthly plans by number of staff, with a free trial.
Project requirements
What the client asked us for
The request was online booking for independents. What made it a business was brand and ownership: the salon keeps its clients and its name, and pays a flat monthly fee.
Setup time was treated as a feature. A salon owner sets the product up between clients, so every screen in onboarding had to earn its place.
What the project had to deliver
- 01The salon's brand, not the platform's
- 02Deposits that reduce no-shows
- 03Setup in minutes
- 04A flat monthly price
Key challenges & considerations
What made it harder, and what we did
-
Services that need several staff or rooms at once
What we did
The availability engine was built to book staff, rooms and equipment together, and tested against real salon diaries.
-
Payment rules that differ by country
What we did
Payment rules were held per country, with deposits and refunds handled by the payment provider's regulated service.
-
Owners setting up on a phone between clients
What we did
The whole setup was designed for a phone first, and timed with real owners until it took under ten minutes.
-
Peak booking times when every salon is busy at once
What we did
The booking engine was load-tested at several times the busiest expected hour before launch.
What we watched for
- Treat setup time as a feature
- Get availability rules right first
- Let the salon own its clients
- Load test for Friday evening
Development process
The diary first, then everything around it
Pilot salons used the product from the first month.
-
Discovery
Time in salons, mapping how a diary really fills and empties.
-
Booking engine
Availability rules for staff, rooms and services.
-
Payments
Deposits, card on file and refunds.
-
Branded pages and onboarding
Each salon's page and the guided setup.
-
Reminders and marketing
Texts, waitlist and rebooking prompts.
-
Launch
Pilot salons first, then open sign-up.
Technology stack
One engine, thousands of front doors
A shared platform, with each salon's page served under its own brand.
Front end
- Next.js
- TypeScript
- Themed booking pages
Back end
- .NET
- Azure SQL
- Azure
Payments
- Stripe Connect
- Deposits and refunds
- Payouts per salon
Platform
- Text and email messaging
- Automated tests
- CI/CD
- Monitoring
Quality assurance & deployment
Tested as a product many customers share
A SaaS product is one codebase serving every customer, so a defect reaches all of them at once. Tenant isolation, billing and upgrades were tested as deliberately as the features.
- Automated unit and API tests, run on every change
- Tenant isolation tests: one customer can never see another's data
- Billing, plan and permission scenarios tested end to end
- Code review by a second engineer before anything was merged
- Load tests at the expected number of tenants and users
Deployment
- 01Reminders and marketingTexts, waitlist and rebooking prompts.
- 02LaunchPilot salons first, then open sign-up.
- 03Releases without downtimeUpdates shipped behind feature flags, with database changes that can be rolled back.
- 04Monitoring and warrantyUptime, errors and usage per tenant monitored from day one, and six months of free bug fixing.
Final deliverables
Booked while the salon is closed
Clients book on the salon's own page at any hour, pay a deposit and get a reminder. A cancelled slot is offered to the waitlist before the owner notices it.
The client has a product it can sell at a flat price, with payments and payouts handled for every salon on the platform.
- A branded page for every salon
- Deposits and card on file
- Waitlist that refills cancellations
- Setup in minutes
Handed over to the client
- 01Production SaaS platformMulti-tenant, deployed and monitored
- 02Source codeIn a repository the client can access
- 03Billing and admin consolePlans, tenants and permissions
- 04Test suite and pipelineIncluding tenant isolation tests
- 05Six-month warrantyFree bug fixing after delivery
Success metrics
How success is measured
| Measure | Outcome | How it is measured |
|---|---|---|
| Fewer no-shows | 30–50% | Target range for salons that switch on deposits |
| Of bookings made online | 40–60% | Target range after three months on the product |
| To set up a salon | Under 10 minutes | Target for a salon with up to ten staff |
Verified reviews
What clients say about our SaaS development work
Verified reviews from our clients on the same kind of work, published on Clutch.
-
Web Development
Custom Web Development for a Software Solutions Company
We can rely on them to handle almost any task with confidence, as they consistently deliver good results.
Verified review on Clutch (Casper Hougaard Jensen, opens in a new tab)
Casper Hougaard Jensen
CEO & Co-Founder, Iterator IT Jul 2021 – Sep 2022
-
Web Development
Web & Mobile App Development for a Software Development Company
They efficiently organized tasks and deliverables while promptly addressing questions.
Verified review on Clutch (Damien Retzinger, opens in a new tab)
Damien Retzinger
Founder, Graycore Jun 2021 – Feb 2023
-
Web Development
Website Development for a Software Engineering Company
They have a broad understanding of different technologies.
Eugene Bosikov CEO, Ezibeline LLC Mar 2022 – Ongoing Verified review on Clutch (Eugene Bosikov, opens in a new tab)
Free discovery call
Have an idea? Let's turn it into AI-powered software.
Book a free discovery call with our experts. Share your idea and we will help you shape the scope, timeline and budget, under NDA.
- Free consultation
- NDA before we talk
- Transparent estimate




