Salon and Barber Booking Manager - PHP Script icon

Salon and Barber Booking Manager - PHP Script

Go to Website
Hot or Not
Salon and Barber Booking Manager - PHP Script

Description

Salon Booking Manager runs the front desk of a hair salon or a barbershop - and just as well a beauty salon, nail studio or spa: the calendar, the customers, the money and the online bookings, on your own hosting and under your own domain. You pay for the script once. There is no monthly fee to the author, no per-staff fee and no customer list sitting on someone else's server. What you do pay for separately is the hosting and the domain name, the same as any other site you run.

The sample data that ships with it covers both sides of the trade: cut, colour, blow dry, keratin, manicure and facial next to men's cut, beard trim, hot towel shave and kids' cut. Services, categories, staff and prices are all yours to rename, so the same program fits a two-chair barbershop and a six-stylist salon.

It is written in plain PHP with a MariaDB database: no framework, no Composer, no Node, no build step. Upload the files to hosting that meets the requirements below and open the installer: it checks the requirements, asks for the database details and your administrator account, and creates the tables for you.

Built to be shown to a new receptionist

The manager's side menu has eleven screens, and reception and staff see fewer. Each screen does one thing, and the buttons say what they do rather than what they are: Approve, No-show, Ticket, Record the answer.

Judge that for yourself before you buy - the live demo is a full installation with two weeks of sample appointments behind it and two days ahead, and it resets itself every hour, so nothing you click there can break it.

What you get

Full source code, the installation wizard, database.sql, HTML documentation with English and Turkish install guides, and sample data that can be removed with one click from the data page.

Support

12 months of author support from the date of purchase, answered within two business days. Ask through the support section on this item's page - that is the channel I monitor.

Support covers faults in the software and questions about how to use what is in it.

It does not cover, and these are quoted separately as paid work: installing the program for you or moving an existing installation; configuring your server, hosting panel, PHP extensions, DNS, SSL or mail service; third-party software you connect it to; loading your own data or setting up the sample data on a live site; changes to the code, custom reports or anything built to order; and new features.

Features

The calendar you can actually read

  • Day, week and month views; one column per staff member, one colour per person
  • The day view opens on the numbers you need first: appointments, arrivals, today's revenue, opening hours
  • Free-slot picker: only the times that fit the chosen service are offered
  • An appointment that would overlap another one of the same staff member is refused; the check and the write happen in one database transaction, with the rows locked while it runs
  • Repeating appointments (weekly, every two weeks, monthly); dates already taken are skipped
  • Move an appointment to another time or staff member without losing its package or payment
  • Block time for breaks, training and days off
  • Booking rules: closed dates and date ranges, a gap between appointments, minimum notice, slot length

Booking from a phone

  • Public booking page to link from your social profile or website - service, specialist, day, free times, name, phone, done
  • It is one page; no account, no app to install, no password for the customer
  • Optional approval step; pending requests are pinned above your calendar
  • Private link per appointment: the customer can view it and cancel within your notice period
  • Showcase page with services, prices and opening hours
  • Home-screen web app (PWA) in browsers that support it: the panel's manifest asks for its own window, without the browser bar. Tried on a real Android phone (Redmi Note 10 Pro, Chrome): added from Chrome's own install prompt, it opens from its icon without the address bar and shows its own "No connection" page when offline. When nobody is signed in, the icon opens the public showcase page first; staff sign in from the link at its foot.
  • A JSON API with its own key: services, staff, working hours, free times, create and cancel appointments

Customers you can keep track of

  • Customer card: notes, visit history, remaining package sessions, balance and total spend
  • The list shows the last visit, the balance due and a WhatsApp button per customer
  • Appointment search across customer, service, staff member and appointment notes
  • Two separate consent answers are kept per customer - whether you may keep their details, and whether they want messages about offers - each with the date it was given
  • A tick on the public booking page is recorded as an unverified request, shown on the list as "Offers request to check", never as consent. A typed phone number is not proof of who typed it, so a member of staff asks the customer and records the real answer on their card.
  • Reminders: the day's list with a ready-made WhatsApp message per appointment. You tap send from your own WhatsApp - no SMS credit, no API fee, and nothing goes out behind your back.
  • Campaigns: birthday month, not seen for 60 days, new customers, package holders; e-mail in batches of 100 or ready-made WhatsApp links. A campaign goes only to customers who said yes to both consent questions.

The till, the stock and the books

  • One bill per visit: services and products together, a discount, one payment, and a printable receipt. Closing the bill takes the products out of stock.
  • Cash, card and transfer; partial payments and the balance carried on the customer's account
  • Packages and sessions: sell a multi-session package, one session is deducted per visit
  • Daily till screen: cash, card, transfer, expenses and net for the day, with every payment listed
  • Stock with low-stock warnings and a movement history
  • Reports: revenue by day, staff performance and commission, service breakdown, no-show rate, customers to win back, birthdays of the month

Made for real salons

  • Calendar feed (.ics, standard iCalendar format) per salon and per staff member, for calendar apps that can subscribe to a feed
  • Your brand colour on the panel and the public pages; your logo on the panel, the sign-in page and the booking page
  • Three roles: manager, reception, staff member. Reception works with appointments, customers and payments but not settings or reports; a staff member only sees their own appointments.
  • Automatic daily backup, 14 days kept, one-click restore, CSV export
  • English and Turkish included, each with its own date and money format. Another language takes a translated copy of one file, one line to register it and its date and money format added to one class - the manual shows how
  • Any currency

For developers

  • Business logic in app/, pages in views/, one entry point
  • Every query that carries user input is a PDO prepared statement; a CSRF token on every POST inside the panel; hashed passwords
  • Schema defined in one PHP file; the database updates itself on the first page load after an upgrade, and the stylesheet and script addresses carry a version token, so a visitor who came before the upgrade is not left looking at the old design
  • 1101 unit tests (php tests/run.php) and 413 end-to-end tests that drive the pages over HTTP (php tests/e2e.php http://localhost:8000), 31 installer tests and 82 demo tests, plus an integration suite of 273 checks that runs against a real MariaDB server. The 1.3.25 package passes every one of them, the MariaDB suite on both 10.4 and 11.4. No PHPUnit, no Composer.
  • Documented source, HTML documentation, database.sql and a command-line tool to create an administrator

What it does not do

Said plainly, so nobody buys it for the wrong job:

  • No SMS. Reminders go by WhatsApp or e-mail. There is no SMS gateway and no SMS credit to buy.
  • No automatic reminders or campaigns. Reminder and campaign messages are prepared for you; a person taps send. The e-mails the program sends by itself are the booking notices (received, approved, cancelled) and, only if you switch it on, a thank-you after a visit, checked at most once an hour.
  • No online payment or deposit. Customers book a time; they do not pay on the booking page. Payments are recorded in the panel: cash, card or transfer.
  • No app in the App Store or Google Play. The panel and the booking page are web pages laid out for phone screens, and browsers that support it can add the panel to the home screen. The panel was used on a real Android phone (Redmi Note 10 Pro, Chrome): the calendar's day, week and month views, a new appointment, a customer search and the till. The booking page has been checked at 390 px width in a desktop browser only. There is nothing to download from a store.
  • No e-invoice or fiscal integration. The receipt is an information slip, not a tax document.
  • One salon per installation. No multi-branch view. A second shop is a second install: separate data, separate staff, separate books.

Requirements

  • PHP 8.1 or newer with the pdo_mysql and mbstring extensions. PHP 8.0 cannot run it.
  • MariaDB 10.4 or newer; hosting panels usually list it under "MySQL databases".
  • Shared hosting with a control panel; no SSH, no Composer, no Node, no build step. Tested under DirectAdmin; cPanel and Plesk have not been tried.
  • Tested on PHP 8.3 with MariaDB 10.4 and 11.4. Other PHP versions and Oracle MySQL have not been tested yet.

Instructions

  1. Create a database and a database user in your hosting panel.
  2. Upload the contents of the zip to your site's folder.
  3. Open install.php in the browser: requirements, database, administrator account, done.
  4. Delete install.php from the server.
  5. Sign in and set your opening hours, services and staff.

documentation/index.html in the zip is the full manual; docs/INSTALL.md (English) and docs/KURULUM.md (Turkish) walk through the installation step by step.

Authorsemih11
CategoryScripts & Code / PHP Scripts / Booking
Price$39
Extended License$117
Likes10
First ReleaseSep 24, 2026
Last UpdateSep 29, 2026
DatabaseMariaDB 10.x, MariaDB 11.x
Files included.php, .css, .html, .sql, .md, JavaScript .js
Programming languagePHP, JavaScript

External listing. code.market does not sell this product and does not process payment for it. Pricing, payment, delivery, licensing, refunds, and support are handled by the third-party merchant on its own website. We may earn an affiliate commission from a referral. Details.

Products of the Week.

Submit
Free social media tools for creators & solofounders

Free social media tools for creators & solofounders

295 free tools for growing your social media: write, plan, grow on local AI models, 100% free forever, No sign-up required, No trial. Write, check and measure posts on LinkedIn, Instagram, TikTok, X, YouTube, Reddit, Product Hunt and more: a free social media scheduler for 17 networks, engagement rate calculators, character counters, best time to post, hook generators and follower growth calculators. No login anywhere, no API or credit usage.

670 views · 6 clicks

$6

Salon and Barber Booking Manager - PHP Script | Code Market