Category Archives: Field Service

Requirement Group

After we have taken a look into Resource Crews let’s now explore what Dynamics 365 Customer Engagement can offer with Requirement Groups.

  1. create three Resources, each with differing skills:
    Go to Field Service=>Resources=>”+ New” and create
    a) One User with Skills: Flow, Hololens Know How.
    b) One Contact with Skill: Data Integration
    c) One Equipment with Skill: Hydraulic Lift

2. create a Requirement Group Template. Go to Field Service=>Resources=>Requirement Group Templates=>”+ New”
a) provide a Name, save
b) click into the first row from the subgrid and click “+ Requirement
c) now add three requirements for getting back proposals for a team of three people and add corresponding skills
d) at the Truck Resource click on Open Form to determine which Resource Type (Equipment in this case) you are expecting

Difference between Requirement Group and Requirement Group Template

A bit confusing is, that as soon as you open a Requirement Group Template form, the menu on the left jumps back as if you would have opened a Requirement Group instead of a Requirement Group Template. [improve@MS]
Reason: technically Requirement Group and Requirement Group Template are the same entity msdyn_requirementgroup where only the records are differentiated by a flag called “Is Template”.

The title of the new-form “New Template: …” gives you the indicator that you’re creating a new template. But if you’re going to edit an existing Requirement Group Template you feel like editing a Requirement Group instead. I would therefore recommend to make the flag “Is Template” visible but read-only on the form.

If you pay close attention you recognize another difference: the lookup field Requirement Group Template is only visible on the Requirement Group form:

The field Requirement Group Template is read only for saved records.

That brings us to the interoperability of the two:
if you create a new Requirement Group the above mentioned field gets unlocked so you can choose a Requirement Group Template to start from.

Book a Requirement Group

If done with editing the requirements you can click the Book button directly from the Requirement Group ribbon:

This will open the Schedule Assistant with a list of appropriate Resource combinations. In our example the three Resources we have configured in step 1:

On the result list you than can

  • open each result row’s group to see its members
  • see which of the Requirements are going to be fulfilled by which of the found resources (last column)
  • adjust filter criteria and repeat search execution
  • book one of the groups by clicking on it => Book & Exit on the right flyout

If you’re not getting any results you should

  • probably need to adjust your search criteria
  • check if you have appropriate Resources in the system at all
  • check whether your Requirements do have a Service Territory associated but your Resources haven’t

Requirement Group in Schedule Board

If you now open the Schedule Board you could find something like this (too many Resources to have an easy overview):

Hovering over the booking panel (screenshot above) tells you that you have a Grouped Booking. So maybe you want to do a right click at the booking and choose Split View:

Shows you all bookings from this group (only those Resources which are on the same page of results, so you might want to increase the number of Resources per Page in Schedule Board tab settings and/or adjust your Resource filter to see all group members).

If you now drag and drop one of the bookings to a different starting time, all other bookings of this group will be shifted automatically too. Cool! That is what our customer wants!
However compared to the same procedure with a Resource Crew you don’t see the shifting immediately happening on the board, instead you need to hit the refresh-button at the top of the Schedule Board tab once to see your bookings being shifted [improve@MS].

In another article I’m going to dig deeper into the combination of Requirement Groups with Work Orders.

Share it on

Resource Crews

If your customer is asking you which possibilities with Dynamics 365 Field Service you have to book several Resources for one Work Order, you will have plenty of them in mind.

So lets further specify the requirements:

  • scheduling of several resources for a Work Order all at once
  • if appointment dates have to be postponed, the bookings for all of the Resources should be postponed all at one

Which possibilities come to your mind?

Resource Crews

Let’s directly jump into trying that out!
So I want to create a Crew out of 3 Resources: one User, one Contact and one Equipment.

  1. Go to Field Service (App)=>Resources(Area)
  2. Let’s create three Resources which you want to be Crew members: a Contact, a User and an Equipment
  3. “+ New” on top of Resource list =>
  4. set Resource Type to Crew; provide a Name to the Crew:
Dynamics 365 Field Service Resource Crew

5. in your Resource of Resource Type “Crew” go to “Related”=>Resource’s Children

6. click on “+ New Bookable Resource Group”
7. for the field Child Resource choose the first crew member and also fill in the Name field
8. for From Date and To Date choose the timeframe in which you want this Resource to be member of the crew

bit confusing here is the naming of the entity: “Bookable Resource Group”. In fact for you this is solely an association between a Resource and a Resource crew (or technically between exactly two Resources).

9. hit Save&Close and repeat step 6 to 9 for all your 3 crew members

Dynamics 365 Field Service Resource Crew Members
Keep in mind that if you want to see all members of a crew you should either go to the Schedule Board (maybe better) or open the “Resource’s Children” subgrid in your Resource form if you have the Resource Type “Crew”.

10. now open your Schedule Board. You should see this:

Dynamics 365 Field Service Schedule Board with Resource Crew
A new Crew Resource is available and the individual Crew members are made unavailable for the time of their crew membership.

11. you might want to do a right click on your Crew resource and chose “View Crew Resources in Split View

this provides you with an even better perspective:

12. now lets drag and drop one of the Resource Requirements from your Open Requirements list onto the Crew Resource

After the system has finished its job (might take a couple of seconds) you will see this:

If I now move the main tile representing the Booking of the Crew by drag and drop, all Bookings for all the crew members get postponed automatically as well.

Share it on

Bookable Resource

In Dynamics 365 Field Service you are able to create these types of Resources:

  • User
  • Contact
  • Account
  • Equipment
  • Crew
  • Facility
  • Pool

Resource Type: Equipment

  • Facility Equipment lookup appears and becomes mandatory after this Resource Type has been chosen.
  • Organizational Unit lookup becomes read only after this Resource Type has been chosen . Gets pulled from ‘Facility/Equipment’.’Organizational Unit’ or, if this is empty, than from ‘Project Parameters’.’Default Organizational Unit’.
  • Enabled for Field Service Mobile two option set disappears
  • in previous versions it was called Company Asset
  • makes sense to be used in a Resource Crew
  • for example: Truck, Excavator, Beamer, Hololens
  • Start Location & End Location cannot be set to Resource Address

Resource Type: Crew

Also see here for further details on how to set up a Crew.

Customizations

After I have created a copy of an existing form I faced issues that some of the scripting provided by Microsoft didn’t work anymore. As long as I don’t get further insights into this I would recommend to be careful when taking this road. Better maybe to customize the existing form instead of creating a copy of it for customizations. This, by the way, is also a way that has proved to be more stable when it comes to upgrading your org with latest MS solution versions. We faced lots of scripting errors on forms that we previously have copied. It turned out that MS replaced the JS libraries for the original forms but not for your form copies during the last larger upgrade cycle.

Share it on

Facility/Equipment

Technical entity name: equipment
Microsoft reference here.

Originally coming from Service module.

  • Reachable in menu via Settings=> Business Management.

If you’re opening the form from Unified Interface you’ll see the lookup field Organizational Unit on the form.

For Organisational Unit there is no helpful field description [improve@MS].

But if you’re opening it from the former UI you’ll get another lookup field Site instead:

For Site there is a field description: “Site where the facility/equipment is located.”

So is Organizational Unit the “newer” replacement for Site (at least when it comes to Field Service?

If you are creating a Bookable Resource with Resource Type Equipment than the Organizational Unit gets automatically populated from Facility/Equipment.’Organizational Unit’ into ‘Bookable Resource’.’Organizational Unit’.

Work Hours

There is a Work Hours ribbon button in Unified Interface:

Share it on

Overview Microsoft Field Service

The main process for Field Service spans the following entities, more or less also in this order:

  • Cases
  • Work Order
  • Work Order Incidents
  • Customer Assets
  • Resources
  • Resource Requirements
  • Resource Bookings
  • Invoices

There are over a hundred other entities around that involved in the core Field Service processes which provide additional functionality.

Data Model

Data model of the Work Order and its most important related entities

AddOns and extensibility solutions for D365 Field Service

Also there are plenty of Add Ons available that can extend the core Field Service functionality, like:

  • Field Service Mobile
  • Connected Field Service (now part of the core Field Service Solution)
  • PowerBI
  • Field Service (Partner) Portal
  • Data Integrator Templates
  • Microsoft Forms Pro
  • Azure IoT Hub
  • Azure IoT Central
  • Azure Stream Analytics
  • Azure Machine Learning
  • Azure Digital Twins
  • Dynamics 365 Remote Assist (for Hololens and Andoid Mobile Phone)
  • Microsoft Hololens
  • Dynamics 365 Product Visualize
  • Dynamics 365 Guides (3D instructions for Field Service Engineers)
  • Dynamics 365 Layout
  • Microsoft Intune (Mobile Device Management / Mobile Application Management)
Share it on

Tips for Enable Resource Scheduling for Entities

If you’re going to enable another (custom or OOB) entity for scheduling there is a great blog series from Sara Lagerquist (see links below) which has some good tips. Based on these tips I’m listing up some of the most valuable insights when it comes to extend URS functionality when you Enable Resource Scheduling for Entities.

ENABLE RESOURCE SCHEDULING FOR ENTITIES
  • don’t create new relationships from within the “Enable Scheduling” setup wizard as they won’t contain your custom prefix in their technical relationship names
  • think about doing a more sophisticated field mapping by Workflow instead of only using the static field mapping from the wizard
  • also take into account to leverage the standard field mappings for the newly created relationships to pass on additional parameters which are not exposed as fields in the wizard
  • don’t forget to maybe auto create Resource Requirements by another Workflow
  • also you maybe want to auto-populate Resource Requirement Skills / Characteristics for your new Resource Requirements
    • for only a limited number of Characteristics you might want to create several new Lookup fields on your newly schedulable entity to the Characteristic entity
    • for a larger number of Characteristics you could use Microsoft Flow to populate them into your Requirement Characteristic entity. Source for this Characteristics list to be picked up by Flow could be a new sub-entity from your newly schedulable entity (NewSchedulableEntity 1:n NewSchedulableEntity.Characteristics). If you want to make Service Tasks schedulable you could alternatively use the Service Task Type and place a new Subgrid “Service Task Type Caracteristics” there.

Sources & more information:

Share it on

New Auto-numbering for Field Service

Inspired by this blog article from Karuna Karan I activated the new auto numbering for field service in a new trial organisation.

This is done by going to Field Service Settings and than click a ribbon button “Opt-In to Auto-Numbering”:

You than are than getting this warning dialog from Microsoft:

Opt-In to Auto-Numbering

By proceeding you will be opting-in to an improved implementation of Auto-Numbering utilized by several Field Service entities.

Benefits

  • Guaranteed unique record naming.
  • Fewer gaps in the names of affected entities since the name of the record is not generated until after a user creates it.
  • Starting number for names can be changed to a smaller number should the maximum number be reached.
  • Number length for names can be specified on a per entity basis.

Changes

  • The Auto-Number name will only be assigned after the record is saved.
  • Configuring each name’s format will be managed in a dialog.
  • When importing an entity as a separate solution from one organization to another, the Auto-Numbering format definition for the entity will be carried across as part of the solution.

Warnings

  • Once opted-in, reverting back to the legacy implementation of Auto-Numbering is not possible.
  • While opting-in, creation of new records may fail. It is highly advised that opting-in take place while there is no activity on the organization. The process will take a few moments to complete.

After you confirm this warning to proceed, the former button turns into this one:

When using that new ribbon button a dialog opens:

and you can choose there between those entities for which you could already decide about auto number format before:

Conclusion

Yes, an easy way to exactly archive what Microsoft mentions in the confirmation dialog:

  • guaranteed unique (biggest enhancement)
  • fewer gaps between the numbers
  • number length can be specified
  • usage of not utilized numbers when switching to smaller starting position

So thank you Microsoft for that.

However:

  • as Karuna Karan mentioned in his blog, it is still difficult to reset the already used numbers
  • it still has other format than the “old” auto numbers:
Common dynamics CRM auto numbers (OOB).
  • we do already have other means by using web.powerapps.com to create auto numbers OOB in a much more flexible way and add them into our solution files:
auto number functionality of web.powerapps.com
Auto number functionality of web.powerapps.com.
Auto Number Manager in XRM Toolbox.

So you’re asking yourself a bit why for Field Service OOB auto numbers there seem to be only some “minor” enhancements whereas the overall auto numbering has made such huge progress.

Share it on