| Model
|
RecurringBooking ( recurringId, eventId,
semesterYear, semesterName, dayOfWeek, startTime, endTime,
startDate, endDate, notes)
|
| Description
|
Any event that requires multiple room bookings at the same
time of the same day of the week. Note that
a class will often require multiple instances of this
object: a class that meets MWF 10:00-10:50am will require
three, one for the Monday slot, one for Wednesday and one for Friday.
|
|
recurringId
|
An arbitrary unique identifier. Primary key. Domain:
nonnegative integers.
|
|
eventId
|
Identifies the event that has the room booked.
Domain: same as Event.eventId;
link to the Event entity.
|
|
semesterYear
|
If this booking is for an exact semester interval, this field
and the semesterName field below are a link to the
Semester object defining the interval (and breaks,
if any) in which this booking falls.
Domain: Same as Semester.year, may be null if this
booking is not associated with a named semester.
|
|
semesterName
|
See the semesterYear field above.
Domain: Same as Semester.name, may be null.
|
|
dayOfWeek
|
What day of the week this falls on. Domain: Sunday, Monday, ...,
Saturday.
|
|
startTime
|
When the room booking starts. Domain: Time of day.
|
|
endTime
|
When the room booking ends. Domain: Time of day.
Note that there is an important difference between a class that
ends at 11:00am and a class that ends at 10:50am. In the former
case we can't really schedule another booking at 11:00am because
it takes ten minutes to change over.
|
|
startDate
|
The first date on which this event meets.
If semesterYear and semesterDate are not
null, this field should be ignored in favor of the start
date in the related Semester.
Domain: Date; may be null.
|
|
endDate
|
The last date on which this event meets. As with the
startDate field, if this booking is related
to a Semester, ignore this field and use the
semester's end date.
Domain: Date; may be null.
|
|
notes
|
Any other notes about this booking. Domain: Multiline text.
|