Handling changes to your planning data
Planning problems don’t stay static. Employees become unavailable, new tasks arrive, and circumstances change between when you submit a dataset and when you need to act on the solution. There are two approaches for handling this.
Submit a new dataset (full replace)
The simplest approach is to cancel the current solve (if running), build a fresh dataset from your current source data, and submit it as a new dataset. This is straightforward to implement and makes sense when:
-
Your planning horizon is short and changes are infrequent.
-
You don’t need to preserve previous assignments (you’re solving from scratch each time).
-
Changes affect a significant portion of the dataset, making incremental patching impractical.
Patch an existing dataset
|
The Patch feature is currently only available as a preview feature. If you’d like early access to this feature, please Contact us. |
The /from-patch endpoint lets you apply incremental changes to an existing dataset without rebuilding and resubmitting the whole thing.
A patch creates a new dataset derived from the parent dataset, preserving the solve history and allowing you to track how the plan evolved over time.
Use patching when:
-
Changes are small and targeted (a single employee added, a visit removed).
-
You want to minimize disruption by reoptimizing from the existing assignments rather than from scratch.
-
Auditability matters: you want a traceable history of how the plan changed in response to real-world events.
| Don’t use Timefold as the source of truth for your business data. Your own systems should remain authoritative for input data. The assignments in the solution are Timefold’s output, but the underlying resources and tasks should always be managed in your systems and submitted to Timefold, not the other way around. |