new
improved
fixed
Timefold Platform
Employee Shift Scheduling
Field Service Routing
Pickup & Delivery Routing
Pick-up and Delivery Routing 1.0 release, and more improvements
Today, we're announcing version v1.6 of the Timefold Platform and updates to the Timefold models.
This new version of the Timefold Platform comes with these platform improvements:
- Spider chart tooltips with percentages: In experiment comparison charts, each axis in the spider tooltip now includes a percentage delta alongside the absolute value, making it easier to compare solver configurations at a glance. See comparing datasets for more details.

- Discover caller identity: The platform has a newGET /api/aboutmeendpoint that returns information about the API key behind the current request likethe tenant it belongs to, and the access permissions granted to it. See API usage for more details.
- Several bug fixes and stability improvements.
Next to that, this new version of the Timefold Platform comes with updates to these Timefold Models:
Field Service Routing (v1 | Stable)
- Visits can now be assigned even when blocking dependent visits: By default, if assigning the preceding visit in a dependency prevented the following visit from being assigned, the preceding visit was also left unassigned. A newassignmentTypeattribute onvisitDependencylets you override this behavior per dependency, and a newconfig.model.overrides.defaultDependencyAssignmentTypesetting lets you change the default for the entire dataset. See Visit dependency assignment type for details.
Employee Shift Scheduling (v1 | Stable)
- More precise shift overlap counting in rolling window rules: Rolling window rules can now be configured to count only the portion of a shift that overlaps with the rolling window, rather than counting any shift that starts within the window. See changelog for details on how to enable this.
- Minimum rest period after a consecutive shift sequence:consecutiveShiftsWorkedRulesnow support atimeOffAfterSequenceLimitfield that enforces a minimum rest period between the end of one shift sequence and the start of the next. This lets you model regulations such as "after two or more consecutive night shifts, an employee must have at least 48 hours off before their next sequence begins." See the changelog for details.
- Ability to define shift sequences based on time between end of previous shift and start of next shift: The rules to configure consecutive shifts now allow to define sequences based on the gap between the end of one shift and the start of the next, rather than only by calendar days. See changelog for details.
- Demand-based shift generation demo dataset: A new demo dataset shows how to use the shift generation feature in a realistic setting modeling a one-week restaurant schedule with lunch and dinner peaks, full-time employees, and external part-time employees. The dataset starts with no shifts and lets Timefold generate candidate shifts from templates to cover hourly demand. Use the Timefold Platform UI to trigger this new demo dataset.
- Several bug fixes and performance improvements. See changelog for details.
Pick-up and Delivery Routing (v1 | Stable)
- Pick-up and Delivery Routing model is now stable (v1.0): The Pick-up and Delivery Routing model is marked as stable from this release forward. Its API is now backward compatible unless explicitly marked otherwise, and the model version has been aligned with the REST API version (v1).
- Changes in the API: To improve clarity and consistency in the API, we have made some changes to the input and output API of the Pick-up and Delivery Routing model. This change includes renamingeffectiveServiceDurationtoeffectiveDurationin all its occurrences in the OpenAPI specification and the model output. The specific changes can also be found in the upgrade guide.
- Machine-readable validation errors and warnings: A new endpointGET /v1/route-plans/{id}/validation-resultreturns structured validation issues with a machine-readable code (for exampleDRIVER_SHIFT_MISSING_START_TIME), a severity (ERRORorWARNING), and a detail object identifying the affected entity. See machine-readable validation results for details.
Please let us know if you have feedback.