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.


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

  • William

    Thank you sooo much for your work on this booking calendar and for allowing others to use it. Is there a way to only allow a person to book one time slot per day?

  • steve

    Hi there,

    Great script. Where would I insert this code to have the email sent to me?
    I tried inserting it in a couple of places to no avail.