Employee Scheduling - Planning Your Workforce
Site Service Pro's scheduling system helps you plan and manage your workforce across multiple projects. This guide covers everything you need to know about scheduling employees, managing shifts, and tracking availability.
Overview
What Employee Scheduling Does
- Assign employees to specific projects and dates
- Track scheduled hours by shift type
- Detect scheduling conflicts when employees are double-booked
- Manage employee availability (PTO, vacation, sick leave)
- View schedules in calendar or list formats
Key Concepts
| Term | Description |
|---|---|
| Schedule | An assignment of an employee to a project for a specific date/time range |
| Shift Type | Day, Night, or Swing shift classification |
| Status | Current state: Scheduled, Confirmed, In Progress, Completed, or Cancelled |
| Priority | Urgency level: Low, Normal, High, or Critical |
| Availability | Periods when an employee is unavailable (PTO, vacation, etc.) |
Accessing the Schedule
- Click Scheduling in the left navigation menu
- The default view shows the current week's calendar
Required Permissions
To view schedules:
- CanViewScheduling global permission, OR
- Admin/System Admin role
To create or edit schedules:
- CanEditScheduling global permission, OR
- Admin/System Admin role
Calendar Views
Week View (Default)
The week view displays a grid with:
- Columns: Days of the week (Mon-Sun)
- Rows: Employees with schedules
- Events: Color-coded schedule blocks
Color Coding:
| Color | Status |
|---|---|
| 🔵 Blue | Scheduled |
| 🟢 Green | Confirmed |
| 🟠 Orange | In Progress |
| 🟢 Dark Green | Completed |
| ⚫ Gray | Cancelled |
| 🔴 Red | Unavailable |
Navigation:
- ← Previous Week / Next Week → buttons
- Today button to jump to current week
- Date range shown in header
Month View
Shows a full calendar month with:
- Event counts per day
- Click any day to see detailed schedule list
- Overview of employee and equipment counts
Employee List View
A detailed table showing:
- Employee name and email
- Project assignment
- Role on project
- Date/time range
- Scheduled hours
- Status with color badge
- Edit and delete buttons
Scheduling an Employee
Step 1: Open the Schedule Modal
- Click the Schedule Employee button (top right)
- The scheduling form opens
Step 2: Select Employee
- Click the Employee dropdown
- Search or scroll to find the employee
- Select their name
Note: Only active employees appear in this list.
Step 3: Select Project
- Click the Project dropdown
- Search by project name or number
- Select the project
Step 4: Set Date and Time
Start Date/Time:
- Select the date work begins
- Set the start time (e.g., 7:00 AM)
End Date/Time:
- Select the date work ends
- Set the end time (e.g., 3:30 PM)
Tip: For multi-day assignments, set the end date to the last day of work.
Step 5: Add Details (Optional)
Scheduled Hours: Enter total hours if different from calculated time.
Role: Specify the employee's role on this project:
- Foreman
- Lead Technician
- Operator
- Laborer
- Helper
- (Or custom text)
Shift Type:
| Option | Typical Hours |
|---|---|
| Day | 6:00 AM - 6:00 PM |
| Night | 6:00 PM - 6:00 AM |
| Swing | Varies |
Status:
| Status | When to Use |
|---|---|
| Scheduled | Initial assignment (default) |
| Confirmed | Employee acknowledged |
| In Progress | Work has started |
| Completed | Assignment finished |
| Cancelled | No longer needed |
Priority:
| Priority | When to Use |
|---|---|
| Low | Flexible timing |
| Normal | Standard assignment (default) |
| High | Important deadline |
| Critical | Urgent/emergency |
Notes: Add any special instructions or comments.
Step 6: Save
Click Save to create the schedule.
Understanding Schedule Conflicts
What Is a Conflict?
A conflict occurs when an employee is scheduled to multiple projects during overlapping times.
How Conflicts Are Detected
When you create or edit a schedule, the system automatically checks for:
- Same employee
- Overlapping date/time ranges
- Non-cancelled schedules
Conflict Warnings
If a conflict is found:
- A warning is displayed
- Shows the conflicting project
- Shows the overlap duration
- You can still save (conflicts are warnings, not blocks)
Example Conflict
⚠️ Conflict Detected
Employee: John Smith
Overlap: 4 hours
Schedule 1: ABC Corp Project
Jan 15, 8:00 AM - 5:00 PM
Schedule 2: XYZ Building (new)
Jan 15, 1:00 PM - 6:00 PM
The schedules overlap from 1:00 PM to 5:00 PM
Resolving Conflicts
Options for handling conflicts:
- Adjust times - Change start/end to avoid overlap
- Different day - Move one assignment
- Accept overlap - If employee can split time
- Cancel one - If truly double-booked
Managing Employee Availability
What Is Availability?
Availability records track when employees are NOT available for scheduling:
- Vacation
- PTO (Paid Time Off)
- Sick Leave
- Training
- Other reasons
Adding Unavailable Time
- Go to Scheduling
- Click Manage Availability (if available) or use API
- Select the employee
- Set the unavailable period:
- Start date/time
- End date/time
- Reason (Vacation, Sick Leave, Training, Other)
- Notes
How Availability Affects Scheduling
- Unavailable periods show in the calendar as red blocks
- Employees with availability conflicts will trigger warnings
- Helps prevent scheduling someone who's on vacation
Approving Time Off
Some organizations require approval for availability:
- IsApproved flag indicates approval status
- ApprovedBy shows who approved
- ApprovedAt shows when approved
Recurring Schedules
What Are Recurring Schedules?
For employees who work the same project on a regular basis, you can create recurring schedules instead of entering each day individually.
Setting Up Recurring Schedules
When creating a schedule:
- Check Is Recurring
- Select Recurrence Pattern:
- Daily
- Weekly
- Bi-Weekly
- Monthly
- Set Recurrence End Date
Example: Weekly Schedule
Employee: Jane Doe
Project: Maintenance Contract - City Hall
Pattern: Weekly
Start: Monday, Jan 6, 8:00 AM - 4:00 PM
End: Friday, March 28
Result: Creates schedules for every Monday from Jan 6 to March 28
Editing Recurring Schedules
When editing a recurring schedule:
- Changes apply to the selected instance only
- Parent schedule tracks the recurrence pattern
- Child schedules are individual instances
Schedule Statuses Explained
Scheduled (Default)
Initial state when schedule is created.
- Employee is assigned
- Work hasn't started
- May need confirmation
Confirmed
Employee has acknowledged the assignment.
- Use when employee confirms availability
- Shows commitment to the work
In Progress
Work has begun.
- Update when employee starts
- Useful for tracking active assignments
Completed
Assignment is finished.
- Update when work is done
- Historical record keeping
Cancelled
Assignment was cancelled.
- Employee no longer needed
- Schedule conflicts resolved
- Project changes
Tip: Don't delete schedules - cancel them instead to maintain history.
Filtering and Searching
Filter Options
At the top of the scheduling page:
Project Filter:
- Select a specific project
- Or "All Projects"
Status Filter:
- All Statuses
- Scheduled
- Confirmed
- In Progress
- Completed
- Cancelled
Date Range:
- Start Date
- End Date
Using Filters Effectively
See all assignments for one project:
- Select the project from dropdown
- Clear date filters for full history
See today's active work:
- Set start/end to today
- Status: "In Progress"
Find available employees:
- Review who's NOT scheduled
- Check availability records
Best Practices
Daily Planning
- Review tomorrow's schedules each afternoon
- Confirm assignments with employees
- Check for conflicts
Weekly Planning
- Schedule the upcoming week on Friday
- Allow buffer time between projects
- Consider travel time
Communication
- Use Notes field for special instructions
- Update status as work progresses
- Mark completed when done
Conflict Management
- Address conflicts immediately
- Don't ignore warnings
- Communicate changes to affected employees
Availability Management
- Enter PTO/vacation as soon as known
- Keep availability current
- Plan around known unavailability
Common Questions
Can I schedule the same employee on two projects the same day?
Yes, but you'll receive a conflict warning. This is allowed for cases where an employee splits time between projects.
How do I see who's available on a specific date?
View the calendar for that date and look for employees without assignments. Also check the availability records for PTO/vacation.
Can employees see their own schedules?
Employees with appropriate permissions can view schedules. The visibility depends on your permission settings.
What happens if I delete a schedule?
The schedule is permanently removed. Consider using "Cancelled" status instead to maintain historical records.
Can I copy a schedule to another week?
Currently, use recurring schedules for repeated patterns, or manually create new schedules.
Related Articles
- Equipment Scheduling - Schedule equipment and vehicles
- Understanding Users and Permissions - Permission setup
- Creating Projects - Project management