Today, we're announcing version v1.2.0 of the Timefold Platform and updates to the Timefold models.
This new version of the Timefold Platform comes with these platform improvements:
- Comparison UI improvements: When comparing two datasets, you can now view a spider chart of key metrics alongside priority metrics, allowing for better customization of and insights into your comparison reports. Additionally, you can now compare the configuration and constraints of two datasets directly in the comparison UI, not just the output metrics. This makes it easier to understand what drove a difference in results.

- Validation warnings and errors surface in the UI: Input validation warnings and errors from the model are now displayed in the UI, with machine-readable types. Validation issues are currently only shown for the Field Service Routing model.
- Several bug fixes, including validation data causing 404 errors on new datasets.
Next to that, this new version of the Timefold Platform comes with updates to these Timefold Models:
Employee Shift Scheduling (v1 | Stable)
- Granular employee priority: You can now assign fine-grained numeric priority values to employees, allowing the solver to prefer higher-priority employees when assigning shifts.
- Complex tag matching expressions: Tag matching in rules now supports complex boolean expressions, not just simple single-tag matches.
- Multi-hour time intervals in demand rules: Demand rules can now span multiple hours in a single interval definition, reducing the number of rules needed for common patterns.
- Tags on breaks: You can now assign tags to breaks, enabling tag-based constraints to apply to break assignments as well as shift assignments.
Field Service Routing (v1 | Stable)
- Profit as an objective function: You can now configure profit as the primary objective, allowing the solver to optimize revenue minus cost rather than pure cost minimization.
- Enhanced soft grouping of visits: This allows for user-defined grouping of visits that should be executed consecutively.
- Maximum visits per shift: You can now setmaxVisitsandmaxSoftVisitson a shift to cap how many visits a technician performs in that shift.
- Explicit optional visit priorities: You can now assign explicit priority values to optional visits, giving you finer control over which optional visits are included when capacity is constrained.
- Additional time for the first visit at a location: You can now define extra setup time for the first visit at a location, useful for scenarios where the first arrival incurs additional overhead.
Pick-up and Delivery Routing (v1 | Preview)
- Demands at the job level: You can now define capacity demands at the job level rather than only at the stop level, simplifying configuration for jobs where all stops share the same demand.
Please let us know if you have feedback.