This project is not covered by Drupal’s security advisory policy.

Although Reserve has some very nice out of the box features and requires very little setup to get started; you may want to look at BEE as a more advanced alternative.

Reserve is the D8 port of Room Reservations. Whereas that module was specifically for reservations for Rooms (it included a node bundle called "Rooms"), Reserve intends to allow booking of any fieldable Content Type (node, user, term, etc). Rather than provide a room bundle, it has a custom field (Reserve Category) which can be added to any bundle to allow it to be reservable. It also provides a booking calendar for each reservable bundle. Examples: rooms, cameras, tutors.

[from Room Reservation]

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

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.

Features

Reserve has many options available to customize the booking process:

  • default booking calendar for Monday to Sunday
  • booking calendar overrides for each day of the year
  • setup/takedown buffers
  • advance booking limits for standard/admin users
  • reservation limit per user
  • reservations per day limit
  • maximum reservation time for standard/admin users

Set Up

Setup is straightforward:

  1. define categories for grouping reservable entities. Example, for Rooms you might have large, small. For Cameras: digital, video
  2. add Reserve Category field to the bundles you want to make reservable and select which Reserve Categories apply to each bundle
  3. add reservable bundle entities making sure to select which category they belong to
  4. set up booking calendar
  5. set up various options as listed above

That's pretty much it. Once this is done a calendar is available for each bundle. The calendar serves dual purpose of both displaying the reservations for a selected day as well as providing the UI for adding new reservations (i.e. pick open calendar spots to open Add Reservation form).

Status

Finally release -dev release and created a few issues that still need to be looked at. Still to do:

If anyone wants to help out with the last of these issues; please let me know.

ToDo - Feature Extension

A few things I wanted to support but due to D8 complexity I had to limit from my original goal - but Should not be too difficult now to include these in future release:

  • booking calendar hours/days setup per bundle - currently there is only one availability setup per site
  • proper Views support - I had expected D8 Entity API came with Views support out of the box; sadly it doesn't
Supporting organizations: 
Funding and development.

Project information

Releases