Timetables API
The Timetables module manages class and course schedules.
Model
{
"id": "uuid",
"name": "Semester 1 Timetable",
"academic_session_id": "session-uuid",
"semester_id": "semester-uuid",
"class_id": "class-uuid",
"status": "active",
"effective_from": "2024-09-01",
"effective_to": "2024-12-31",
"details": [...],
"team_id": "team-uuid"
}
Timetable Detail
Individual schedule slots:
{
"id": "uuid",
"timetable_id": "timetable-uuid",
"day_of_week_id": "day-uuid",
"period_id": "period-uuid",
"course_id": "course-uuid",
"teacher_id": "teacher-uuid",
"room_id": "room-uuid"
}
Endpoints
Standard CRUD
Method |
Endpoint |
Description |
|---|---|---|
POST |
|
List timetables |
GET |
|
Get timetable |
POST |
|
Create timetable |
PUT |
|
Update timetable |
DELETE |
|
Delete timetable |
Schedule Management
Get Schedule:
GET /api/timetables/:id/schedule
Update Schedule:
PUT /api/timetables/update-schedule
Save Details:
POST /api/timetables/save-details
Import/Export
Validate Import:
POST /api/timetables/validate-import
Import Schedule:
POST /api/timetables/import-schedule
Export Schedule:
GET /api/timetables/:id/export
Duplicate
Duplicate Timetable:
POST /api/timetables/duplicate
Class Schedule
Get schedule for a specific class:
GET /api/timetables/class-schedule?class_id=xxx&date=2024-01-15
Generate
Trigger automatic schedule generation:
POST /api/timetables/generate
Periods
Time periods for the day. See Periods API.
Days of Week
Day definitions. See Days of Week API.