Scheduling Process  

Mass Update Student Schedules  

Using KEEP or SKIP Queries and Scheduling  

Lock/Unlock Mass Scheduling  


Navigate to Scheduling Process > Schedule All Students.

The Schedule All Students page assigns students to sections of courses in the Scheduling Master Schedule (SMS) that are in the students' list of Course Requests (SSS)

Schedule All Students page


Scheduling Master Schedule (SMS)
Course Requests (SSS)
Master Schedule (MST)
Class Schedules (SEC) 
Read, Insert, Update and Delete to SMS, SSS, MST, and SEC are required to mass schedule students
Scheduling Master Schedule (SMS)AdminLock/Unlock Mass Scheduling


The message Scheduling Using Next Year's Grade Levels in red indicates students are being scheduled for next year in the current year’s database. 

Scheduling Using Next Year's Grade Levels message

To schedule students for the current year using their current grade level, select Scheduling students into classes for the current school year on the Scheduling Setup page:

Scheduling students into classes for the current school year scheduling status


Grade / Student Sequence

By default, the order for scheduling students is alphabetical, without consideration of grade level. The scheduler will schedule students in alphabetical order while attempting to maintain balanced class loads.  To schedule by grade level, select Schedule Low to High or Schedule High to Low. Select Reverse Alpha to schedule backwards (Z to A) alphabetically. To schedule without regard to name, select Randomly.

If random numbers have not been assigned, the following message is displayed:

Random numbers have never been assigned message

Click the Reassign Random Numbers button to assign numbers to students. The following message is displayed when the process has completed.

Random numbers last assigned message


Scheduling Options

Scheduling options include the following:

  • Schedule Alternates – If a student has a rejected course, and the student has an alternate course (SSS.AC) in their course requests, the scheduling process will attempt to schedule the alternate course.
  • Ignore Class Maximums – All students requesting a course will be scheduled into sections of the course, even if the number of students exceeds the section's maximum (SMS.MX). During preliminary scheduling runs, checking this box and then reviewing scheduling reports may help to highlight periods where more seats for students might be needed.
  • Include Inactive Students – Inactive students will be included when scheduling classes. If students are being scheduled for next year, students tagged as pre-enrolled (STU.TG = *) will automatically be included, without checking this option.
  • Prevent Gaps in Schedule - Will attempt to schedule every student into the tightest period range possible and takes longer to run. Should not be used until the final scheduling run.
  • Ignore Group Codes – If certain sections are grouped and flagged with the same team course group code, selecting this option will ignore the team course group code.
  • Balance Academic Weight – Uses the CRS.AC (Academic Weight) field to ensure academic classes are balanced across all 4x4 terms. Using this option may result in a higher number of rejects.
  • Max Time Per Student – Maximum time the program spends trying to schedule a student. The default time is set at 10 seconds, but can be changed.

Scheduling Options checkboxes

After selecting any necessary options, click the Schedule All Students button. The scheduler will scan the SMS, saving data about each class, and will then scan the student’s current scheduling records counting any pre-scheduled sections. It will then start the actual scheduling process.

Schedule All Students button

Scheduling Process  

As the scheduler runs, it assigns students to sections in the following order:

  1. Pre-scheduled (locked) are assigned first.
  2. The scheduler sorts courses requested by their frequency of offering in the SMS. In other words, courses with fewer available sections start at the top. Singletons are first, then doubletons, then tripletons, etc. 
  3. The scheduler sorts sections by the number of seats available in the section, starting with the section with the most empty seats. The goal is to keep an empty seat in every section.

Additionally, the scheduler balances by male and female genders, within sections of the same course.

As the process runs, a progress bar displays its progress. 

Schedule All Students progress bar

When the progress bar reaches 100%, a message will display, indicating that the scheduling process has run:

Scheduling Complete message

Additionally, an email will be sent when the scheduling process is complete:

Scheduling Complete Email message

Scheduling Results is displayed:

Scheduling Results statistics

Mass Update Student Schedules  

Five buttons under Mass Update Student Schedules are available for use during scheduling.

Mass Update Student Schedules buttons

Lock All Students' Schedules will lock students into their currently scheduled sections. Every scheduled section (SSS.SE = ###, where ### is a section number in the SMS) will be locked in the student's list of course requests. SSS.RT will be set to "*" indicating that the section is locked. On the Course Requests / Schedule page, a locked section is displayed as the following:

Locked section on Course Requests page

Lock All Complete Schedules:  if all of a students' course requests have associated sections (SSS.SE > 0), the student's entire schedule will be locked. Each section will be set with SSS.RT = "*" indicating that the section is locked. If a student has one or more course requests without a scheduled section (SSS.SE = 0), their schedule will not be locked.

Unlock All Students' Schedules will remove the locks on students' course requests. All locked sections will be unlocked with SSS.RT = ' ' (blank). Unlocking their schedules will allow the students to be scheduled into any section.

Clear All Unlocked Scheduling Results:  any unlocked section will be cleared from the student's course requests (SSS.SE will be set to 0). The course request will remain unchanged; only the scheduled section will be cleared out.

Clear Scheduling Reject Reasons:  all scheduling reject reasons will be cleared. Scheduling reject codes are stored in the SSS.RT field and displayed under the Reject column on Course Requests. For more information on scheduling reject reasons, see the Reject Code Descriptions in the Student Course Requests documentation. Note that locked sections (SSS.RT = '*') will not be cleared by Clear Scheduling Reject Reasons.

Note: the Mass Update Student Schedules buttons honor KEEP/SKIP queries.

Using KEEP or SKIP Queries and Scheduling  

Both the scheduling process and the buttons under Mass Update Student Scheduling honor KEEP/SKIP queries. This allows for sub-groups of students to be scheduled (and their schedules locked if needed), before a different or larger group of students are scheduled. 

If you'd like to schedule a specific group of students, a KEEP or SKIP statement can be run in Query. Once the KEEP or SKIP is run, a Stu Records are being skipped message will display in the top left corner and another warning will appear on the Schedule All Students page.

Stu Records are being skipped message

Lock/Unlock Mass Scheduling  

The Schedule All Students page includes a button which allows anyone with Admin permission to SMS to lock and unlock Mass Scheduling. Once the majority of students have been scheduled and the schedule is finalized and/or if students are being scheduled individually but the majority of students' schedules are in place, Mass Scheduling can be locked to prevent inadvertent scheduling of students. When Mass Scheduling is locked, the Schedule All Students page displays the following warning:

Scheduling All Students locked message

To enable Mass Scheduling, anyone with Admin permissions to SMS will see the Allow Mass Scheduling button, which can be pressed so that mass scheduling of students may resume.

Allow Mass Scheduling button