In my previous post I wrote about how to enable a custom entity for scheduling with Universal Resource Scheduling, a part of Dynamics 365 Customer Engagement. In this post I will take it one step further, and help to refine our resource search with the help of a workflow.
This is part of a series of articles about Universal Resource Scheduling (URS) and examples on how to customize and use it for custom entities.
Narrow the search
So I’m continuing with my custom entity called Event. I have added an event type to my entity so my event is either a seminar, a training or a product launch.
If you have an option set with two or three values you can use the custom control framework option set to make it more user friendly.
So in my scenario I want to search for a trainer if the type is Training (let’s wait with the Seminar and Product Launch type for now).
What is a resource?
All resources in URS have something called a Resource Type. My trainers do not have access to Dynamics 365 CE and I will therefor add them as resources of the type Contact.
But will it be enough to search for all resources of the type Contact? Will I not ever have other contact resources that are not trainers? I most likely will, so we need to use other filter options to narrow it down even more.
I will therefor make sure all my Trainers have a Bookable Resource Category assn that relates to a Bookable Resource Category named “Trainer”.
What did you just call that entity?
Yes – these entity names are long and confusing and to make matters worse this particular entity are also called “Resource Role” in some site maps, sub grid areas and such. To make it a little less confusing – here’s a pretty picture that illustrates the information model of what we’ve spoken about so far.
Enough with the theory, let’s build this workflow!
First of all I want to check that the Event Type is Training (1) and if so create a Resource Requirement (2).
I’ll keep it simple and populate the Resource Requirement with the following fields from Event:
- From date
- To date
Now – I want to create a Requirement Resource Category (1) and add that to my Resource Requirement (2), and of course populate this with my Resource Category (3).
Be careful when you use records/lookups in workflows as they may cause deployment issues. Make sure you have a plan for a maintainable deploy process.
I save and activate the workflow – now let’s see how it all plays out.
Since I’ve now chosen to trigger my workflow on creation of the Event the Resource Requirement will be created automatically. Let’s navigate to related view of Resource Requirement (1) and choose Book in the lower command bar (2).
The Schedule Assistant pop open in a new window and here you can now see that there is a filter for the Role/Category Trainer. Tadaaaa!
In this article I’ve explained how you can refine your search result for resources with the help of a workflow and the related entity Bookable Resource Category. This is especially useful in cases where you might have several entities enabled for scheduling and/or multiple Resource Types and conditions that require varying search results.
Stay tuned for more URS articles!