Using the Calendar to Book Events
One or several event categories of the calendar can be set up for booking events with event overlap checking. The idea is to let users create events which may not overlap with already existing events in the same event category. If a user tries to create an event which overlaps, an error message will be displayed. Single-day and multi-day events are checked. Private events are not checked.
How to set up a booking system, is illustrated by the following example.
Billiard table booking example:
In this example we will set up a booking system for three billiard tables.
Create a new event category and give it the name "Billiard table 1", check the "No overlap allowed" check box, and optionally set the error text, displayed in case of creating an event which overlaps with an existing event, to "Billiard table 1 in use, choose an other time or table". If desired, the "Default time slot" can be specified, which - when creating / editing an event - will automatically be added to the start time of an event if no end time is specifies. Give this category a color (text/background) which belongs to table 1.
Create two more categories for the other two billiard tables in a similar way but with a different name, error text and color.
Now a user group can be created, for instance with the name "Billiards" for those users who can book one of the three billiard tables. For this user group the three categories created for the billiard tables should be selected and the check boxes "May post repeating events" and "May post private events" should be unchecked. Because the billiard tables can only be booked for a limited time, the check box "May post multi-day events" can also be unchecked. So now if a user in this group add/edits an event, the Event window will be simplified and will contain no "Private" check box, no "End date" field and no "Repeat" feature.
On the Settings page, under User Accounts, "Self registration" can be enabled and the "Self registration user group" should be set to the user group "Billiards" created in the step above.
In the above example, users can register themselves and will be part of the "billiard" user group; they will have access to the three categories "Billiard table 1", "Billiard table 2" and "Billiard table 3" and will only be able to book a billiard table which is free.
Note: For a booking system for chalets for instance, in the user group the check box "May post multi-day events" should remain checked, to allow for booking the chalets for several days.