module ScheduleEntry;
export all;

object ScheduleEntry
	components: class:SClass and instr:SInstructorName and time:STime and room:SRoom;
	
	description:(*
		A Schedule Entry contains all the information for a single
		section of a single class in the quarter level schedule.
	*);
end ScheduleEntry;

object SClass = subj:Subject and secNum:SectionNum;
object SInstructorName = fname:SFirstName and lname:SLastName;
object STime = pattern:SPattern and hour:SHour;
object SRoom = bldg:SBuilding and rm:SRoomNum;

object Subject = string;
object SectionNum = integer;
object SFirstName = string;
object SLastName = string;
object SPattern = string;
object SHour = string;
object SBuilding = integer;
object SRoomNum = integer;

end ScheduleEntry;