Skip to main content
Dynamics 365

What’s new in Universal Resource Scheduling for Dynamics 365 April 2018 Update

Applies to Universal Resource Scheduling solution (version 2.4.1.x), Field Service application (version 7.4.1.x), Project Service Automation application (version 2.4.1.x) On Dynamics 365 version 9.0.x)

Please note that this update is being shipped as a patch, so if you are upgrading, you will see a PS/FS/URS patch solution installed with the version numbers referenced above.

Continuing our theme for our update releases, the Universal Resource Scheduling April 2018 Update focuses on our customers. Our priorities are improving user experience, stability, discoverability, and delivering features that open up highly requested scenarios. For a list of bug fixes, read this post.


Scheduling Enhancements:


I recently had the opportunity to visit some of our customers onsite and observe first line URS users firsthand. I am pleased to incorporate some of that feedback into our April 2018 update, with extremely impactful features such as:




Other features we were able to work on:




Book by estimated arrival time instead of start of travel!




When a resource manager searches for availability, especially with the customer on the phone at the same time, it is important to efficiently and effectively be able to communicate the available appointment times from which the customer can select. In previous releases, when searching for availability for an onsite requirement, the gray recommended slot drawn on the board represented the available appointment time, inclusive of travel. In many cases, especially when talking to a customer, all the resource manager cares about is when the resource will arrive!


Therefore, we introduced a feature called “Book Based On,” allowing you to book by estimated arrival.


Electing to book based on estimated arrival on the schedule board will display the recommended slot based on when the resource will arrive onsite, as opposed to when they will begin travel.


Resource managers more focused on arranging bookings without interacting with customers can continue to use the current option to book by “Start of Travel.”




In the screenshot below, you can see the experience without this new feature. The recommended appointment time for Efrain to arrive at the customer site is 12:28 PM. But there are also 28 minutes of travel-time as. So the resource manager sees the block of time showing as 12 to 2:58. In order to figure out when the resource will arrive onsite, they need to add the 28 minutes travel to the beginning of the recommended slot in their heads (“12:00+28 minutes means we can show up at 12:28!”), and then they can tell the customer when to expect the resource to arrive onsite. This math is pretty simple, but imagine the slot recommended is 9:43 with 28 minutes of travel. It can get tough to compute in your head on the fly!


Book using Start of Travel option



Here, you can see the same exact scenario on a schedule board with “Book by Estimated Arrival” enabled. You will notice that the gray recommended slot shows up perfectly on the board from 12:28 to 2:58 which represents the ETA and the end time of the booking. It still lets you know what the travel time will be within the slot, 28 minutes, but visually, you can see just the block of time lining up with the ETA and the end time. Of course when you create the booking, travel will still be booked as well.



Book using Book by Estimated Arrival option


When right-clicking within the recommended slot to select a more specific time, the “Book Here” text also adjusts to inform you of the ETA and end time, keeping the experience simple.



Book Here adjusts for ETA and end time





To enable this feature, open the schedule board by double-clicking on your schedule board, and select which option you would like to book by.


Select Book Based On


New Schedule Boards will inherit this value from the default schedule board.


To change the default schedule board:


  • Open up the Schedule Board by double clicking any schedule board name
  • Click the “Open Default Settings” button on the top right of the tab settings window
  • Select the default “Book Based On” value you prefer


Change Default Schedule Board



Display more at once on the schedule board by adjusting the scale




We have heard feedback from resource managers that they often plan work for resources across many days, yet they can’t see these days all at once on the schedule board.


Even when planning across weeks, they find it important to be able to see the whole picture in one eyeshot without endlessly scrolling.


Therefore, you can now adjust the scale of the schedule board to decrease the width of the columns to view a wider date range at once.




Whether you are on the hourly, daily, weekly, or monthly board, you will see a “scale” control on the bottom of the schedule board.


In this image of the hourly board, you can see about a day and a half:


Scale control on hourly board



Using the same display settings, after changing the scale to the smallest supported option, you can now see 8 days in one shot on the hourly board!


Change the scale to see 8 days on the hourly board


For those customers who have been with us since the Naos Field Service days, this feature brings back much of the functionality of the old “daily” view, allowing you to see many days at once.


The impact of scaling down your board is that it will be more challenging to read the text of small bookings, so always remember that you can hover over a booking to view more details, or single-click it to view the details in the right panel.


Hover over or click to see booking details


We did not decrease the minimum pixel width for the daily, weekly, or monthly boards, but we still added the scale control to the bottom of the boards to allow users to quickly adjust the scale if they please. We do intend on looking into allowing you to shrink the width for multiday boards, once we allow for viewing more days/weeks/months at a time.


Scale control to allow users to quickly adjust the scale



Note that the column width settings can also be accessed from the settings dropdown on the schedule board; the intention of the slider control is to promote discoverability and reduce clicks:


Access column width settings from Settings drop down on schedule board


Display up to 14 days on hourly schedule board


In an effort to allow resource managers to see more data without changing the schedule board dates, we have increased the number of days you can view on the hourly schedule board from 7 to 14.


To increase the number of days, navigate to your settings, and adjust the “Number of days per page” slider:


Adjust Number of days per page slider to increase number of days


Display more resources on schedule board!






We are on a continued quest to offer more real estate to resource managers. For demos, the more whitespace the better, but when the rubber meets the road (pardon the cliché), we have heard your feedback and you want to see more.


You can now narrow the height of the resource rows to see more resources at once!




Here you can see 13 resources with the previous minimum row height we allowed:


13 resources with the old minimum row height


Using the same board on the same monitor, here you can see 25 resources at a time with our new minimum row height:


25 resources with the new minimum row height



You can adjust this on the daily, weekly, and monthly views as well:


Adjust the height of the resource rows on daily, weekly, or monthly views


As I’ve already mentioned, it’s more challenging to read the text on smaller bookings when scaling down the board, so always remember that you can hover over a booking, or single-click it to view the details in the right panel.


To change the row height, just open the schedule board settings and change the row height:


Open schedule board settings to change the row height


Note that each board has its own settings for row width and height, meaning changing this on the daily board does not change it automatically on the hourly, weekly, or monthly boards. Also, within each board, the width and height settings are saved uniquely for when you use the Schedule Board regularly and when you use the Schedule Board to search for availability offering even more flexibility!


We recognize that the resource image gets cut off when the row height becomes small; we plan to update the resource cell template to hide the resource cell when the row height cuts off the resource image. In the meantime, remember you can always modify the resource cell template on your own using extensibility!


For the hourly vertical view, you can also update both the width and height to fit more resources and more days. Here you can see that the resources are narrow and the height for each block of time is short, allowing a resource manager to see more resources and more time:


Update width and height to fit more resources



Change booking statuses from daily, weekly, and monthly schedule boards!




We have always offered the ability to right-click a booking on the hourly schedule board and change the status of a booking. However, on the multiday schedule boards, we aggregate bookings from the same requirement and the same status into one “block,” so it is legible to users. We now allow you to change the statuses for multiple bookings at once from the multiday boards. In reality, you are updating the status for a bunch of visually aggregated bookings at once.




Just right-click a booking on the board, and change status:


Change status


This will update all bookings that are aggregated into that block. If you only intend on changing the statuses for a subset of those bookings, zoom into that date range and make the change from there.


For example, if I only want to change the statuses from 3/25 onwards, change the board to 3/25 and then change the status:


To change status of a subset of bookings, zoom into the date range and make the change


This will only change the status for what you see on the board:


Status changed only for what you see on the board


You can always navigate to the daily board or hourly board for more granularity.


Note that when changing the status, it takes a moment for the board to refresh with the new status icon and color, based on how many bookings are being changed.


If you want to learn more about booking statuses, here is a previous blog post with details on how you can leverage booking statuses.


Pass in date AND time when using URL to open schedule board




I previously blogged about a feature that allows our customers to launch the Schedule Assistant and pass in the search parameters by using the URL. Previously, you were able to pass in the search date range, but not the specific time of the search on each day. For example, you could express that you need a resource between April 1st and April 3rd, but you could not express that you need a resource between April 1st at 8 AM and April 3rd at 5 PM. We have enhanced this capability allowing you to specify both a date and time for when the search begins and ends.




Here you can see that the previous format for passing in the search start and end was yyyy-mm-dd:


Old format for passing in the search start and end_yyyy-mm-dd


Now, the date+time format is yyyy-mm-ddThh:mm+TZD


Example: 2018-04-01T19:20+01:00 would be April 1st, 2018, at 7:20 PM in the Timezone of +1:00


     YYYY = four-digit year

     MM   = two-digit month (01=January, etc.)

     DD   = two-digit day of month (01 through 31)

     hh   = two digits of hour (00 through 23) (am/pm NOT allowed)

     mm   = two digits of minute (00 through 59)

     TZD  = time zone designator (Z or +hh:mm or -hh:mm)(Z=UTC Time Zome)


If you want to just pass in the date and a time zone: “yyyy-mm-ddT00:00+TZD”

Example: 2018-04-01T00:00+05:30


Don’t worry, the previous supported format of yyyy-mm-dd will still work.


Extensibility – Multi-select option set fields can be queried and displayed




When modifying a UFX query for an extensible scheduling scenario, you can now query multi-select option set fields. Additionally, you can display selected values in a multi-select option set on the resource cell template. Look out for a blog post on this one. To read more about extensibility possibilities, check out this previous blog post. Here are a few more detailed posts on the subject too: SB date ranges, and Sort by total available time.


Extensibility – Ignore or consider proposed bookings when searching for availability. (Change default)




In our February 2018 update, we introduced the ability to ignore or consider proposed bookings with regards to resource availability. (To learn more, visit this blog post and find the “Ignore or consider proposed bookings” feature.) In the last blog post, I mentioned that we would add the ability to change the default value instead of it always defaulting to “ignore proposed bookings.” Well, here we are!this blog post and find the “Ignore or consider proposed bookings” feature.) In the last blog post, I mentioned that we would add the ability to change the default value instead of it always defaulting to “ignore proposed bookings.” Well, here we are!




If you would like the default behavior to simply ignore the existence of proposed bookings when it comes to availability, there is nothing you need to do, as this is the default behavior. However, perhaps you would prefer to return resources that are completely available, meaning they do not have any proposed bookings; if you can’t find the right resource, you will then ignore these proposed bookings in your availability search. To change the default value for whether you consider or ignore proposed bookings, just modify the “Schedule Assistant Retrieve Constraints Query.” Change the ignore proposed value from true, to false:


<IgnoreProposedBookings ufx-type=”bool”>true</IgnoreProposedBookings>


Modify Schedule Assistant Retrieve Constraints Query to change default value for proposed bookings


You can even get fancy and add conditions for the default value! Just fetch the attributes you need in your condition, add a UFX key to the attribute, and reference the key in your condition.


<IgnoreDuration ufx:if=”$input/@ufx-id” ufx-type=”bool”>true</IgnoreDuration>

<IgnoreDuration ufx:if=”not($input/@ufx-id)” ufx-type=”bool”>false</IgnoreDuration>



Remember, to review the details of how to modify the default “Schedule Assistant Retrieve Constraints Query,” check out this previous blog post, which gives an overview of extensibility and where to make modifications.


As a reminder, ultimately these settings drive the “ignore proposed bookings” flag in the filter panel, when searching for availability:


Ignore Proposed Bookings check box in the filter panel



Leverage booking panel when drag and drop scheduling on multiday schedule boards




We are continuing our investments in ensuring a consistent user experience across the schedule board, regardless of whether you are using the hourly, daily, weekly, or monthly schedule board.


Our latest investment is moving our interactions to the booking panel and shifting away from pop ups to create bookings. Now, when you drag a booking from the bottom booking requirements panel to the multiday schedule boards, instead of a blocking pop up, we slide out our booking panel. This is not just an experience unification feature; by using this panel instead of a pop up, you can still interact with the board changing dates and resources, which seamlessly updates the booking panel with those respective values. When you make your selections and are ready to book, just click “book” in the panel! While we were at it, we also ensure that if you select the booking method “front load” or “evenly distribute hours,” we properly set the duration field to the remaining hours of the requirement.


Booking panel when drag and drop scheduling on multiday schedule boards



Selecting a resource now loads resource value properly into driving directions window




This one may be a cross between a bug fix and a feature, but nonetheless, I am excited to share! When you select a resource cell on the schedule board and click actions > get driving directions, the selected resource and their address are now properly loaded into the driving directions window.


Selecting a resource loads resource value into driving directions window


Show resource card with a right click instead of a hover




We received feedback and when users were “mousing” around their schedule board, the resource flyout card was too easy to accidentally pop up.


Show resource card with a right click


Users were trying to expand the resource row or navigate to the left side of the board, and the resource card became a nuisance. So naturally, we listened! To view the resource card on the schedule board, instead of a hover, right click the resource and “view resource card.”


To view resource card, right-click View Resource Card


To Exit, just click the “X”:


Click X to exit


This also is an accessible alternative to our previous hover action.


Display day of the week on hourly vertical schedule board




In our last update, we exposed the day of the week on the horizontal hourly schedule board. When visiting a customer, I noticed that they kept opening up their PC calendar on their toolbar while talking to customers and arranging appointments. When they ended the call, I asked what that was all about? The answer? “I don’t know what day of the week the 27th is, so I open the calendar to check”. Sometimes, it is the easy things that really help our customers. So here it is, day of the week displayed on the vertical schedule board.


Day of the week displayed on the vertical schedule board



Keep your context when searching for availability and substituting a resource




Suppose you are searching for availability for a requirement, and the resource you want for the requirement does not have the hours you need. You analyze their bookings for that timeframe and feel it makes sense to move an existing booking to another resource to make room for this requirement you are trying to schedule. You want to make sure to move the existing booking only to a qualified resource with availability, without changing the booking time. Then, when you are done moving the existing booking, you would like to land in the same “schedule assistant” context you started out in to book the original resource!


Now, this flow is complete!




Here is a visual walkthrough:


Resource manager selects a requirement and searches for availability. Manager sees that Abraham, the perfect resource for the job, is 20 hour short. However, the booking on April 3rd – 5th seems like a solid one to move to free up the 20 hours needed.


Select a requirement and search for availability


I can right click that booking and click “find substitution”


Right click a booking and click Find Substitution


Now I am in the context of finding a resource with the proper skills and availability for this existing booking. In essence, we are using the schedule assistant to substitute the resource on an existing booking. You will notice that the demand panel now shows the booking I am trying to substitute, and the filter panel adds the required roles, characteristics, etc.


Substitute the resource on existing booking


Now I have a list of matching resources. I can select one and click “substitute” on the top toolbar.


Select a resource and click Substitute



Booking reassigned


After clicking ok, the bookings are reassigned, and you are brought back into the context of the schedule assistant search where you began.


Now, Abraham has plenty of availability and you can book away:


Schedule Assistant search


We hope you enjoy these enhancements, as they are driven from your feedback! The team continues to work in overdrive to deliver enhancements and improvements, so please keep blogging, posting, Yammering on the field service group and the project service group and submitting ideas. We are keeping an eye out for what is needed!


Happy Scheduling!

Dan Gittler

Principal Program Manager, Dynamics 365 Engineering