S
Salon Booking Platform Build progress
Updated 23 July 2026
Milestone 4 in progress

Booking and the pending list are done. The app is complete.

Three of the four milestones are delivered and running, and the fourth is under way. You can open the app in your browser right now, book a real appointment, join a pending list and cancel, and you can book a customer in yourself from the panel. What is left is the launch: push notifications on the phone and putting it on the store.

Whole project
Three of four milestones delivered
1. Backend, database and the salon panel
2. The customer app
3. Booking and the pending list
4. Arabic, notifications, launch in progress
0%
Complete
On track

Try it yourself

Both of these are live right now. The app link opens in your browser, so there is nothing to install.

The customer app

This is the app your customers use. Book an appointment, see it in your bookings, cancel it, and join a pending list for a day that is full.

Open the app

This browser version is for you to try without installing anything, so at the code step you can type any six digits. The real app on the phone sends the code by SMS.

The salon panel

What you use on a laptop. Change a price or an opening time here and the app shows it immediately.

Open the panel
Style Hubowner@stylehub.com
The Barberowner@thebarber.com
Password for bothowner1234

Two salons, so you can sign in as one and then the other and see that neither can read the other's bookings, services or customers.

Milestone 3
Booking and the pending list
Delivered
Booking
  • Pick a day. Days you are closed cannot be chosen.
  • Pick a time, split into morning, afternoon and evening. A time only appears if the whole service fits in it, so a 45 minute service never lands in a 30 minute gap.
  • Confirm and done. The customer sees the service, the length, the price and the time before they commit.
  • My bookings. Upcoming and past, with the full detail of any one of them.
  • Cancel, with your rule enforced. You set how close to the appointment a customer may still cancel, and the app will not let them past it.
  • Two people can never take the same slot. If two customers tap confirm in the same second, one gets the booking and the other is told that time was just taken and to pick another.
  • Every time is your salon's clock. Worked out on the server, never taken from the customer's phone, so a customer travelling abroad still sees the correct hour.
The pending list, your idea
  • Join a list when the day is full. The customer picks the day and whether they want morning, afternoon or evening, and sees how many people are already waiting.
  • They can see their position and leave whenever they want.
  • A cancellation goes down the queue. The first person it fits gets fifteen minutes to take it, then it moves to the next.
  • Does not fit, does not lose their place. If the free time is too short for the service they wanted, they are skipped for that one slot and stay on the list for the next.
  • Late cancellation goes to everybody at once. If the free time is too close to its own start for a queue to be worth running, everyone on that list is told together and the first to book takes it. This is the case we added after you agreed it, and it is the one that actually fills the chair.
  • One cancellation can fill two chairs. If somebody waiting on Monday already holds a Wednesday booking and takes the Monday slot, their Wednesday time is released and Wednesday's list starts moving too.
  • You see the queue in the panel, with who is on it and in what order.
Milestone 4
Arabic, notifications, launch
In progress
Already done
  • Full Arabic, right to left. Not a translation sitting in an English layout. The whole screen mirrors, and the app opens in Arabic by default.
  • A notifications list in the app, with a count of what has not been read. It is kept on the server, so a customer who missed the alert still finds out what happened when they open the app.
  • Appointment reminders, one the day before and one two hours before, sent once each.
  • Settings, and the language is remembered. The customer picks it once and the app opens that way next time.
  • Signing in sticks. Close the app and open it again and the customer is still signed in.
  • The Android app project is set up and ready to be built for the store.
  • You can book a customer in yourself. Someone walks in or calls, and you add the appointment from the panel. They do not need the app. If they install it later with the same number, that booking is already sitting in it.
  • Your business details are yours to change. Instagram, Facebook, WhatsApp and your shop photo are all editable from the settings page, and the app picks them up straight away.
Still to do
  • Push notifications arriving on the phone. Everything that decides what to send and when is built and running. Connecting it to the phone is the remaining step, and it is on my side. In the browser version the app checks for a freed slot every twenty seconds instead, which is why the pending list already works end to end.
  • Building the app for Google Play and submitting it.
  • A full testing pass once your real salon is loaded, on a real phone rather than a browser.
Milestone 2
The customer app
Delivered
Milestone 1
Backend, database, salon panel
Delivered
The salon panel
  • Dashboard. Today's appointments, who is coming next, and how many people are waiting on the pending list.
  • Appointments, by day, week or month. Move a booking to another time or cancel it. Cancelling is what frees the slot for the pending list.
  • Customers. Everyone who has booked, searchable by name or phone.
  • Services. Add, edit and remove services in English and Arabic, with a length and a price. The length is what blocks the calendar.
  • Opening hours. Set the week, mark days closed, and block out holidays.
  • Branding. Change the logo and the brand colour and watch a live preview of the app update as you type.
  • Pending list rules. The morning, afternoon and evening cut-offs, how long each person gets to take a free slot, and when to tell everyone at once instead.
Under the hood
  • One salon can never see another salon's data. This is enforced by the database itself, not by code that somebody has to remember to write. It is the single most important thing in the whole build.
  • Two people can never book the same slot. Even if they tap confirm in the same second, the database refuses the second one. An app level check cannot catch this.
  • Each salon has its own link. A QR code in the shop opens that salon directly, with its own logo and colour.
  • The whole database is built. Salons, customers, services, hours, holidays, bookings, the pending list and notifications.
  • Full API documentation, generated from the code, so it never goes out of date.

What I need from you

The app is running on sample data. This is the only thing holding up your real salon going in, and it is the last big piece before the store.

  • Salon name, logo, brand colour, and a photo of the shop
  • Phone number and address, plus WhatsApp, Instagram and Facebook if you want them in the app
  • The service list, in English and Arabic, with how long each one takes and what it costs
  • Opening and closing times for each day of the week
  • A Google Play developer account in your name, for when we submit. You can set this up whenever, it is only needed at the end.

What happens next

In this order.