Booking To Help for Developers

A record here reserves a meeting space for a program, rental, or event. All bookings take place in the Event controller. A meeting space may be designated for sleeping as well - in which case there is a house with the same name as the abbreviation for the meeting place. If a booking is made for such a meeting space an automatic block on the similarily named house is created to prevent that housing from being used for sleeping. And to confuse matters ... this block is not created if the booking is marked as a Dorm.

Table: booking

breakout
for a breakout space?
dorm
for a dorm?
edate
end date
event_id
foreign key to event
id
unique id
meet_id
foreign key to meeting_place
program_id
foreign key to program
rental_id
foreign key to rental
sdate
start date

Relations

eventeventbelongs_to
meeting_placemeetingplacebelongs_to
programprogrambelongs_to
rentalrentalbelongs_to