Experimental project

This is a sandbox project, which contains experimental code for developer use only.

Room reservation calendar
Updating a reservation
Module configuration

NOTE: See D7 Project here: https://drupal.org/project/room_reservations

The Room Reservations module was developed for use by academic libraries to manage access to and use of their study rooms.

All academic libraries have rooms set aside for student study and collaboration. These rooms are often available on a first come, first serve basis. Many libraries would like to have a room reservation system that would allow students to better plan their use of these often scarce resources, but setting up and administering such a system without computer support is a very difficult and time consuming undertaking.

The Room Reservation module was created to meet this need. It allows any library to very quickly put together a reservation system customized to its own particular requirements. And once the system has been set up, it performs all the functions necessary to manage the use of group study rooms with practically no involvement from the library staff.

Although this application was written specifically for use by academic libraries, it could also be useful to any facility that provides rooms that can be reserved and used on a short term basis.

Set Up

For the library or facility creating the application, set up is easy and straightforward. Records need to be created for each of the rooms that can be reserved. The facility hours have to be entered so that reservations are only made for the actual hours that the rooms are available. Messages need to be written that will be sent to the students or other users when a reservation is made. And various parameters have to be set that reflect the facility’s policies regarding reservations, such as:

• what is the longest length of time for any reservation
• how many reservations can be made by a single user
• how far ahead of time can a room be reserved

There is detailed documentation explaining how to configure the application.


Once the module has been set up, it is also very easy and intuitive for students or other customers to use. The application presents the user with a calendar of rooms and time slots showing when the facility is open and which rooms are available. It’s a simple matter to find an available room, click the block that corresponds to the room and time desired, and secure the reservation by filling out a short form. Users are able to completely manage the reservation process by themselves. It is rare that a user needs to seek additional assistance from anyone in the facility staff.

Mobile Features

The module contains additional features to make the reservation process convenient for mobile users. When a reservation is made, a confirmation and possibly a reminder is sent to the person reserving the room. By default, these messages are sent to the user’s email account. However, the module can be configured so that the user has the choice of having these communications sent as text messages to his or her mobile phone.

The module can also be configured to display a mobile version of its pages on smaller devices. This can be done when a separate mobile site has been created with a different domain or subdomain name from the main web site, and both sites have been set up using multi-site configuration. When this option has been enabled, a simplified version of the reservation calendar is used that is much easier to navigate on mobile devices.


You can try out a demonstration of the module. Login with username/password guest/guest to create a reservation.


This module was sponsored by Randall Library at the University of North Carolina Wilmington. A customized version has been in use since February 2012 by students, faculty, and staff to reserve space in the library's group study rooms.

Similar Modules

There are a number of other reservation type modules available, including Simple Reservation, Reservation, Reservations, and Checkfront. Simple Reservation is indeed a simple application that could be useful in a number of situations. As the project page states, it could be used for “hotel rooms, boats, cars,airplanes, basically anything you can think of which can be reserved by one individual.” The other modules were created for very specific purposes. Reservation is for reserving individual seats at a theater or restaurant. Reservations can be used with items that are priced, inventoried, checked out, and then checked back in. Checkfront was designed for renting rooms in a bed and breakfast.

What distinguishes this module from the others is that it was created specifically to meet the requirements of academic libraries with a number of rooms that students use for individual and group study. The most challenging requirement for such a system is to provide students with a quick way to review all of the available room choices. In a facility with 10 study rooms that is open 24 hours a day, there are almost 500 different half hour time slots that can possibly be reserved.
At most libraries, there is often a very high demand for study rooms. The available reservations fill up quickly. As reservations are made, it becomes more difficult to find a suitable room that is available at the same time that a group of students is free to work. Users need an easy way to find open rooms and select the choice that best meets their needs. The reservation calendar within the Room Reservation module makes this process simple and intuitive.

Study rooms are typically used by a group of students. The reservation calendar also makes it easy for an individual student to find and remember the location of his or her group without searching through the entire library.

Room Reservations also contains a number of additonal features needed to make such a system work at an academic library, including room descriptions, configurable facility hours, customizable confirmation and reminder messages, and and several options for enforcing various library policies.

Project information