/api/v1/timetable/workspaceRead
timetable:viewBuild recurring class schedules and arrange dated teacher cover with clash checks.
Intended access: Assigned account with the required permissions.
timetable:viewtimetable:createtimetable:deletetimetable:updateUse the public sample demo to learn this flow. Your assigned ERP account determines access to actual school records.
An assigned school account with the required permissions.
Class and teacher filters is part of the documented workflow.
Periods and rooms is part of the documented workflow.
Review the result in the connected record or workspace before moving on.
Source-declared fields used by related operations; each operation has its own validation and scope.
| Field | Declared type | Input |
|---|---|---|
version | string | Optional |
periodId | string | Required by declaration |
date | string | Required by declaration |
substituteStaffId | string | Required by declaration |
reason | string | Optional |
status | 'PLANNED' | 'CONFIRMED' | 'CANCELLED' | Required by declaration |
sectionId | string | Required by declaration |
dayOfWeek | number | Required by declaration |
periodNo | number | Required by declaration |
startTime | string | Required by declaration |
endTime | string | Required by declaration |
subjectId | string | Optional |
teacherStaffId | string | Optional |
roomNo | string | Optional |
periodType | string | Optional |
force | boolean | Optional |
absentStaffId | string | Required by declaration |
apply | boolean | Optional |
autoGenerated | boolean | Optional |
Source inventory checked on 11 October 2026. Guide availability confirms documentation publication, not certification of every external service or device flow.
Open a guided sample workspace, try the available actions, then reset whenever you like. No login required.
This is the module’s source-declared endpoint catalogue. Reading this reference does not execute any request.
/api/v1/timetable/workspaceRead
timetable:view/api/v1/timetable/workspace/periodsSave
timetable:createDeclared request fields: version (optional).
/api/v1/timetable/workspace/periods/:id/deleteRemove
timetable:deleteDeclared request fields: version (required).
/api/v1/timetable/workspace/coversCover
timetable:createDeclared request fields: periodId (required), date (required), substituteStaffId (optional), reason (required), status (required), version (optional).
/api/v1/timetable/myThe caller’s own week — periods they teach, or their section’s
Authenticated scope and endpoint-specific rules/api/v1/timetableGrid
timetable:view/api/v1/timetable/periodsUpsert Period
timetable:createDeclared request fields: sectionId (required), dayOfWeek (required), periodNo (required), startTime (required), endTime (required), subjectId (optional), teacherStaffId (optional), substituteStaffId (optional), roomNo (optional), periodType (optional), force (optional).
/api/v1/timetable/periods/:idRemove Period
timetable:delete/api/v1/timetable/clashesAudit saved timetables for teacher/room/overlap clashes
timetable:view/api/v1/timetable/day-planA day's timetable with substitutions applied
timetable:view/api/v1/timetable/substitutionsList Substitutions
timetable:view/api/v1/timetable/substitutions/suggestWho could cover an absent teacher (suggestions only)
timetable:viewDeclared request fields: absentStaffId (required), date (optional), apply (optional), reason (optional), autoGenerated (optional).
/api/v1/timetable/substitutions/generateRecord cover for all of an absent teacher's periods on a date
timetable:createDeclared request fields: absentStaffId (required), date (optional), apply (optional), reason (optional), autoGenerated (optional).
/api/v1/timetable/substitutionsAssign one substitute to one period on one date
timetable:createDeclared request fields: periodId (required), date (required), substituteStaffId (required), reason (optional).
/api/v1/timetable/substitutions/:id/statusSet Substitution Status
timetable:updateDeclared request fields: status (required).
/api/v1/timetable/substitutions/:idRemove Substitution
timetable:deleteERP links use your assigned account. Record-specific pages start from the list so you can choose a real record.