POST ./timetables/{id}/generator/rules

Add timetable generator rules.

POST parameters

NameValue TypeValidationDetails
idintRequiredTimetable ID
entityTypestringRequiredEntity type
entitiesarrayOptional (Entity item)Specific rules
MAX_DAILY_ACTIVITIESintOptionaldefault rule for: class, teacher
MIN_DAILY_ACTIVITIESintOptionaldefault rule for: class
MAX_GAPS_PER_WEEKintOptionaldefault rule for: class, teacher
MAX_HOURS_CONTINUOUSLYintOptionaldefault rule for: teacher
MIN_DAYS_BETWEEN_SAME_ACTIVITIESintOptionaldefault rule for: activity

Entity item

NameValue TypeValidationDetails
entityIDintRequiredcan be: clID,cadID,roomID,cmcID
unavailabilitiesarray (unavailability item)Optionalrule for: class, teacher, room
MAX_DAILY_ACTIVITIESintOptionalrule for: class, teacher
MIN_DAILY_ACTIVITIESintOptionalrule for: class
MAX_GAPS_PER_WEEKintOptionalrule for: class, teacher
MAX_HOURS_CONTINUOUSLYintOptionalrule for: teacher
ACTIVITY_BEGINS_STUDENTS_DAYintOptionalrule for: activity
ACTIVITY_ENDS_STUDENTS_DAYintOptionalrule for: activity
MIN_DAYS_BETWEEN_ACTIVITIESintOptionalrule for: activity
MAX_DAYS_BETWEEN_ACTIVITIESintOptionalrule for: activity
ACTIVITY_PREFERRED_ROOMintOptionalrule for: activity (room ID)

Unavailability item

NameValue TypeValidation
dayIDintrequired
startHourtimerequired
endHourtimerequired

Validation

Error FieldError CodeError Message
entityType24values: class,teacher,room,activity
entities101Invalid payload
entityID102Entity ID not found
MAX_DAILY_ACTIVITIES38greater than or equal to
MIN_DAILY_ACTIVITIES38greater than or equal to
MAX_GAPS_PER_WEEK38greater than or equal to
MAX_HOURS_CONTINUOUSLY38greater than or equal to
MIN_DAYS_BETWEEN_SAME_ACTIVITIES38greater than or equal to
ACTIVITY_BEGINS_STUDENTS_DAY38greater than or equal to
ACTIVITY_ENDS_STUDENTS_DAY38greater than or equal to
MIN_DAYS_BETWEEN_ACTIVITIES38greater than or equal to
MAX_DAYS_BETWEEN_ACTIVITIES38greater than or equal to
ACTIVITY_PREFERRED_ROOM103room not found
startHour104format must be hh:mm
endHour104format must be hh:mm

Output example

{
"result":true
}