Classroom Booking System & Software Review

I have been trialling a few different Class Room Booking Systems. But this one seems to be a standout winner. Classroom Booking system is a completely free, open source project that does just what I want to. It’s nice, clean and simple. And the few times I have needed help, the developers have been very quick in responses on Twitter. Usually within an hour – which given the different Time Zones in the world is awesome of itself.

booking - home page

Overview – So what is it?

Class Room booking System is a PHP based database that can store all your bookings. It requires it’s own folder or subdomain to run. So you will need to be able to access your websites control panel and have FTP access.

As I was testing this out for my volunteer job, this meant hosting on my own space – which is fine. After trialling and failing at least 10 – 15 WordPress plugins, I’ve moved back to this system.



You can download the source files from their project page at and make sure you also go to the Documentation page to get a copy of the Installation instructions and check your domains specs against the requirements.



  • Apache or Nginx web server. IIS has not been tested but it may work.
  • PHP version 5.5 or above, or 7.x (recommended)
  • PHP modules: GD, mysqli/pdo_mysql
  • MySQL 5.x or MariaDB 5.x or 10.x. MySQL 8 not currently supported.
  • Filesystem write access
  • Optionally, Apache module mod_rewrite for clean URLs



Follow the instructions to create a new folder or subdomain in your website root. I found it easier to create a new folder in the Control Panel and then FTP the files over, making sure I had the Read/Write access correct. Again – Make sure you read and understand the instructions as you will need to change some codes to ensure the Read/Write access is set properly.


You will also need to ensure you have a blank database and have a user set as admin for this database. Make sure you write down the User Admin Name and the password for the Admin account as you will need it in the next step.


Once all the files are uploaded and the Access Codes are correct and you have the details for the database and the Admin, you can open a browser and navigate to the folder where you have installed the files


Make sure you enter the details correctly into the forum, my blonde brain sat there for a few minutes looking at the Host section before I put in localhost. It was after 10pm but … oh well


The table loaded perfectly, now you need to set up your booking system. Let’s have an overview of the Control Panel.

booking system - control panel



Bookings is where you will actually make the bookings, edit or cancel the booking

My Profile is where you can change your password

School Related

The school day is divided up into periods, where you can set the start and end time.

The Week Cycle allows you to select which days of the week the school will be operating, and gives your Weeks a name. I’ve gone with Week 23, 24, 25, etc.

Holidays lets you assign public holidays where the school will be closed

Rooms is where you designate the classrooms

Departments allows for different departments.


Users – where you as the administrator can add other users and assign them a password.

As I said earlier, it’s all pretty well straightforward.

School Details

You will first need to set up some School Details, such as the name of your school or business, upload the logo. This will just display the name at the top of each page. I haven’t seen the point of actually uploading the school logo, as it doesn’t seem to do anying. It doesn’t appear on the site that I’ve seen. 

booking system - school information

Setting up the School Day

I’ve set this up as hourly periods, thinking that this would be easy to just book the rooms out in hour blocks. As you can see, the booking period is in 24:00 hours, so if you are used to just working on a normal 12 hours am /pm like I am, this might mean a bit of counting on your fingers to get the correct hours in.

You can also select which days of the week, you can allow people to book for. In our case, we need to be able to offer rooms seven days a week, as we have some scheduled classes and activities over the weekend.

booking software - school day


I have set this up, but again doesn’t seem to impact on the program in any way. Can possibly safely be ignored.

booking software - departments


Next I set up some rooms, this is rather a nice idea that allows you to put a staff member in charge of a particular room.

booking software - rooms


I also set up some users for different staff members. You can allocate different staff members to rooms and to classes. Quite a neat feature.

booking system - users

I have not yet shown the others how to use the system yet, that’s coming at a staff meeting. As you can see, I haven’t been playing with the program long, about a week or so.


Weekly Cycle

You will also need to set up the Weekly Cycle. You can do this via the control panel.

bookings software - weekly

You can set up each week seperately, by giving it a name and an appropriate colour scheme. I’ve set mine up with a black background and white text. But you could use your corporate colours if desired.


There is an option in here also for recording Public Holidays. If you do have a day set for a holiday, nothing can be scheduled for that day and you receive an error message for that day if you try and select it.


Yay, by now we should be able to get to what we want to do and set up some room bookings.

bookings - booking table

I have not yet worked out how to get the orange colour scheme option to work, I think it is to do with recurring bookings. Another option to play with when I get time maybe,

Booking things in is nice and simple. The rooms display as a table with the names of the rooms down the side and the periods available at the top. To book a room, click the Book text link next to the green tick. Not sure what that box is for, it doesn’t seem to enable anything.

Again, this is nice and simple. Add the details you need, change the User to another Teacher, remember you are logged in on your account so it will default to your name. If you need to, you can also change the room and period while in here.

A drag and drop option might be useful too in a future update perhaps.

And that’s it, you’re done making a room booking! There is a link at the top of the page where you can go on to the next day, or back to the previous. Or you can use the drop down picker at the top to select a particular day.

Follow up

Some things you might need to follow up with, I’ve only added enough weeks to plot until the end of June, but will need to add more as bookings are coming in now for July & onwards.

Ensure you set the colours for your Weeks, or you will end up like I did with white text on a white background and wonder where the Back & Tomorrow buttons had gone to.

Final Thoughts

All in all, a good well made program. And it’s free which is a nice bonus. Some of the programs I were looking at were several dollars for a subscription – one was $150 per month! And as we’re a not for profit, that is out of the question – as a one off or annual fee, it might be considered.

I would like to be have a drop and drag functionality, so that you can drag bookings around if needed, say someone booked a room for the wrong day, or wrong room or something, or your schedule gets moved.

I would also like to see the option to export the day or the week to an excel spreadsheet for some sort of report.

But for a free program, I haven’t found anything else like it – and I’ve looked!

That’s it for now, I will get back to another project and testing some more software, I have about 5 other programs I am currently reviewing.

If you want to stay in touch, register on the site and it should send you a notification when I update.


Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.