Skip to main content

Workforce Management System Documentation

Overview

This documentation covers the core concepts of our workforce management system: Shift, Schedule, and Roster. These three components work together to provide comprehensive employee scheduling and workforce planning capabilities.


Shift Management

What is a Shift?

A Shift in our application represents a comprehensive work period configuration that includes not only the time duration but also associated work parameters and compensation details.

Shift Components

Time Period

  • Start Time: When the shift begins
  • End Time: When the shift concludes
  • Duration: Total working hours for the shift
  • Break Times: Scheduled rest periods within the shift

Compensation Parameters

  • Base Rate: Standard hourly rate for the shift
  • Overtime Rules: Overtime calculation parameters
  • Allowances: Additional compensation (meal allowance, transport allowance, etc.)
  • Shift Differentials: Premium pay for specific shifts (night shift, weekend, etc.)

Break Configuration

  • Break Duration: Length of each break period
  • Break Type: Paid or unpaid breaks
  • Break Schedule: When breaks occur during the shift
  • Meal Breaks: Extended breaks for meals

Shift Types

{
"shiftTypes": [
{
"id": "day-shift",
"name": "Day Shift",
"startTime": "09:00",
"endTime": "17:00",
"duration": 8,
"overtime": {
"threshold": 8,
"rate": 1.5
},
"allowances": {
"meal": 50,
"transport": 30
},
"breaks": [
{
"type": "short",
"duration": 15,
"paid": true,
"time": "10:30"
},
{
"type": "lunch",
"duration": 60,
"paid": false,
"time": "13:00"
}
]
}
]
}

Use Cases

  • Creating standardized work periods
  • Defining compensation structures
  • Managing break schedules
  • Setting overtime rules

Schedule Management

What is a Schedule?

A Schedule is a 5-week, 7-day grid system that allows administrators to assign specific shifts to each day of the week. This creates a comprehensive view of work assignments over a 35-day period.

Schedule Structure

Grid Layout

Week 1: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Week 2: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Week 3: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Week 4: Mon | Tue | Wed | Thu | Fri | Sat | Sun
Week 5: Mon | Tue | Wed | Thu | Fri | Sat | Sun

Schedule Components

  • Time Period: 5 consecutive weeks (35 days)
  • Daily Assignments: Each day can have one or more shifts assigned
  • Shift Allocation: Multiple shifts can be assigned to cover 24/7 operations
  • Weekend Configuration: Special handling for Saturday and Sunday

Schedule Features

Shift Assignment

  • Single Shift: One shift per day
  • Multiple Shifts: Multiple shifts for 24/7 coverage
  • Split Shifts: Divided work periods within a day
  • Flexible Scheduling: Different shifts for different days

Weekend Management

  • Weekend Shifts: Special shifts for Saturday and Sunday
  • Weekend Rates: Different compensation for weekend work
  • Weekend Policies: Specific rules for weekend assignments

Schedule Example

{
"scheduleId": "SCH-2024-001",
"name": "Production Schedule Q1",
"duration": "5 weeks",
"startDate": "2024-01-01",
"endDate": "2024-02-04",
"weeklyGrid": {
"week1": {
"monday": ["day-shift"],
"tuesday": ["day-shift"],
"wednesday": ["day-shift"],
"thursday": ["day-shift"],
"friday": ["day-shift"],
"saturday": ["weekend-shift"],
"sunday": ["rest-day"]
},
"week2": {
"monday": ["day-shift", "night-shift"],
"tuesday": ["day-shift", "night-shift"],
// ... continues for all 5 weeks
}
}
}

Employee Assignment

Once a schedule is created, it can be assigned to employees:

{
"employeeAssignments": [
{
"employeeId": "EMP-001",
"scheduleId": "SCH-2024-001",
"assignedDate": "2024-01-01",
"effectiveFrom": "2024-01-01",
"effectiveTo": "2024-02-04"
}
]
}

Roster Management

What is a Roster?

A Roster is the configuration system that determines how schedules are applied to employees. It manages whether schedule assignments are automatic, manual, or follow specific rotation patterns.

Roster Configuration Types

Automatic Rotation

  • Round Robin: Equal distribution among all employees
  • Skill-Based: Assignment based on employee skills
  • Seniority-Based: Assignment based on employee seniority
  • Workload Balancing: Even distribution of work hours

Manual Assignment

  • Administrator Control: Manual assignment by managers
  • Employee Preferences: Considering employee availability
  • Custom Rules: Specific business rules for assignment

Hybrid Approach

  • Semi-Automatic: Automatic with manual overrides
  • Rule-Based: Automatic following predefined rules
  • Approval Workflow: Automatic assignment with approval process

Roster Settings

{
"rosterConfig": {
"id": "ROSTER-CONFIG-001",
"name": "Production Team Roster",
"type": "automatic",
"rotationPattern": "round-robin",
"settings": {
"autoAssignment": true,
"rotationCycle": "weekly",
"fairDistribution": true,
"skillMatching": true,
"maxConsecutiveDays": 6,
"minRestDays": 1,
"overtimeRules": {
"maxWeeklyHours": 48,
"maxDailyHours": 10
}
},
"employeePool": [
"EMP-001",
"EMP-002",
"EMP-003"
],
"scheduleTemplates": [
"SCH-TEMPLATE-001",
"SCH-TEMPLATE-002"
]
}
}

Rotation Rules

Fairness Rules

  • Equal Hours: Ensure equal work hours distribution
  • Equal Weekends: Fair weekend assignment rotation
  • Equal Overtime: Balanced overtime opportunities

Compliance Rules

  • Labor Laws: Adherence to legal working hour limits
  • Union Rules: Compliance with union agreements
  • Company Policies: Internal workforce policies

Operational Rules

  • Minimum Staffing: Ensure adequate coverage
  • Skill Requirements: Match skills to shift requirements
  • Emergency Coverage: Protocols for unexpected absences

System Integration

Workflow Process

  1. Create Shifts

    • Define time periods
    • Set compensation parameters
    • Configure breaks and allowances
  2. Design Schedule

    • Create 5-week grid
    • Assign shifts to each day
    • Handle weekend configurations
  3. Configure Roster

    • Set rotation rules
    • Define assignment logic
    • Establish fairness criteria
  4. Assign to Employees

    • Apply roster configuration
    • Generate employee assignments
    • Handle conflicts and exceptions

Data Flow

graph TD
A[Shift Definition] --> B[Schedule Creation]
B --> C[Roster Configuration]
C --> D[Employee Assignment]
D --> E[Work Period Execution]
E --> F[Performance Tracking]

API Endpoints

Shift Management

  • POST /api/shifts - Create new shift
  • GET /api/shifts - List all shifts
  • PUT /api/shifts/{id} - Update shift
  • DELETE /api/shifts/{id} - Delete shift

Schedule Management

  • POST /api/schedules - Create new schedule
  • GET /api/schedules - List all schedules
  • PUT /api/schedules/{id} - Update schedule
  • POST /api/schedules/{id}/assign - Assign to employee

Roster Management

  • POST /api/roster/config - Create roster configuration
  • GET /api/roster/config - Get roster settings
  • POST /api/roster/generate - Generate assignments
  • GET /api/roster/assignments - View current assignments

Best Practices

Shift Design

  • Keep shifts consistent for employee predictability
  • Include adequate break time
  • Consider employee preferences for shift timing
  • Regular review of overtime and allowance rates

Schedule Planning

  • Plan schedules at least 2-3 weeks in advance
  • Consider business peak periods
  • Allow for employee leave and absences
  • Maintain flexibility for urgent changes

Roster Management

  • Regularly review rotation fairness
  • Monitor employee satisfaction with assignments
  • Adjust rules based on operational needs
  • Maintain clear communication about roster changes

Compliance

  • Ensure all configurations comply with labor laws
  • Regular audits of working hours and overtime
  • Document all roster rule changes
  • Maintain employee consent for schedule changes