Monthly Release Webinar
Learn About New Features in First Due
Each month, we’ll cover the latest First Due releases in a dedicated webinar. Join us to review new features, product updates, and enhancements designed to help your agency get the most out of First Due.
Register for the WebinarNew Features
Advanced Rotations
- What - Advanced Rotations allow agencies to combine multiple active rotation patterns within a single rotation, with each layer applying to a configured Pre-determined Time Frame. Each layer independently evaluates its recurring X on / Y off pattern and offset, allowing personnel to follow different schedules during separate portions of a shift, such as day and night periods. Advanced Rotations use the existing rotation engine, dynamically render results on the Shift Board, and can be used wherever Standard Rotations are supported, including Kelly Day generation. Existing Standard Rotation behavior remains unchanged.
- Why - This enhancement was implemented due to customer request to support scheduling scenarios that require multiple recurring patterns across different timeframes within a single rotation.
-
How
- Before creating an Advanced Rotation, navigate to Scheduling → Setup → Pre-determined Time Frames and confirm that all required timeframes have been configured.
- Timeframes cannot be created from the rotation editor.
- If no timeframes are configured, the system prevents layer creation and saving.
- Before creating an Advanced Rotation, navigate to Scheduling → Setup → Pre-determined Time Frames and confirm that all required timeframes have been configured.
- Navigate to Scheduling → Setup → Rotations and create a new rotation.
- Open Rotation Type and select Advanced Rotation.
- Use Standard Rotation when only one recurring pattern is required.
- Configure the first rotation layer:
- Select a Timeframe.
- Select the applicable X on / Y off pattern.
- Enter an Offset in days if the pattern should begin after the rotation start date.
- Add and configure at least one additional active layer.
- Advanced Rotations require at least two active layers.
- Inactive layers do not count toward the two-layer minimum.
- Additional layers can be added when more timeframe-based patterns are required.
- Review any timeframe overlap warnings.
- Overlap warnings are non-blocking and do not prevent the rotation from being saved when all other requirements are satisfied.
- Preview the rotation and verify each layer's Timeframe, pattern, offset, and expected on/off recurrence.
- Each layer begins from the rotation start date plus its configured offset.
- When a layer evaluates to on, assigned personnel appear as working during that timeframe.
- When a layer evaluates to off, assigned personnel do not appear as working during that timeframe.
- Select Save.
- Apply the Advanced Rotation through the existing personnel-on-rotation workflow.
- Rotation results are dynamically rendered on the Shift Board and do not create stored shift records.
- Existing Kelly Day interpretation and off-day behavior remain unchanged.
- Use Case - An agency that uses different recurring staffing patterns during daytime and nighttime hours can create separate Pre-determined Time Frames for each period and configure an Advanced Rotation with one active layer for the daytime pattern and another for the nighttime pattern. Each layer can use its own X on / Y offpattern and offset, allowing the assigned employee's working status to be evaluated independently for each portion of the shift while continuing to use the existing Shift Board and rotation workflows.
Personnel Movement Rules
- What - Personnel Movement Rules introduce a configurable, rule-driven process for determining how personnel are selected and moved to fill staffing vacancies. Administrators can create prioritized rules based on Assignments, Qualifiers, Shared Groups, eligible personnel pools, excluded assignments, and organizational search tiers. Vacancy requirements, including Position Qualifiers and Shared Group staffing requirements, remain enforced throughout the evaluation process. A seeded System Default rule preserves the previous personnel movement behavior for backward compatibility.
- Why - This enhancement was implemented due to customer request to provide greater control over personnel movement decisions and allow staffing priorities to reflect organizational requirements without relying on hardcoded movement logic.
-
How
- Navigate to Scheduling → Setup → Automation → Movement Rules.
- Review the existing rules and the seeded System Default rule.
- The System Default rule can be edited or deactivated but cannot be deleted.
- Custom rules are evaluated before the System Default rule.
- Select Add Rule and enter a descriptive rule name.
- Configure the Rule Scope to determine which vacancies the rule evaluates:
- All Assignments – Evaluates all required vacancies.
- Assignment – Evaluates required vacancies within selected assignments.
- Qualifier – Evaluates vacancies requiring the selected qualifier.
- Shared Group – Evaluates assignments associated with the selected shared group.
- Configure the Movable Personnel Pool:
- Unassigned Only
- Non-Required Only
- Combined (Unassigned + Non-Required)
- Configure Excluded Assignments, if needed, to prevent personnel assigned to those assignments from being included in the eligible movement pool.
- Excluded assignments do not prevent vacancies within those assignments from being evaluated.
- Configure Tier Expansion to determine how far the system searches for eligible personnel:
- Assignment
- Station
- Division
- Agency
- The system searches selected tiers in that order and expands to the next selected tier when an eligible candidate is not found.
- If Agency is not selected, the search stops at the highest selected tier and remaining vacancies may remain unfilled.
- Select Save to add the rule to the movement evaluation order.
- Reorder rules as needed to establish evaluation priority.
- Rules are evaluated from the top of the list downward.
- Inactive rules are skipped.
- New rules are inserted above existing rules.
- During personnel movement, the system continues to enforce applicable Position Qualifier and Shared Group requirements.
- Personnel must satisfy all applicable vacancy requirements before a movement recommendation can be generated.
- After required vacancies are evaluated, non-required vacancies may be evaluated using the same rule order when eligible unassigned personnel remain.
- Use Case - An agency can create a high-priority rule for vacancies requiring a specialized qualification, configure the rule to first search for eligible personnel within the same Assignment or Station, and then expand to the Division or Agency when necessary. Additional rules can prioritize specific assignments or shared staffing groups before a broader rule handles remaining vacancies. This allows administrators to minimize unnecessary personnel movement while ensuring that every recommended employee satisfies the qualifications and staffing requirements associated with the vacancy.
Enhancements
Division Filter for Unassigned Personnel
- What - Introduced a Division filter to the Unassigned Person panel on the Scheduling Shift Board, allowing schedulers and dispatchers to filter unassigned personnel by Division in addition to the existing Rotation filter. The enhancement reuses the existing filter interface while retrieving live Division data from the Personnel module. To provide a streamlined experience, the Division and Rotation filter types are mutually exclusive, ensuring only one filter type is active at a time.
- Why - Implemented due to customer request to provide additional flexibility when locating and assigning unassigned personnel, enabling organizations that organize staffing by Division to more efficiently identify the appropriate personnel for open assignments.
-
How
- Navigate to Scheduling > Shift Board.
- Open the Unassigned Person panel.
- Select the Division filter option.
- Choose one or more available Divisions from the list to display only personnel assigned to those Divisions.
- Switch back to the Rotation filter at any time if you prefer to filter by Rotation.
- Use Case - An agency organizes personnel across multiple operational Divisions, such as Operations, Training, or Administration. When filling an open assignment, a scheduler can quickly filter the Unassigned Person panel by the appropriate Division to locate eligible personnel without manually searching through the entire unassigned list, improving assignment efficiency and reducing scheduling time.
Improved Call Shift Processor Eligibility
- What - Optimized the call shift processor by refining the eligibility logic used to determine which call shifts are evaluated during each processing cycle. Rather than loading a broad set of call shifts that are unable to change state, the processor now selects only shifts that are eligible for action during the current run, including scenarios such as deadline handling, wait-time expirations, queued progression, scheduled activation, and tier-required processing. This optimization does not modify existing call shift processing behavior or state transitions.
- Why - Implemented to improve scheduling performance by reducing unnecessary database activity and processing overhead. Analytics showed that a large percentage of call shifts being evaluated during each processing cycle required no action, making the processor less efficient than necessary.
-
How
- No configuration or user action is required.
- The optimization is applied automatically by the scheduling processor.
- Existing Call Shift Rules and processor behavior continue to function as configured.
- Note: This enhancement changes only how eligible call shifts are selected for processing and does not alter downstream call shift workflows or business logic.
- Use Case - An agency with a large number of scheduled and historical call shifts processes call shift activity throughout the day. With this enhancement, the processor evaluates only call shifts that are capable of advancing during the current processing cycle, reducing unnecessary system workload while maintaining the same scheduling behavior and improving overall system performance.
Bugs
User Ranking Details Displays Configured Charged Hours
- What - Resolved an issue where the User Ranking Details view in the Scheduling module displayed the raw Call Shift duration instead of the configured charged hours defined in Scheduling > Setup > Call Shift Rules > Hours Settings. With this fix, the User Ranking Details view now displays the configured charged hours, ensuring consistency with the Ranking Value column and Payroll Report.
- Why - Implemented due to customer request to ensure User Ranking Details accurately reflects configured charge rules, providing consistent ranking information across the Scheduling module and preventing confusion when reviewing user ranking totals.
-
How
- Navigate to Scheduling > Setup > Call Shift Rules > Hours Settings.
- Configure charged hour ranges as needed for your agency's Call Shift rules.
- Open the User Ranking Details view for a user.
- Verify that the displayed charged hours now match the configured Hours Settings.
- Note: The Ranking Value column and Payroll Report already reflected the configured charged hours and are unchanged by this update.
- Note: This improvement is controlled by a feature flag and will be available as agencies receive the feature.
- Use Case - An agency configures a 14-hour Call Shift to charge 12 ranking hours based on its Hours Settings. After this update, schedulers reviewing the User Ranking Details view will see 12 charged hours instead of the full 14-hour shift duration, ensuring ranking totals remain accurate and consistent across Scheduling reports and ranking calculations.