POST ./timetables/{id}/generator/rules
Add timetable generator rules.
POST parameters
| Name | Value Type | Validation | Details |
|---|---|---|---|
| id | int | Required | Timetable ID |
| entityType | string | Required | Entity type |
| entities | array | Optional (Entity item) | Specific rules |
| MAX_DAILY_ACTIVITIES | int | Optional | default rule for: class, teacher |
| MIN_DAILY_ACTIVITIES | int | Optional | default rule for: class |
| MAX_GAPS_PER_WEEK | int | Optional | default rule for: class, teacher |
| MAX_HOURS_CONTINUOUSLY | int | Optional | default rule for: teacher |
| MIN_DAYS_BETWEEN_SAME_ACTIVITIES | int | Optional | default rule for: activity |
Entity item
| Name | Value Type | Validation | Details |
|---|---|---|---|
| entityID | int | Required | can be: clID,cadID,roomID,cmcID |
| unavailabilities | array (unavailability item) | Optional | rule for: class, teacher, room |
| MAX_DAILY_ACTIVITIES | int | Optional | rule for: class, teacher |
| MIN_DAILY_ACTIVITIES | int | Optional | rule for: class |
| MAX_GAPS_PER_WEEK | int | Optional | rule for: class, teacher |
| MAX_HOURS_CONTINUOUSLY | int | Optional | rule for: teacher |
| ACTIVITY_BEGINS_STUDENTS_DAY | int | Optional | rule for: activity |
| ACTIVITY_ENDS_STUDENTS_DAY | int | Optional | rule for: activity |
| MIN_DAYS_BETWEEN_ACTIVITIES | int | Optional | rule for: activity |
| MAX_DAYS_BETWEEN_ACTIVITIES | int | Optional | rule for: activity |
| ACTIVITY_PREFERRED_ROOM | int | Optional | rule for: activity (room ID) |
Unavailability item
| Name | Value Type | Validation |
|---|---|---|
| dayID | int | required |
| startHour | time | required |
| endHour | time | required |
Validation
| Error Field | Error Code | Error Message |
|---|---|---|
| entityType | 24 | values: class,teacher,room,activity |
| entities | 101 | Invalid payload |
| entityID | 102 | Entity ID not found |
| MAX_DAILY_ACTIVITIES | 38 | greater than or equal to |
| MIN_DAILY_ACTIVITIES | 38 | greater than or equal to |
| MAX_GAPS_PER_WEEK | 38 | greater than or equal to |
| MAX_HOURS_CONTINUOUSLY | 38 | greater than or equal to |
| MIN_DAYS_BETWEEN_SAME_ACTIVITIES | 38 | greater than or equal to |
| ACTIVITY_BEGINS_STUDENTS_DAY | 38 | greater than or equal to |
| ACTIVITY_ENDS_STUDENTS_DAY | 38 | greater than or equal to |
| MIN_DAYS_BETWEEN_ACTIVITIES | 38 | greater than or equal to |
| MAX_DAYS_BETWEEN_ACTIVITIES | 38 | greater than or equal to |
| ACTIVITY_PREFERRED_ROOM | 103 | room not found |
| startHour | 104 | format must be hh:mm |
| endHour | 104 | format must be hh:mm |
Output example
{"result":true}
