How to change advanced settings for the Schedule Assistant
There are advanced settings in the filter control that allow you to change the behavior of the Schedule Assistant.
- Real Time Mode
- Allow Overlapping
- (Ignore Proposed Bookings) (Multiday)
- Ignore Travel Time
- Ignore Duration
By default, these are all deselected, except for Ignore Proposed Bookings, which is selected by default.
What if you want to change the default for any of the advanced options?
All you have to do is modify the Default Retrieve Constraints query leveraging Universal Resource Scheduling extensibility.
(Here is a previous blog post where this was discussed in the context of changing the default value for ignoring proposed bookings.)
To change the default value for any of the options above:
- Open up the Schedule Board. Any tab will do.
- Select any Schedule Board tab, and then select Open Default Settings, which will open the Schedule Board that serves as the default for all the other Schedule Boards. Any settings that are Schedule Assistant focused are changed on the default Schedule Board. (For more information about Schedule Board settings, click here.)
- Scroll down to the Schedule Types section. If you want to change the default for a specific Schedulable Entity, select that entity (for example, Work Order or Project). If you want to change the default, select None under Schedulable Types. Then modify the “Default Retrieve Constraints” query by selecting the edit button next to the query. You can now modify your retrieve constraints query. You can see below the section that sets the default values for the advanced settings. Using “IgnoreTravelTime” as an example, just change the default from “false” to “true”, and save the record query. (Notice that you cannot actually override the default query we ship, but you can “save as,” which clones the default and lets you modify the query.) query we ship, but you can “save as,” which clones the default and lets you modify the query.)
- 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:
<IgnoreTravelTime ufx:if=”$input/@ufx-id” ufx-type=”bool”>true</IgnoreTravelTime><IgnoreTravelTime ufx:if=”not($input/@ufx-id)” ufx-type=”bool”>false</IgnoreTravelTime>
- Once you save the query, make sure it now shows as the selected default query, and then apply your changes:
- Next time you search for availability, the default will be to ignore travel time!
Check out these blog posts to learn more about the functionality of Ignore Travel Time or Ignore Proposed Bookings.
Dan Gittler, Principal PM Manager, Dynamics 365 Engineering