Skip to content
All projects

LiveAppointment scheduling1-minute read

Salon Booking

Customers book a genuinely free time in a minute, and the salon runs its day from one calendar.

Built with
  • Laravel
  • PHP 8.3
  • MySQL 8
  • Tailwind CSS
  • Alpine.js
  • Playwright
Salon Booking: the public booking site in front of the business calendar, shown with fictional demo data

Problem

Appointments lived in chat threads, so double bookings and missed requests were easy.

Solution

Customers choose a service, a specialist and a genuinely free time without creating an account. The salon team manages bookings, schedules, pricing, staff, customers and branch availability from one dashboard.

My contribution

Product design, full-stack build and deployment.

Key features

  • Real-time booking and availability
  • Staff schedules, services and pricing
  • Multiple branches, walk-ins and waitlist
  • Responsive business dashboard

Outcome

Every time slot is re-checked by the server at confirmation, and the salon keeps its own booking page and customer list.

Live project. The salon, team and bookings shown are fictional demo data, cleared every night.

Technical details and full write-upArchitecture, security, testing and decisions, for readers who want the detail.

Overview

Customers can select services, specialists, and real-time availability without creating an account, while salon teams manage bookings, schedules, pricing, employees, customers, and branch availability from one dashboard.

The salon owns the booking page, the brand and the customer list: there is no marketplace in between. Every time a customer sees is checked again by the server, under a lock, at the moment they confirm, so two people can never book the same specialist at the same time.

Areas
  • Appointment booking
  • Scheduling engine
  • Salons and barbershops
  • Front desk
  • Arabic & English

Key features

  • Real-time booking and availability
  • Arabic & English
  • Staff scheduling
  • Staff-specific services and pricing
  • Multi-branch support
  • Walk-ins and waitlist
  • Customer booking management
  • Responsive business dashboard

Selected interface

Screens from the live project. The salon, its team, customers and bookings are fictional demo data.

Technology

Server-rendered and conventional, with automated tests that include real parallel attempts to book the same last slot.

Stack
  • Laravel 13
  • PHP 8.3
  • MySQL 8
  • Blade
  • Alpine.js
  • Tailwind CSS 4
  • Vite
  • Queue workers (Supervisor)
  • Scheduled jobs (cron)
  • Nginx + PHP-FPM on a Linux VPS
  • PHPUnit and Playwright tests