Company Houses Reservation System

part of the ArsDigita Community System by Matthew Burke, Lin Chen

The Big Idea

This module allows admin users to manage company housing information and reservations. And allows employees to make reservations in company housing via the web.

Details

All employees of the company are authorized to the following: Each house is assigned an administration group. All members in the group are considered admin users for that house. Note: an admin user for one house can just be an ordinary user to another house. The admin users are entitled to do the following: Only Site-Wide administrators can add a new house and assign it an admin group. Besides make reservations for a continuous period of time, users can make recurring reservations, for example, reserve a bed from Monday through Thursday for eight weeks.

Prerequest of using this module

Site-Wide administrator should create a group of type "Administration" and name "Facility Administration". All admin groups for houses will be subgroups of this group.

Under the Hood

The data model has tables for houses, rooms, beds, amenities and reservations. Each house is represented by a row in "im_facilities" table, also a row in "im_house_info" table, while the information in "im_house_info" table is house-specific. Each room corresponds to a row in "im_house_rooms" table. Each bed corresponds to a row in "im_house_beds" table. Each type of amenity has a row in "im_house_amenities" table. And there are two mapping tables: "im_house_amenity_map" and "im_room_amenity_map" to associate an amenity with a house or a room. In "im_house_reservations" table, there is one row for each reservation. Here one reservation means reserve one bed for a continuous period of time, i.e. one start date and one end date. Recurring reservation is stored as a set of individual reservations.

Future Enhancements


mburke@arsdigita.com
lin@arsdigita.com