Dynamic Resource Scheduler
Whats New!
DRS 6, DRS 5.7 and Job Manager
User Guides and Help
Get to Know DRS
Dynamic Scheduling - How does it work
Navigating DRS
Vocabulary and Concepts
Customers
Orders
Jobs
Scheduling Jobs
Job Functions
Workers
Views
Object Inheritance
Agencies
DRS Modules
Scenario Based Planning
Managing your SMS Service
5.7 Documentation
Technical Documentation
Release Notes
DRS 6.1 Release Notes
DRS 6.1.22 - February 20, 2026
DRS 6.1.21 - September 10, 2025
DRS 6.1.20 - April 20th, 2025
DRS 6.1.19 - 11th April, 2025
DRS 6.1.18 - 13 February 2025
DRS 6.1.17 - 20th December 2024
DRS 6.1.16 - November 8th, 2024
DRS 6.1.15 - October 10th, 2024
DRS 6.1.14 - 6th September 2024
DRS 6.1.13 - 9th August 2024
DRS 6.1.12 Release Notes
DRS 6.1.11 Release Notes
DRS 6.1.10 Release Notes
DRS 6.1.9 Release Notes
DRS 6.1.8 Release Notes
DRS 6.1.7 Release Notes
DRS 6.1.6 Release Notes
DRS 6.1.5 Release Notes
DRS 6.1.4 Release Notes
DRS 6.1.3 Release Notes
DRS 6.1.2 Release Notes
DRS 6.1.1 Release Notes
DRS 6.1.0 Release Notes
DRS 6.0 Release Notes
DRS 6.0.0.0 Release Notes
DRS 6.0.0.1 Release Notes
DRS 6.0.0.2 Release Notes
DRS 6.0.0.3 Release Notes
DRS 6.0.0.4 Release Notes
DRS 6.0.0.6 Release Notes
DRS 6.0.1.0 Release Notes
DRS 6.0.1.1 Release Notes
DRS 6.0.1.2 Release Notes
DRS 6.0.1.3 Release Notes
DRS 6.0.1.4 Release Notes
DRS 6.0.1.5 Release Notes
Kirona Housing
Job Manager 9
Job Manager 9.3.0 - October 2024
Job Manager 9.1.0 - December 2022
Job Manager 9.2.0 - November 2023
Release Notes Disclaimer
Administering your Field Service Products
Supported Versions Policies
Contents
- All categories
- Dynamic Resource Scheduler
- Whats New!
- Modules and Utilities
- Cyclical Scheduling - Now Bulk Scheduling
Cyclical Scheduling - Now Bulk Scheduling
Updated
by Andrew Dotto
With the release of Dynamic Resource Scheduler, Cyclical Scheduling has been significantly enhanced to support all of your Bulk Scheduling needs.
Bulk Scheduling can now run against any job list you define. Using the power of Scheduled Services, user-defined datasets now drive your scheduling configuration, allowing you to control which jobs form part of your scheduling backlog. This introduces greater flexibility while retaining the capabilities of the original cyclical scheduling functionality.
Alongside this enhancement, two new scheduling operations have been introduced.
Cyclical Scheduling - Why it Works
The Cyclical Module allows you to schedule large quantities of jobs using configurable scheduling parameters. These parameters can be tailored to support the specific timing requirements of compliance, servicing, or any other type of large scale work that you need to organise for your resource pool.
Previous versions of this function would typically take tasks raised in bulk from a back-office system, identifies them though fixed data points, and then uses a combination of sorting and line-of-site scheduling, to efficiently fill your resource diaries.
This approach produces structured and efficient routes while remaining lightweight and fast. By avoiding the full dynamic optimisation engine, large volumes of cyclical work can be scheduled quickly and predictably.
Introducing Two New Scheduling Modes!
The new Bulk Scheduling function introduces two scheduling modes.
Greedy Mode works similarly to the previous implementation, using sorting and line-of-sight scheduling to place work quickly and efficiently.
Optimised Mode uses the power of the optimisation solver to generate schedules aligned with the standard dynamic scheduling experience.
Greedy Mode
Greedy Mode works similar to the original Cyclical Scheduling you have previously used. The process is simple, defined and efficient.
- Load unplanned jobs from DB via grid definition or service order query
- Sort jobs by configured sequence (postCode, targetDate, priority, template, distance)
- Optional pre-run: if possible, match jobs to existing scheduled jobs at same location
- For each job: set planning period, call DSS ScheduleJob command
- AM/PM cascade: up to 4 passes per job (AM → PM → allDay → nextDay) to determine best fit within the schedule
- Track diary fill % and maxJobs per worker in-memory to ensure scheduling rules are met
- Post-schedule: create Unavailabilities, remove locks, commit batch and resources.
Optimized Mode
Optimised mode is our new scheduling function for bulk scheduling tasks. Still focusing on your configuration requirements, jobs are no longer sorted via line of sight or proximity, but passed, sorted and ordered, in bulk to our optimising Solver. This scheduling will take longer, but will provide an optimised result based on your configuration and our adaptative travel time matrix.
- Load unplanned jobs from DB via grid definition or service order query
- Update planning periods in DB for all the jobs selected within the batch
- Build a scheduling queue for the Solver using scheduling criteria and restrictions
- Manage daily Unavailabilities within the Solver to manage your defined AM/PM configurations
- Manage resource availability with limitations, quotas and job limits
- Schedule jobs using Solver Optimisation within ordered batches
- Complete batch schedule and commit to resources.
Key Differences
Key Differences | ||
Greedy | Optimized | |
AM/PM enforcement | Managed though manipluating the planning period through customer configuration | Solver Determined based on Unavailabilities and Slot rules |
How does it fill the Diary? | An in-memory tracker resolves conflicts and availability per diary, or configured scheduling resource | The Dynamic Resource Scheduler Solver uses Scheduling Quotas and current loading to determine the best scheduling solution |
Max jobs/worker/day | An in-memory tracker resolves conflicts and Job Loading per diary | The Dynamic Resource Scheduler Solver uses Scheduling Quotas and current loading and configurations to determine the best scheduling solution |
Travel optimization | Jobs are sorted and a custom heuristic algorithm is used to determine optimal job scheduling and diary fit | Our Dynamic Resource Scheduler Solver is engaged to ensure that the most optimal route is applied at each scheduling request |
Scalability | Slow for large batches, but does not require large scale Solver interactions, providing for scheduling with limited solver performance impact. | Faster for large batches, but requires high volume Solver calculations which may slightly impact solver performance. |