Auto-schedule a backlog of requests
Run the solver over a real backlog, read the preview like a diagnosis, handle the rejects, and commit with confidence.
Outcome
You place a batch of unscheduled requests through the auto-schedule preview. You understand every reject, and you either fix it or defer it deliberately. You also get a routine that you can repeat every week.
Before you begin
- A backlog: several unscheduled requests with real requirements.
- Scheduling settings for the site, with the working hours as a minimum. The solver can only plan inside the configured availability (Scheduling and availability).
- The Editor or Admin role. Background: Auto-scheduling.
Step 1 — Groom the backlog first
Five minutes here saves you a noisy preview.
- On Utilization, filter the Requests panel to Unscheduled Only.
- Look for requests with impossible constraints, such as a Latest End in the past. Look also for requirements that nothing satisfies. Fix or defer these now.
The solver honors every constraint you recorded. A stale constraint becomes a reject.
Step 2 — Run and read the preview
Select Auto-schedule unscheduled requests. In the Auto-schedule preview:
- Note the summary: the Solver (OR-Tools CP-SAT, or Greedy as the fallback), and the Scheduled and Unscheduled counts.
- Look through Assignments for placements that are valid but unwise. The solver optimizes the model, and the model does not know that a customer visit makes Hall 2 a bad idea on Thursday.
- Read Unscheduled reason by reason. This is the valuable part:
| Reason | What it tells you |
|---|---|
| No compatible resource | The requirement set has no satisfier — fix capabilities or relax the requirement |
| Insufficient capacity | Suitable resources are full — widen the window or add capacity |
| Blocked by existing assignments | Existing schedule leaves no room — consider re-planning the blockers too |
| Invalid duration | Constraints are tighter than the duration — the request contradicts itself |
| Solver limit reached | Budget ran out — re-run, or place the rest by hand |
| Waiting on an unscheduled predecessor | The work it waits for is not scheduled — schedule the predecessor first |
Step 3 — Decide: apply, or fix and re-run
- If the preview looks right, select Apply. It commits every assignment at once.
- If the preview surfaces model problems, select Cancel. Fix the data — capabilities, constraints, or availability — and run it again. A preview is free. A bad commit is not.
If somebody else edits the schedule in the meantime, the preview goes stale. Orkyo then refuses to apply it. Close the preview and run it again.
Step 4 — Sweep the remainder
After you apply, the list of unscheduled requests is short and understood. Place the must-haves by hand with Schedule to… or with a drag. Defer the rest explicitly.
Then check Insights → Conflicts. A clean run adds no errors. It can add a dependency warning, because a successor whose predecessor is still unscheduled reports an incomplete plan rather than a wrong one.
Make it a routine
Once a week works well: groom, run, read the rejects, apply, sweep.
Watch the reject reasons over time. They are a running critique of your model. A reject list that shrinks means that the model converges on reality.