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 inviews/, 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.sqland 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_mysqlandmbstringextensions. 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
- Create a database and a database user in your hosting panel.
- Upload the contents of the zip to your site's folder.
- Open
install.phpin the browser: requirements, database, administrator account, done. - Delete
install.phpfrom the server. - 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.
| Author | semih11 |
|---|---|
| Category | Scripts & Code / PHP Scripts / Booking |
| Price | $39 |
| Extended License | $117 |
| Likes | 10 |
| First Release | Sep 24, 2026 |
| Last Update | Sep 29, 2026 |
| Database | MariaDB 10.x, MariaDB 11.x |
| Files included | .php, .css, .html, .sql, .md, JavaScript .js |
| Programming language | PHP, JavaScript |
Categories
Tags
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🥇
Actionbook
It works inside the user's own browser with the accounts already signed in. The user describes the result they need, and the agent reads, clicks and types through the pages, then delivers a dashboard or report where each data links back to its source.
Other · 701 views · 9 clicksOther · Week 44 · 701 views · 9 clicks
🥈
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 clicksWeek 44 · 670 views · 6 clicks
🥉
STOP GUESSING WHAT TO POST
AI that learns your brand voice and builds a month of consistent, on-brand social content: carousels, posts and hooks that sound like you, not like everyone else's AI.
SaaS · 1,919 views · 21 clicksSaaS · Week 44 · 1,919 views · 21 clicks
#4
Hand-Placed Backlinks $9.99 per link. Flat rate.
Buy hand-placed forum, Q-A and directory backlinks. Flat $9.99 per link, no subscriptions — you only pay for approved listings.
Website · 1,872 views · 17 clicksWebsite · Week 44 · 1,872 views · 17 clicks
#5
Conversational Backlinks for Busy Founders
Place Backlink Relevant Conversation for your domain across Forums and Conversations
39,328 views · 210 clicksWeek 44 · 39,328 views · 210 clicks
#6
Free Invoice Generator - PDF Invoices in Your Browser, No Sign-Up
A free invoice maker for freelancers and small businesses: fill in the invoice, check the live preview, and download a PDF that looks exactly like it. Any currency, tax per item, three templates, no sign-up, and nothing leaves your device.
609 views · 11 clicksWeek 44 · 609 views · 11 clicks
#7
Merge PDF Files Free - Combine PDFs in Your Browser, No Upload
A free PDF merger for office workers, students, and freelancers: combine PDFs and images into one file in the browser, reorder files and pages, pick page ranges, keep bookmarks, and open password-protected PDFs. Nothing is uploaded, no sign-up, no watermark.
551 views · 4 clicksWeek 44 · 551 views · 4 clicks