In this webinar, our experts showcase a variety of demo use cases of how different components of the...
You may have heard the name FieldOne Sky bantered about lately, but what is it exactly? FieldOne Sky is a field services management solution acquired by Microsoft in 2015. It adds a robust set of features for any field service organization. In today's blog, we will go over the Auto Routing data requirements for FieldOne Sky.
First off, what can FieldOne Sky do? At a high level, FieldOne Sky can assist with:
Now that we have a high level understanding of what FieldOne Sky is and what it can do, let's take a look at Auto Routing resources.
FieldOne Sky documentation contains a great deal regarding Auto Routing, but one specific thing the documentation is missing is a concrete list of data elements across the various entities required for Auto Routing to work without error. Not every organization will need to take advantage of all functionalities, however, it's good to know what is required, at a minimum, for Auto Routing to work. Below is a list of required fields for Auto Routing to run without error:
Entity | Display Field Name | Schema Name | Notes |
Territory (territory) | Territory Name | name | Need to create at least one territory |
Incident Type (f1_incidenttype) | Allow on Work Order | f1_AllowonWorkOrder | Needs to be Set to Yes |
Incident Type (f1_incidenttype) | Scheduled Duration | f1_EstimatedTime | Needs to be greater than 0 minutes |
Account (account) | Address 1: Street 1 | address1_line1 | Account must have a valid address |
Account (account) | Address 1: Street 2 | address1_line2 | Account must have a valid address |
Account (account) | Address 1: Street 3 | address1_line3 | Account must have a valid address |
Account (account) | Address 1: City | address1_city | Account must have a valid address |
Account (account) | Address 1: State/Province | address1_stateorprovince | Account must have a valid address |
Account (account) | Address 1: ZIP/Postal Code | address1_postalcode | Account must have a valid address |
Account (account) | Address 1: Country/Region | address1_country | Account must have a valid address |
Account (account) | Address 1: Latitude | address1_latitude | Geo Code must be set which populates the Longitude and Latitude fields |
Account (account) | Address 1: Longitude | address1_longitude | Geo Code must be set which populates the Longitude and Latitude fields |
Account (account) | Service Territory | f1_serviceterritory | Service Territory must be set based on the Address ZIP/Postal Code |
Resource (equipment) | Routing Start | f1_routingstart | Must have a value. The Geo Codes for the Routing Start and Routing End Must have a value, otherwise the whole optimization may throw an error. The Geocodes is taken from different places depending on the Resource Type and the Routing Star/End fields. |
Resource (equipment) | Routing End | f1_routingend | Must have a value. The Geo Codes for the Routing Start and Routing End Must have a value, otherwise the whole optimization may throw an error. The Geocodes is taken from different places depending on the Resource Type and the Routing Star/End fields. |
Resource (equipment) | Resource Type | f1_resourcetype | The Resource Type cannot be set to Company Asset |
Resource (equipment) | Optimize Route | f1_isautoroutable | Must be set to 'Yes' for AUTO Routing to occur, not necessary for Scheduling Assistant |
Resource (equipment) | Display on Schedule Assistant | f1_displayonscheduleassistant | Must be set to 'Yes' for either scenario |
Resource (equipment) | Display on Schedule Board | f1_displayonscheduleboard | Must be set to 'Yes' for either scenario |
Resource (equipment) | Work Hours | * Sub Grid * | Work Hours need to be set for a Resource |
Resource (equipment) | Resource Territory | * Sub Grid * | A resource territory must be assigned |
Work Order (f1_workorder) | Primary Incident Scheduled Duration | f1_EstimatedTime | Estimated duration from the Incident Type has to be greater than 0 minutes, Otherwise we cannot schedule a resource to arrive at the site just to continue moving to the next service location. |
Work Order (f1_workorder) | Latitude | f1_latitude | The Latitude and Longitude needs to have a value in order to be considered by the routing optimization. |
Work Order (f1_workorder) | Longitude | f1_longitude | The Latitude and Longitude needs to have a value in order to be considered by the routing optimization. |
Work Order (f1_workorder) | Scheduling Method | f1_scheduling method | The Scheduling method field has to be set to Routing Engine or Scheduling Assistant as appropriate |
Work Order (f1_workorder) | Status | statecode | The Work Order Status field has to be Active |
Work Order (f1_workorder) | System Status | f1_systemstatus | The System Status field has to be Unscheduled or Scheduled |
Work Order (f1_workorder) | Primary Incident Type | f1_primaryincidenttype | The Incident Type must be set |
Work Order (f1_workorder) | Service Territory | f1_serviceterritory | The Service Territory field has to match the territory you're trying to optimize/schedule for. |
Work Order (f1_workorder) | Time To Promised | f1_timetopromised | If the Time Promised field has a value and the date portion of it differs from the date you're trying to optimize a route for, then engine will exclude that work order from the optimization process. The Promised time window takes precedence over the time date window, even if the time/date window covers a smaller time span. |
Work Order (f1_workorder) | Time From Promised | f1_timefrompromised | If the Time Promised field has a value and the date portion of it differs from the date you're trying to optimize a route for, then engine will exclude that work order from the optimization process. The Promised time window takes precedence over the time date window, even if the time/date window covers a smaller time span. |
Once all of the above data requirements are met, you will be able to make use of the Auto Routing functionality. With this functionality, you can achieve an optimized resource schedule as shown below.
*Image source: FieldOne
1. All work orders have been scheduled back-to-back with no downtime in between.
2. Clustered pins show how the allocation of resources have been optimized to reduce travel time and match all requirements (e.g. Skills, Resources, Equipment, etc.).
Multiple combinations and all possible constraints such as skills, windows of opportunity, working hours of the resources, etc. will be considered.
That's all for the blog today! Hopefully you feel better equipped to make full use of the powers of FieldOne Sky. Take a look at our blog, Dynamics CRM and FieldOne: Solutions for Field Services, for more info. Check out our website to learn about other field service management capabilities with Dynamics CRM. You can also check out our upcoming webinar, Face of the Customer Meet Face of the Machine: Connecting CRM and IoT on May 11 and check out The CRM Minute featuring Dan Cefaratti, our Field Service Practice Director.
Happy CRM'ing!
Hello,
I thought that auto-routing hasn't been released by Microsoft yet. Is there any news that I have missed?
This is for the Field One Sky version, but the Field Service version for Dynamics CRM Online is still under works.
A lot of waiting game right now for Field Service, Microsoft having bought Field One Sky and releasing Field Service makes Field One Sky not so wise decision. If anyone disagrees, I love to hear you point. Hopefully Customer Driven event will shed some light.