In D365 Field Service, the Work Order Estimated Duration plays a pivotal role in scheduling and resource allocation. By default, this duration is calculated based on the associated Incident Types and their respective Service Tasks, either manually created ad-hoc work orders or work orders generated from the Agreement.
At times, it gets complicated in scenarios when Field Service is integrated with a different legacy or Work Force Management system where the Estimated Duration of work orders that are generated by integrated Agreements is expected to have different values than the work orders that are generated by Agreements that aren’t integrated are expected to follow a standard calculation.
In this post, we will see the standard process. For overriding the standard Agreement’s behaviour without customization, check this post.
How it works
By default, this duration is calculated based on the associated Incident Types and their respective Service Tasks. If there is no service task or incident type to the work order, the system sets the estimated duration of the work order to the default booking duration as per the Booking Setup Metadata for the msdyn_workorder entity. However, note that the resource requirement will have 0 minutes in this case which will cause problems while scheduling the Work Order.
If your organization uses the Resource Scheduling Optimization add-on (RSO) for automatic scheduling, it is going to throw an error, ‘Estimated Duration less than or equal to 0’ and it won’t auto-create bookings. Check here to learn more about RSO errors and debugging.
Manually created work orders
For Work Orders with Incident Type and/or Service Tasks, the Estimated Duration is derived from the associated Incident Type



When additional service tasks are added, the Estimated Duration is adjusted accordingly,


For Work Orders without Incident Type or Service Tasks added to a WO, the Estimated Duration is derived from the booking setup metadata settings



Booking Setup Metadata settings

Agreement generated work orders
For the maintenance scenarios where the Agreements generate Work Orders, the estimated duration of the work order is derived from the Estimated Duration field from Agreement Booking Setup that generates the work order which in turn is derived from the associated Agreement Booking Incident which in turn is derived from the Incident Type associated with the Agreement Booking Incident.
Work Order’s Estimated Duration = Sum of ‘Estimated Duration’ from the associated Agreement Booking Incidents



If the Estimated Duration in the Agreement Booking Incident is adjusted after generating work orders, it won’t have an impact on the already generated work orders, however, the following work orders that are waiting to be generated from the Agreement Booking Dates will have the updated Estimated Duration from the Agreement Booking Setup (sum of all associated Agreement Booking Incidents).
For the scenarios where this behaviour needs to be overwritten based on certain businesses or due to the nature of the legacy system where work orders are migrated from or integrated from a different Workforce Management System (WMS), check part 2 of the post.
Please don’t forget to like and share this post. Happy Learning!