Scheduling overview

Conceptually, a schedule in the system is tabular data with rows that refer to employees and columns that refer to time units. Various entities and attributes are assigned to the cells in the table for the purpose of managing the employees' time, with links to other parts of the system, notably Timekeeping, People, payroll, and accruals.

Scheduling makes it possible for different types of users to manage the schedule in different ways:

  • A manager responsible for a set of employees can create, display, analyze, modify, and post the schedule for a specific period of time, for those employees.
  • An employee can display the employee's own work schedule for a specific period, make requests for time off and receive approval or rejection from the manager.
  • A scheduling manager or a business analyst can establish rules that define and limit the interaction of the manager and the employee.
  • An IT professional or business analyst can automates the process of creating or modifying a schedule without violating the Schedule rules.

The following topics are covered in this overview:

Viewing the schedule

While the Schedule user interface provides functionality for viewing and interacting with the schedule's data in a visual environment, our API provides your application with instantaneous, direct access to that same vast array of scheduling data.

Two aspects of viewing the schedule can be accessed via the API gateway: the manager view and the employee restricted view. There are only two differences between the two views. The employee restricted view provides a read-only view of the employee's own schedule, whereas the manager view provides a read-write view of the schedule for all employees under the manager's responsibility.

For the manager view, start and end dates or a symbolic period must be defined. Different business structure locations and HyperFinds can be used to load different sets of employee schedules. The resulting schedule contains lists of entities (shifts, pay code edits, holidays, and locked days) and employees loaded.

For the employee view, start and end dates or a symbolic period must be configured. The resulting schedule contains lists of entities (shifts, pay code edits, holidays) for the employee.

Shifts

Employees work shifts of a specific length on a specific day (or spanning the divide between two days). Shifts can exist any time in the past, present, or future. The manager or the system must explicitly assign these parameters:

  • Start time and date
  • End time and date
  • Employee assigned

A shift can have a label and can include the child objects Comment and Notes, but neither are mandatory.

Managers working outside Scheduling define the business structure jobs and other administrative classes and assign them to specific employees. Other managers configure the system to allow specific employees to be transferred to other administrative classes. Thus, when a manager assigns a shift to an employee, the manager is indirectly specifying the business structure job and other classes associated with the shift, and the flexibility that this employee has for being assigned to various classes of work. These associations are called transfers and may include the business structure job normally assigned to the employee, the jobs, work rules, payer cost centers, or labor categories under which the employee is allowed to work.

Segment structure

A shift has a segment structure, even if it consists of only one segment. However, shifts can be divided into segments. Like a shift, segments always have a start time and date, an end time and date and may have some of the same optional characteristics of a shift. But the employee assigned is always the employee assigned to the "parent" shift. Furthermore, there is one characteristic of a shift segment that a shift cannot have: a shift segment can be defined as a break type segment. A break segment has no associated business structure job, no work rule, no payer cost center and no labor category. The start and end time of all segments in a shift must be chained so that the end time of the first segment is identical to the start time of the second segment, and so on.

Other possible parameters of shifts include group inheritance and template inheritance.

Group inheritance

Shift parameters may be inherited from a group shift. A group shift has the same set of parameters as a shift, but does not directly reference a specific employee. Instead it references a group entity, which lists employees that belong to that group. If a group shift is added, modified, or deleted, the shift is added, modified, or deleted for all employees in that group.

Template inheritance

Shifts may be linked to a shift template. A shift template has the same set of parameters as a shift, but does not reference a specific employee or a specific date. Thus shift templates can be assigned to individual employees on any day. If a shift template is modified by a manager, the system applies the same modification to all instances of that shift template in the schedule that manager controls.

Pay code edits

Pay code edits allow the manager to associate certain days or hours in an employee's schedule with administrative characteristics outside the scope of Scheduling. The main characteristics of a pay code edit are:

  • the pay code (a constituent part of a pay code edit)
  • the employee
  • the date
  • the amount (either numeric or symbolic)

The pay code is defined in Timekeeping and is associated with accruals and payroll. Common examples include the pay codes "Sick," "Vacation," "Training," "Holiday," and so on.

A pay code edit is an instance of a pay code associated with a specific employee at a specific time and thus part of the employee's schedule.

For example, a manager might assign an employee a Vacation pay code for the first two weeks of July to replace two weeks of regularly scheduled work, or a Sick pay code to replace half the scheduled work day of January 3, 2017.

Pay code edits without reference to a specific number of hours refer instead to an amount of money. They are nonetheless associated with a date on the schedule. For example, a manager may assign a Bonus type pay code to an employee on an annual or quarterly basis and specify that a specific amount of money be granted to the employee in that pay period.

Once assigned, the entity is called a pay code edit. Pay code edits can include the child objects Comment and Notes.

Pay code edit parameters may be inherited from a group pay code edit. A group pay code edit has the same set of parameters as an ordinary pay code edit, but does not directly reference a specific employee. Instead it references a group entity; the group entity lists employees that belong to that group. If you add, modify, or delete a group pay code edit, the system replicates the same change for all employees in that group.

Day locks

Managers can lock a specific day or number of days for a specific employee or number of employees. A manager cannot modify a locked day by adding or deleting entities assigned to it, nor can a manager modify any existing entity assigned to that day. Managers can also unlock locked days.

Schedule patterns

A schedule pattern is a repeating sequence of shifts and/or pay code edits, with a start date and an end date (the end date may be designated "Forever"). When the manager assigns a pattern for an individual employee or a group of employees, Patterns can be overlaid or sequential in application. A schedule pattern can temporarily (until its end date) replace an existing, longer-term pattern. Or it can completely overwrite and permanently replace an existing pattern as of a certain date.

Patterns can be assigned to groups with inheritance, in which case they apply to all the employees in the group. If the manager modifies group's pattern, the system makes the corresponding modification in the schedule for each employee.

Time-off requests

An employee can define and submit a request to be excused from working for a specific period and a specific reason. The manager receives the request and can approve or reject it. The employee in turn is notified and if approved, the time previously scheduled to be worked becomes a pay code. If the manager rejects the request, the employee may submit a modified request. Comments and Notes can be attached to the request and the response. Time-off requests are linked to pay codes and provide administrative control and record-keeping functions to payroll, accruals, and other functions.

Posting and un-posting a schedule

When a schedule is final, or nearly final, the manger posts it for employees to see. This locks the entities in the schedule. The organization may define a period during which employees or managers can request. In order to make changes, the manager must un-post the schedule, make the changes, then repost the schedule with the changes included.

Request submission periods

Request submission periods define when employees can submit a specific type of time-off request and the period when the time off may be taken. For example, in a certain department, the period when summer vacation may be taken runs from June 1 to August 31. Employees are required to request their summer vacation time off no earlier than January 1 and no later than April 30. After April 30, the request submission period closes automatically and if an employee requests vacation time between June 1 and August 3, the system rejects the request.