Free PHP Booking Slots Calendar

May 25th, 2014

This is the second and latest version of my PHP Booking Slots Calendar.
I got so many emails requesting new features and this version contains the following:

  • Set the starting and ending slot times
  • Set as many slots her hour as you need
  • Set the cost per slot
  • Recognises part booked, fully booked, and past dates
  • Set a closed day(s) when no bookings can be made
  • Set alternative currencies
  • Leap year safe

After a booking is made, a user ends up at the book_slots.php page.
This is the page which actually books the slots. I left this page deliberately sparse so that you can integrate it with your own basket or redirect the user to a payment gateway.
Check out the live demo here.


This code is provided “as is” for developers to use or customise as they see fit.
Some requests may make it onto the next build but I am unable to respond to specific requirements.
Emails like “can you make it so that it works with my website and it pings emails when someone pays by Cardmax” are unlikely to get much attention…


The PHP Booking Slots Calendar works with IE7+, Ipad, Chrome and Firefox.
Older browsers may struggle to correctly display the “Make Booking” button because it uses CSS3.

PHP Free Booking Slots Calendar


When a checkbox is clicked, the basket section shows the current total cost and selected slots. The cost and slots are recalculated every time a slot is clicked.

Selected Slots

Setting up the calendar

All you need is a MySQL database and connection details, and the ability to upload files to your server.
I have included calendar_table_schema.sql file which you can use to import directly into phpMyAdmin. Your “bookings” table should look like this:

MySQL bookings schema

Free to use, let me know how you get on, I’d like to hear from you.

Download PHP Booking Slots Calendar

Click here to download PHP Booking Slots Calendar