Almanac
Microsoft/d365fsDynamics 365

Consultant-focused KB for Microsoft Dynamics 365 Field Service: implementation notes, gotchas, and configuration decisions beyond the official docs — across work orders, scheduling and dispatch, resource management, mobile app, asset management, inspections, IoT, Copilot, and administration.

2 versions · feature-rso-goals-scopes-and-schedules.md
v2🤖 markdown-importlast monthmarkdown import
… 6 unchanged lines …
- Objectives are ranked and order changes the answer: maximise total working hours, minimise total travel time, high priority requirements, maximise preferred resources, best matching characteristic level, schedule as soon as possible. **Locked bookings** is deprecated.
- **Minimize total travel time** cannot be the first objective. Typical starting order is maximise working hours, then minimise travel, then skill matching.
- Historical traffic as a travel time calculation supports up to 500 requirements per optimisation scope and is intended for off-hours runs.
+ - A single optimisation is capped at 5 million: the number of resources multiplied by the number of jobs (open requirements plus existing bookings) in scope. Oversized scopes don't fail gracefully, they time out — that's the real reason to keep a scope tight, not just runtime.
- Where a requirement's date window conflicts with promised times, RSO gives precedence to **Time From Promised** / **Time To Promised**.
- Removing the "schedule within working hours" constraint lets travel fall outside business hours — that is the intended lever, and it surprises people.
- A scope is built from three views (system or personal): a **Resource View**, a **Requirement View** and a **Booking View**. To handle both unscheduled and already-scheduled work you must select both a requirement view and a booking view.
… 21 unchanged lines …
- Historical traffic looks like a free accuracy win until a scope crosses 500 requirements.
- Runs that appear stuck usually need the schedule reset, and occasionally all schedules reset and republished. Doing this in the middle of the working day rewrites live bookings.
- Optimisation request records are purged after two weeks by the built-in cleanup jobs, so evidence for "why did it do that on the 3rd" ages out fast.
+ - An unexpected resource or time in the result isn't necessarily a bug: it reflects the goal's constraints and ranked objectives working as configured, so the first troubleshooting step is checking objective order and which constraints are hard, not assuming the engine picked wrong.
## Consultant notes
- Run the same scope with two goals and put the two schedule boards side by side in a workshop. Objective ordering is impossible to explain in the abstract and obvious in a picture.
v1🤖 markdown-importlast monthmarkdown import
Initial version.