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.
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:
- Book based on estimated time of arrival
- View more at once on the schedule board
- Display up to 14 days on hourly schedule board
- Display more resources on schedule board
- Change booking statuses from multiday schedule boards
Other features we were able to work on:
- Pass in time when using URL to search for availability
- Leverage multi-select option set fields in extensibility
- Change default value for ignoring proposed bookings
- Use booking panel when dragging and dropping on multiday schedule boards
- Selected resource renders in driving directions
- Right click instead of hover to view resource card
- Display day of the week on hourly vertical schedule board
- Keep context when initiating substitution while searching for availability
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!
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.
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.
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.
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
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:
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!
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.
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.
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:
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:
MORE REAL ESTATE PLEASE!!!!!
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:
Using the same board on the same monitor, here you can see 25 resources at a time with our new minimum row height:
You can adjust this on the daily, weekly, and monthly views as well:
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:
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:
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:
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:
This will only change the status 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.
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:
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"
Don’t worry, the previous supported format of yyyy-mm-dd will still work.
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:
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:
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.
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.
We received feedback and when users were "mousing" around their schedule board, the resource flyout card was too easy to accidentally pop up.
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 Exit, just click the "X":
This also is an accessible alternative to our previous hover action.
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.
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.
I can right click that 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.
Now I have a list of matching resources. I can select one and click "substitute" on the top toolbar.
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:
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!
Principal Program Manager, Dynamics 365 Engineering