Applies to Voice of the Customer version 9.0.1438.3/9.0.1438.4
We’re pleased to announce the latest update for the Voice of the Customer solution for Dynamics 365. This release includes bug fixes... (Continue reading)

Applies to: Project Service Automation for Dynamics 365
We’re pleased to announce the latest update for the Project Service Automation application for Dynamics 365 . This release includes improvements... (Continue reading)

Open the booking entity, and the schedule board for any schedulable entity adds a ton of power, but at the same time, while your resources are able to work on bookings from any of these workstreams, the business processes after bookings are created will vary.

Work orders traditionally follow a specific flow: Scheduled > Traveling > In Progress> On Break> In Progress > Complete. Or some derivative of that.

Projects may have a different flow: Proposed > Committed > Complete

Cases: Accepted > In Progress > Researching > Complete

Dynamics 365 customers can manage these different stages by changing the booking status attribute on the booking.

Here is where you can find the booking status:

Booking Status on the resource booking form

Booking Status by right clicking the booking on the board

What you may notice if you were to right click on a booking related to a work order, is that the initial status group is split into groups. Right clicking on bookings from different entities have different grouping values.

We wanted our customers to be able to maintain unique processes and statuses, despite unifying our scheduling feature set.

When you right click on a work order booking you can see the statuses grouped into 6 categories, each category containing one or many statuses.

When you right click on an opportunity booking, you will see the statuses grouped differently.

Additionally, there are some statuses that don’t even appear for work orders that do for opportunities! For example, the “committed” status.

Lastly, if I were to open up a work order booking and try to set the booking to the status “committed”, which is not appearing within the schedule board status list, you will notice an error.

We just demonstrated the following:

There is a way to associate certain booking status records with certain schedulable entities.

There is a way to filter out unassociated statuses within the schedule board right click menu.

There is a way to group these statuses uniquely per schedulable entity.

There is a way to enforce that statuses cannot be selected on unassociated schedulable entities even outside the schedule board.

Here is how you set it up:

You need an option set attribute on the booking status entity. This option set is the key to the grouping, filtering, and enforcement.

By way of example, the field service solution ships an option set called “Field Service Status”.

On the booking setup metadata record, for each schedulable entity, you can set which option set field on the booking status entity to use for sorting and filtering for bookings of that type. You need to enter the logical attribute name of the option set on the booking status that you wish to use. Here is what the value is for Field Service out of the box:

If you leave this field empty, which is the default whenever you enable a new entity for scheduling, the attribute that is used for sorting and filtering is the option set is the option set called “status” which ships out of the box with the booking status entity and is a required field.

In order to sort and filter entities for let’s say the case entity, you can either reuse an existing option set such as new_fieldservicestatus, which of course locks you into the same status filter and groups as work orders, or, you can create a new option set field on the booking status entity. We will create a new option set called new_casestatuses and add three options to the option set.

Now we need to update the Booking Setup Metadata case record with the logical name of the newly created field.

If you were to go to your schedule board now and right click on a case booking, you would see that there are no groups and no statuses to choose from since we have set the filtering yet have not associated statuses to this newly created new_casestatuses attribute yet.

Now simply add the new field to your booking status form, and associate existing statuses that are part of the case flow to the appropriate case group. I have chosen to reuse two existing statuses. This is a very important point. You can share a single status record across multiple workstreams. Below you can see that Canceled is unique to field service, and entities grouping by the default “status” attribute. Completed and In Progress is shared by Field Service work orders, cases, and entities filtering by the out of the box status field.

In addition to reusing two existing statuses, I have also created 2 new statuses to be used by cases, but not work orders. “Triage in progress” and “Research Paused”. You will notice you always have to fill in the default status field, this is by design.

That’s it!

If I right click my case booking on the schedule board, you will see statuses grouped into the option set values on the case status attribute created in step 4.

Any statuses that do not have a value in the “new_casestatus” field are filtered out completely.

If you try and set a status not created for cases via form, an error will display.

Remember you can also set your default status for when you FIRST create a booking, and also a default status should you want to cancel a booking per each schedulable entity on your booking setup metadata record!

Thanks for taking the time to read about this feature. I do hope it helps when it comes to implementation of Universal Resource Scheduling.