Booking System is a self-hosted PHP and MySQL calendar booking script sold on CodeCanyon by the developer CriticalGears. It turns a standard web server into a reservation platform where visitors pick a date and time from a calendar, choose a service, pay through PayPal or credit card, and receive automated email confirmations. It suits small businesses, studios and agencies that want appointment scheduling running on their own hosting rather than paying a monthly fee to a third-party service.
The product has been on the marketplace long enough to accumulate 4,955 sales and a 4.13 out of 5 rating across 455 reviews, which places it among the more established appointment scripts in the CodeCanyon calendars category. It was last updated on 17 February 2024, and the vendor declares compatibility with PHP 7.x and 8.x alongside MySQL 5.x and 8.x. Booking System Calendars of this type are usually judged on three things: how the availability logic behaves under real traffic, how much control the administrator keeps over notifications and pricing, and whether the codebase is maintained. This review looks at all three.
What the script actually does well
The core mechanic is a service calendar. An administrator creates services, attaches bookable time slots to them, and the front end renders those slots through jQuery FullCalendar, which supports daily, weekly and monthly views. Each of those views can be switched on or off from the settings, which matters for businesses that only sell by the hour or only sell by the day. Individual calendars can also be hidden entirely, so a site can run several services side by side without exposing all of them at once.
The most useful operational feature is the single provider mode. When it is enabled, a booking made on one calendar removes that time slot from every other calendar. A salon with three stylists who share one treatment room, or a photographer with one studio and several packages, gets accurate availability without manually blocking time elsewhere. Without this mode, each calendar behaves independently and double bookings become possible.
Pricing is more flexible than a basic slot-and-pay script. There is multi-user pricing for single-day services, meaning the cost per seat can change depending on how many people book. Additional booking options can be attached to a service as paid extras, which covers things like equipment hire or an add-on treatment. Coupons support limits per customer, a total redemption cap, or no cap at all, and they can be imported in bulk from a CSV file.
Administrative control over communication is thorough. Email templates live in the database and are edited through a WYSIWYG editor inside the admin area, so changing wording does not require touching files on the server. Templates can be assigned per language, and the system can send through SMTP rather than the server’s default mail function, which improves deliverability. Administrators decide whether unconfirmed reservation notices and payment confirmations go to them at all, and payment confirmations can be routed to several addresses.
Two smaller features deserve mention because they solve common complaints. A holidays section blocks out chosen days across events or services, which is cleaner than cancelling bookings one at a time. A “time before booking” setting stops customers from reserving a slot too close to the start time, so a class that begins in twenty minutes disappears from the calendar. The booking comments field can be made mandatory, relabelled, or given placeholder text.
Where it fits and where it does not
This is a good match for a single-location service business: a clinic, a tutoring centre, a driving school, a repair workshop, a small gym running classes. It also fits freelancers and agencies building a booking site for a client who wants to own the data and avoid subscription costs. Because the script can be embedded into any website with a single line of code, it works as a bolt-on to an existing site rather than requiring a rebuild around it.
Multi-staff scheduling with per-employee logins and individual availability rules is a different problem. The single provider mode coordinates calendars, but the product data does not describe a full staff management layer with separate permissions per practitioner. A clinic with rotating doctors who each keep their own hours would likely need more than this script offers out of the box.
It is also the wrong choice for anyone who wants a managed service. There is no hosted option, no support contract in the traditional sense, and no automatic updates pushed to the site. The buyer is responsible for installing it, keeping PHP and MySQL patched, and applying future vendor releases manually. A business without access to a developer, or without the willingness to hire one, should look at a hosted scheduling platform instead.
Strengths and limitations
Strengths
- One-time purchase at $40 with no recurring licence fee, and the full JavaScript, CSS and PHP source is included.
- Runs on PHP 7.x and 8.x with MySQL 5.x and 8.x, so it deploys on most shared and VPS hosting without special configuration.
- Availability logic in single provider mode prevents the double bookings that plague simpler calendar scripts.
- Email templates are editable in the admin area and stored in the database, with per-language variants and SMTP support.
- Coupon system supports per-customer limits, total usage caps and CSV import, which is uncommon at this price point.
- Holiday blocking, booking cut-off windows and mandatory comment fields cover everyday operational needs.
- Long sales history and a substantial review base give a reasonable picture of how the script behaves in production.
Limitations
- The rating sits at 4.13 out of 5, which means roughly one buyer in six left a critical review. That is a meaningful signal for a script this mature.
- The changelog shows a steady stream of bug fixes across versions 6.0.0 to 6.0.5, including a PayPal failure on $0 amounts, list view and calendar view disagreeing on event counts, and a duplicate booking date error. Buyers should expect to update.
- Security patches have been a recurring theme: XSS and SQL injection fixes both appear in the changelog. Anyone running an older version should upgrade.
- The declared browser list includes IE7 through IE11, which suggests parts of the front end are dated even though the calendar was moved to jQuery FullCalendar.
- No high-resolution assets are included, and the vendor does not state whether documentation covers the WordPress add-on in depth.
- There is no native staff or resource management layer beyond the shared-availability mode.
- Updates are manual. The vendor does not describe an automatic update mechanism in the product data.
How it compares to the wider category
Booking scripts on CodeCanyon split roughly into two groups. The simpler ones render a calendar, take a payment and send an email, with little control over availability across services. The more complex ones add staff accounts, recurring subscription billing and CRM-style customer records. Booking System sits in the middle, leaning toward the operational side.
Against the simpler group, the advantages are the shared availability mode, the coupon engine with per-customer limits, the database-backed email templates and the holiday blocking. Those are features that usually push a buyer toward a more expensive product or a hosted platform. Against the more complex group, it lacks the staff permission structures and subscription billing that larger operations need, so it is not competing at the top of the range.
The other axis is self-hosted versus hosted. Hosted schedulers handle updates, uptime and payment compliance for a monthly fee, and they scale without the owner thinking about servers. A self-hosted script trades that convenience for ownership, a one-time cost and full control over the booking flow. At $40 with source files included, the economics favour self-hosting for any business booking more than a handful of appointments a month.
Frequently Asked Questions
Do I need coding skills to install Booking System?
No coding is required for basic installation, but server access is. The script needs a PHP and MySQL environment, and the setup process involves creating a database and editing a configuration file. Anyone comfortable with a hosting control panel can manage it. Ongoing maintenance, including applying updates and PHP version upgrades, benefits from developer involvement.
Can it stop two customers booking the same time slot?
Yes, when single provider mode is enabled. Bookings made on one calendar then reduce availability on the others, so a slot taken for one service is removed everywhere. Without that setting, each calendar tracks its own availability independently, and overlapping bookings across different services remain possible.
Does Booking System handle recurring appointments and classes?
It supports recurring events, and version 6.0.0 replaced the recurring event logic so the front end performs better when many repeat bookings exist. Administrators can also close or reopen registration for an event at any point. The product data does not describe automatic recurring bookings created by the customer, so that should be confirmed with the vendor.
Which payment methods does the script support?
PayPal and credit card, with customers able to choose between them where that option is enabled. The payment code was rewritten in version 6.0.0, and a later release fixed a bug that stopped $0 amounts from processing through PayPal. The vendor does not list Stripe or other gateways in the product data, so PayPal is the primary integration.
Verdict
Booking System is worth buying for a single-location service business or an agency that wants a self-hosted scheduling layer without subscription costs. The shared availability logic, coupon controls and editable email templates deliver more than the $40 price suggests, and the sales history shows it has been used widely enough to trust. It is not the right pick for operations needing per-staff accounts and permissions, or for anyone unwilling to handle installation, security updates and manual version upgrades. Buyers should go in expecting to maintain it, and should budget time for testing the booking flow after every update.