Built on Y Build Go from prompt to a deployed app on your own domain — no server. Start free
BuildShipCompareThe LabAbout Start building →
ybuild / Scenarios

Build a Booking App for Your Salon

A salon lives and dies by the chair calendar. Nearly half of client bookings happen after hours, first-timers who book online return roughly twice as often as walk-ins, and yet most salons still run the day out of a paper book, Instagram DMs, and a phone that rings in the middle of a color service. Describe your salon to ybuild in plain English and it turns that prompt into a running booking system, hosted on your own domain, that fills chairs while you are cutting hair.

The problem

What you’d build

Your own booking page

A branded page on yoursalon.com where clients pick a service and stylist and see only the slots that truly fit that service's length, not just any 30-minute gap. The slot locks the instant they start checkout, so no two people grab the same 2pm while one of them is still typing in their phone number. Colors, logo, and service menu are yours, and the client list that comes with it is yours too.

The chair calendar

A day view with one column per stylist showing every appointment, color-processing gap, lunch, and day off. Front desk drags to reschedule, drops walk-ins and phone bookings straight onto a column, and never double-books a chair by accident because every channel writes to the same calendar in real time.

Deposits and reminders

A card is captured at booking and held on file, an automated confirmation fires immediately and a reminder goes out 24 hours before by SMS and email, and no-shows are charged per your policy so the revenue that used to walk out the door stops leaking. The deposit is applied to the final bill the moment the client actually shows up.

The data model

clients
client_id, name, phone, email, formula_notes, allergy_flag, tags, no_show_count, created_at
services
service_id, name, category, base_duration_min, buffer_min, price, deposit_amount, requires_patch_test
stylists
stylist_id, name, level, working_hours, days_off, service_ids, commission_rate
appointments
appt_id, client_id, stylist_id, service_id, start_at, finish_at, process_gap_min, status, source, deposit_paid
payments
payment_id, appt_id, type, amount, method, card_on_file_id, status, refunded_at

A day in the system

  1. A client lands on yoursalon.com at 10pm, picks "Balayage + cut" with Maya, and the page shows only slots where Maya has the full 3-hour block free, not just any 30-minute opening.
  2. Because they are a new color client, the flow flags that a patch test is required and offers a quick 48-hour-ahead skin-test slot before the color appointment.
  3. They pay a deposit; their card is stored for the no-show policy, and the 2pm slot locks immediately so the next visitor cannot claim it mid-form.
  4. An SMS and email confirmation fire on the spot, and a reminder is scheduled for 24 hours before the appointment.
  5. Next morning the front desk opens the day view: each stylist has a column, color-processing gaps show as reusable time, and a phone booking gets dropped straight onto Maya's column.
  6. The client arrives, the appointment is marked in-progress, and while the color develops that gap is free for Maya to start a quick blow-dry on another chair.
  7. At checkout the service is marked complete, the deposit is applied, retail and tip are added, and the balance is captured on the same card.
  8. A different client never shows; their status flips to no-show, the fee is charged per policy, and their no_show_count ticks up so the front desk sees the pattern next time.

Where AI trips up

✓ Build first
  • A branded booking page per stylist with real-time, service-aware slots and an instant slot-lock at checkout.
  • A deposit and card-on-file at booking so no-shows and late cancels are actually enforceable.
  • Automated confirmation plus a 24-hour reminder by SMS and email to cut the no-show rate.
— Skip for now
  • Full retail POS and product-stock inventory; keep using the existing till for v1 and just record product on checkout.
  • Loyalty points, memberships, and prepaid package tracking; add these once bookings and deposits are solid.
  • Payroll, commission payouts, and multi-location roll-ups; model commission_rate now, automate payslips later.

FAQ

Can clients book themselves without calling the salon?

Yes. Your booking page runs 24/7 on your own domain, which matters because close to half of salon bookings happen outside business hours. Clients pick service, stylist, and time, pay a deposit, and get an instant confirmation, all without touching the phone.

How does it stop double-booking a chair?

Every slot is checked against real-time availability and locked the moment checkout starts, so two people cannot grab the same time. It still supports intentional overlap during color processing, because that gap is modeled as reusable rather than blocked.

Can I take deposits and charge no-show fees?

Yes. A card is captured at booking and held on file. When a client no-shows or cancels inside your policy window, the fee is charged automatically, and the deposit is applied to the final bill when they do show.

Can each stylist have their own services, hours, and prices?

Yes. Services, durations, prices, working hours, and days off are set per stylist, and a junior and senior can offer the same service at different lengths and rates. The slot engine reads each person's own schedule.

What about walk-ins, phone bookings, and my own brand?

The front desk adds walk-ins and phone bookings straight onto the same chair calendar in a couple of taps, so every channel lives in one place and none double-books another, with the client record, formula notes, and no-show history right there while they are on the line. And because the app is hosted on ybuild and served on your own domain, the booking page carries your name rather than a marketplace's, and that client list is your data.

Sources

Build this for your business

Describe it, go live on your own domain in one pass — hosted, full-stack, no server. Free to start.

Start building free →
Related on ybuild
SMB back-officeretail & local shops Custom Domain HostingManaged DatabasePayments & Billing Full-Stack AppCRUD AppWeb App
Related scenarios
Build an Appointment App for Your SpaBuild a Booking App for a Dental ClinicBooking App for Tutors: Recurring Lessons, Prepaid Hours & No-Show ControlBookkeeping App for Small BusinessCRM for Law FirmsCRM for Real Estate Agents
Build your own app
Free · no card
Start free →