Timetable
The purpose of this object is to define a schedule or Time Table structure/skeleton for the school. The Time Table is produced by the Time Tabling software. Once the Time Table is produced, the time tabling software creates the schedule based on business rules and constraints to fit into the time table structure.
The proposed Time Table object is based on a combination of the proposed UK B6 – Timetable Cycle Object and Timetable Scope Object.
The Time Table is identified uniquely in the SIF Zone by its GUID, School and School Year. A Time Table is linked to a particular school.
All local ids in non-authoritative objects are optional. It is therefore up to the provider and the actual agent's design and choreography to determine whether or not to use or local ids from parent objects. There are cases in some subscribing systems where it might not possible to add RefId columns and therefore the RefId of related objects cannot be stored. For example a target system that listens to TimeTableSubject events and updates them may not be able to store the associated SchoolCourseInfoRefId with that object. The only way it can link the TimeTableSubject object with the appropriate course might be through its local course id. Having local ids that link the parent objects with the child object can simplify the agent design. Generally it is suggested to use the appropriate RefIds whenever possible and only use local ids if there is no other way to use RefIds.
Implemented | Partial or Future Implementation | No Mapping |
Element/@Attribute | Char | Synergetic Mapping | Description | Type |
---|---|---|---|---|
RefId | M | TimetableDefinition.Sif3RefID unique across FileYear, FileType, FileSemester and TimeTableGroup | GUID that identifies this TimeTable object. | RefIdType |
SchoolInfoRefId | O | Config.Value (ExternalSystem>SIF>SchoolInfo>>RefID) | IdRefType | |
SchoolYear | M | TimetableDefinition.FileYear | School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2007"). | SchoolYearType |
LocalId | O | <No Mapping> | Local TimeTable ID | LocalIdType |
Title | M | luTimetableGroup.Description | Unique Name of the proposed Time Table | xs:normalizedString |
DaysPerCycle | M | luTimetableGroup.ActualDaysInWeek | Max Number of days per Time Table cycle | xs:unsignedInt |
PeriodsPerDay | M | luTimetableGroup.Periods | Max Number of periods per Time Table Day | xs:unsignedInt |
TeachingPeriodsPerDay | O | <No Mapping> | Teaching periods per day if different to PeriodsPerDay | xs:unsignedInt |
SchoolLocalId | O | School.SchoolSystemCode | Optional Local School Id | LocalIdType |
SchoolName | O | SELECT Value FROM Config WHERE Key1 = 'System' AND Key2 = 'Install' AND Key3 = 'Name' | The school name in plain text. | xs:normalizedString |
TimeTableCreationDate | O | <No Mapping> | Date Schedule was created or last edited. | xs:date |
StartDate | O | <No Mapping> | First day of TimeTable. | xs:date |
EndDate | O | <No Mapping> | Last day of the TimeTable. | xs:date |
TimeTableDayList | M | pvTimetableDefinition data | Container for TimeTableDays in Schedule | TimeTableDayListType |
TimeTableDayList > TimeTableDayListType > TimeTableDayType | MR | n/a | This element identifies a 'day' in a TimeTable. | TimeTableDayType |
TimeTableDayType > DayId | M | pvTimetableDefinition.DayNumber | Local Time Table Identifier | LocalIdType |
TimeTableDayType > DayTitle | M | pvTimetableDefinition.DayNumber | xs:normalizedString | |
TimeTableDayType > TimeTablePeriodList | M | n/a | TimeTablePeriodListType | |
TimeTablePeriodListType > TimeTablePeriod | MR | n/a | Container for TimeTablePeriods in a Time Table Day | TimeTablePeriodType |
TimeTablePeriodType > PeriodId | M | pvTimetableDefinition.PeriodNumber | Period in Day Identifier | LocalIdType |
TimeTablePeriodType > PeriodTitle | M | pvTimetableDefinition.Description | Title of Period eg. Session 1 or Period 1 | xs:normalizedString |
TimeTablePeriodType > BellPeriod | O | 'Yes' | Indicates if this Period will require a 'bell', if 'yes' the following elements can be provided in the TimeTable Object. | values: Yes No |
TimeTablePeriodType > StartTime | O | pvTimetableDefinition.TimeFrom | The starting time for the bell period. | xs:time |
TimeTablePeriodType > EndTime | O | pvTimetableDefinition.TimeTo | The ending time for the bell period. | xs:time |
TimeTablePeriodType > RegularSchoolPeriod | O | SELECT CASE WHEN PeriodNumberSeq = 1 THEN 'Yes' ELSE 'No' END FROM pvTimetableDefinition WHERE FileYear = {Current Year} | Indicates if the bell period is part of the regular school day (i.e. is not a before or after school or break period). | values: Yes No |
TimeTablePeriodType > InstructionalMinutes | O | pvTimetableDefinition.PeriodDuration | The number of minutes to be counted for instruction for the bell period. | xs:unsignedInt |
TimeTablePeriodType > UseInAttendanceCalculations | O | SELECT CASE WHEN IncludeInAbsenceCalcFlag = 1 | Indicates if the bell period should be included in attendance calculations. | values: Yes No |
LocalCodeList | O | <No Mapping> | LocalCodeListType | |
SIF_Metadata | O | <No Mapping> | SIF_MetadataType | |
SIF_ExtendedElements | O | <No Mapping> | SIF_ExtendedElementsType |