Skip to content
timaubTimothée Aubourg

Projects / Booking platform for beauty and hair salons

Web application

Booking platform for beauty and hair salons

Web application for booking appointments. The customer picks a service and a time slot.

The need

A beauty or hair salon wants its customers to book online, and wants to keep track of its appointments and customers in one place.

What I built

A web application for booking appointments. The customer picks a service and a time slot. Slots take into account the length of the service, the preparation time and the minimum notice, and a double booking is refused. The business handles its requests, its calendar, its customer records and its automatic emails from a dashboard.

Demo built for a job posting: the business, the customers and the figures are made up.

Tools
  • Next.js

Try it in the demo

  1. Book a service, then try a double booking on the same slot: it is refused.
  2. Open the business area: your request has arrived in the request inbox.
  3. Confirm it, then reload the page: the confirmation is kept.
Under the hood

What I checked

  • Slots take into account the length of the service, appointments already booked, 10 minutes of preparation and 2 hours of notice.
  • The business signs up in four steps, with no credit card.
  • Each request goes through its cycle: new, then confirmed, then attended or no-show.
  • A refusal or a cancellation frees the slot right away on the public page.

Simulated in the demo

  • The data is generated around today's date and stays in your browser: no accounts, no database, no payment, no real email sent.

The slot calculation was tested on its own: 239 slots offered over 14 days and 6 services, none outside opening hours or overlapping. Then 33 checks in Chrome, on mobile and desktop.

In pictures

The demo in screenshots

The calendar, with the requests to confirm.
The calendar, with the requests to confirm.
A customer record: their visits and history.
A customer record: their visits and history.

Tell me what you need