new

improved

fixed

Timefold Platform

Employee Shift Scheduling

Field Service Routing

Pickup & Delivery Routing

Read-only Viewer role, Scenario experiments, and monthly and absence-aware rolling window rules in ESS

Today, we're announcing version v1.8 of the Timefold Platform and updates to several Timefold models.
This new version of the Timefold Platform comes with these platform improvements:
  • Give stakeholders and auditors safe, read-only tenant access
    : Tenants can now add members with a new Viewer role. Viewers can see everything in a tenant, models, datasets, configuration profiles, and saved comparisons shared with tenant members, but can’t start, edit, or delete datasets, or manage comparisons. This is useful for stakeholders or auditors who only need read access. See Viewer role for details.
  • Experiments (preview)
    : Experiments let you compare how your Timefold model performs across different scenarios and datasets in a single run, instead of manually submitting and comparing individual datasets. You define the variables up front, and the platform runs all combinations automatically, producing a comparison report where each column represents a scenario. This saves time compared to submitting each combination by hand, and experiments run on a separate solve queue, so they don’t affect or slow down your production solves. Experiments are available in preview starting with this release. See Experiments for more information and to request access.
UI showing a running experiment
  • More accurate score analysis and recommendations with configuration profile overrides
    : Overrides specified in a configuration profile are now applied when calling the score analysis and recommendations endpoints. Previously, these endpoints reflected the dataset’s original configuration even when overrides had been applied. Results now accurately reflect the profile you configured, giving more accurate score analysis and recommendations.
  • Interpret and share dataset comparisons more easily
    : Comparisons can now show diffs as a percentage instead of only an absolute value, making it easier to judge the relative impact of a change. The radar diagram in dataset comparisons can also be exported as an SVG file, making it easier to include in reports and presentations. See Comparing datasets for more details.
  • Back up and share configuration profiles as JSON files
    : Configuration profiles can now be exported and imported as JSON files. This makes it easy to back up a profile before making risky changes, or to share a profile configuration between team members or environments. See Export and import profiles for more details.
  • Improved documentation search
    : The documentation site now has a dedicated search page, in addition to the in-page search modal. From the search modal, click "See all results" to open the full search results page, which supports paging and filtering by book and product.
  • See your most-used destinations first in the command palette
    : Opening the command palette without typing a query now shows your recently used entries first, topped up with the highest-priority entries, instead of an empty dialog. See Using the Command Palette for more details.
Next to that, this new version of the Timefold Platform comes with updates to these Timefold Models:
Field Service Routing (v1 | Stable)
  • Fixed next visit incorrectly pinned when fixed-location breaks precede it
    : With the default
    pinNextVisitDuringFreeze
    setting (
    ALWAYS
    ), Timefold pins the visit a vehicle is already travelling to when freezeTime is applied. When one or more fixed-location breaks were scheduled before a visit, Timefold could pin that visit as soon as the time of travelling to those fixed breaks was before freezeTime, even though the technician had only committed to travelling to (or taking) the fixed break(s), not to the visit itself. Timefold now accounts for fixed-location breaks preceding visits and only pins the visit once the vehicle has actually departed towards it, that is, after the last such break ends. See Finer control over pinning with freezeTime for more details.
  • Fewer unnecessary visit delays when travel times are asymmetric
    : With asymmetric travel times between locations (the travel time from A to B different from the travel time from B to A), Timefold could wrongly apply a fixed break between two visits instead of being deferred past both of them, even though the vehicle could not actually reach the break in time from the earlier visit. This means a fixed break could delay a visit that could have been scheduled earlier, resulting in a worse solution than necessary.
  • No more infeasible solutions from inconsistent fixed-visit start times
    : When a visit was pinned to a specific
    startServiceTime
    and vehicle shift, but the input was inconsistent (for example, because the technician could not actually start at the specified time given the travel distances involved) Timefold would introduce hard score violations when trying to enforce the exact fixed start service time. Timefold now handles this gracefully by computing the feasible start service time for each fixed visit during preprocessing. See Changelog for more details and upgrade instructions.
  • No more solver hangs when a break overlaps a visit with actuals
    : When a visit with an
    actualStartServiceTime
    overlapped with a fixed break, Timefold could get stuck in an infinite loop while repeatedly trying to apply the break. This means Timefold should no longer get stuck on such inputs.
  • Account for holidays when calculating delays between dependent visits
    : The
    dateAdjusterConfiguration
    object in the model input now has a holidays field to modify the behavior of the
    NEXT_WORKING_DAY
    adjuster specification to be used for delays between dependent visits. It takes an array of ISO 8601 dates which are exceptions to the regular working days as stated in workingDays. For example, this allows accounting for bank holidays correctly. For further information, consult the documentation on visit dependencies with delay and the adjuster functions.
  • No more overlapping fixed and floating breaks in the schedule
    : Timefold could fail to apply a fixed break that should have applied, when the visit preceding it was delayed by a floating break. This could result in a fixed break overlapping with a floating break in the schedule. Timefold now correctly applies the fixed break in this scenario.
Employee Shift Scheduling (v1 | Stable)
  • Recommendations for shifts with no eligible employees
    : The recommendations API now returns employee suggestions even when no employee meets all hard constraints for a shift. Previously, the solver didn’t return recommendations that broke hard constraints. Now, the solver returns the top recommendations, even if those recommendations break hard constraints. For more information, see Recommendations.
  • Monthly rolling window rules for more flexible scheduling
    : Rolling window rules now support
    MONTHLY
    rolling window type. This allows you to define rules that apply on a calendar month basis, providing greater flexibility in scheduling and planning. See Minutes worked in a rolling window for more details on rolling window rules.
  • Deprecated confusing recommendation endpoint
    : We have deprecated the following endpoint to avoid confusion with other recommendation endpoints.
    POST /v1/schedules/{id}/recommendations/recommend-employees
    Please use this endpoint instead:
    POST /v1/schedules/recommendations/recommend-employees
    For more information, see Recommendations.
  • Absence-aware rolling window rules (preview)
    : Rolling window rules now support the
    absenceMode
    field, which scales the effective limit proportionally based on each employee’s availability within the rolling window. See Changelog for use cases and details.
  • Be warned when a shift references an unknown employee
    : A shift, or a shift’s preferred, unpreferred, or prohibited employee list, that references an employee ID not present in the schedule was previously not validated at all. This is now reported as a
    SHIFT_UNKNOWN_EMPLOYEE
    warning. The schedule is accepted and solved normally, with the unknown employee reference surfaced so you can review and correct it.
Pick-up and Delivery Routing (v1 | Preview)
  • Evaluate patient transport scenarios with a new NEMT demo dataset
    : The list of demo datasets has been extended with a new use case based demo dataset for Non-Emergency Medical Transportation (NEMT). The NEMT demo dataset includes a set of jobs and driver shifts that represent a typical Non-Emergency Medical Transportation scenario, including multiple stops for pick-up and drop-off of patients. It contains multiple legs for patients (home to medical facility and back) as well as time windows and skill requirements.
  • More realistic location distribution in demo datasets
    : The location generator for the demo datasets has been improved to generate more realistic locations. Locations will now be generated with more density around the city center and less density in the outskirts, which better reflects real-world scenarios.
Please let us know if you have feedback.