Work Order – how to create and status life cycle
This post is a part of a “Field Service for Citizen Developers” series. Click here to see other posts.
Work Order is the “work” itself – which is scheduled and then actioned by the field service staff. To understand how Work Orders works in the app, we are looking at three areas:
- The composition of a Work Order? (fields, relationships, key pre-requisites etc.)
- How Work Orders are created?
- Status life cycle of Work Order from creation to completion
In the first part of this topic, we looked at the structure of the Work Order as an answer to the first question. The last two points are the focus of this post.
How Work Orders are created?
Work Orders are typically created in three ways:
- Manually. Basically go to Work Orders and clicking on ‘New’
- Case to Work Order. The out of the box feature allows a ‘conversion’ of a case into work order. This is typically used in those scenarios where a customer representative records a customer’s complaint as a case, but on investigation it is surfaced that resolution of a complaint may require a site visit or some device/area/asset needs to be fixed. In this case, this out of the box process, creates a new work order record and links it to case record automatically
- Preventative Maintenance Work Orders: These work orders are auto-generated by the system based on the agreement booking setup, type, frequency and other specifications that are configured in ‘agreement’ record as part of preventative maintenance setup
Above said, there could be business scenarios where you’d like to link creation of a work order to an existing system or a custom entity. As an example, you may want to create a work order from opportunity for the field service staff to go visit the customer site before finalising a quote. This can be achieved easily through using a Business Process Flow. If you’d rather want a button click user experience, then Power Automate could be used.
Status life cycle of Work Order from creation to completion
The most important thing to remember in this section is: we are talking about ‘System Status’ here – not Status and Status Reason fields that are part of almost every entity in Dynamics 365. The System Status field is a special field on Work Order which could be set to either of these values:
- Open – Unscheduled
- Open – Scheduled
- Open – In Progress
- Open – Completed
- Closed – Posted
- Closed – Canceled
The System Status is locked as no new status options can be introduced in it. In order to customise it for your business, you can use a Work Order Sub-Status records which can be added against each system status.
A typical life cycle of work order works like this:
- From creation, scheduling and on to completion:
Open – Unscheduled is the default first status of a newly created work order. This status changes to Open – Scheduled when booking is created against a work order. When work is started against booking, the status of work order changes to Open – Completed. Upon completion of all bookings against a work order, status of work order changes to Open – Completed. Some billing, reconciliation or confirmation of services may happen at this stage (offline) and then work order can be manually updated to Closed – Posted which essentially makes work order read-only as a final state of work order.
It is important to note here that the status of work order may switch between Open – Scheduled and Open – In Progress based on the status of booking records.
- If work order needs to be cancelled before scheduling any work, there are only two status changes:
An example of this is when a work is created for a customer but then needs to be cancelled due to a request from customer or unavailability of crew.