Cloud Readiness / Oracle Field Service
What's New
Expand All


  1. Update 20A
  1. Revision History
  2. Overview
  3. Feature Summary
    1. Administration
        1. Activity Type Features Allowed Modifications
        2. Auto-Identification of Start Time Fields
        3. Pre-Calculate Travel Based on Distance
        4. Strong Default Complexity for User Passwords
    2. Android and iOS Applications
        1. Updated Design of Installed Application with Ability to Change Instance
    3. APIs
        1. Find Nearby Activities API
        2. Retrieve Calendars Using Pagination
    4. Collaboration
        1. User Interface Improvements
    5. Core Application
        1. Cancel Activity on Where Is My Technician Screen
        2. Calendar Improvements in Core Application
        3. Consistent Values for "Position in Route" Throughout the Activity Lifecycle
        4. Improved Way of Resource Selection
        5. Link a Segmentable Activity and a Regular Activity
        6. Unify Activity Presentation on Dispatch Map
        7. Route Map: Draw Polygon to Select Activities
        8. Travel Time Calculation Quality and Alerts
    6. Integration
        1. Configure Daily Extract Start Time
    7. Plugin Framework
        1. Create an Activity Through Plug-In API
    8. Reporting
        1. Responsive Headers in Configuration and Reports
    9. Routing
        1. Improve Travel Estimations for Low Accuracy Coordinates
        2. Improve Travel from Last Activity to Resource End Location
        3. Dynamic Connections to Routing

Update 20A

Revision History

This document will continue to evolve as existing sections change and new information is added. All updates appear in the following table:

Date Feature Notes

27 MAR 2020

Consistent Values for "Position in Route" Throughout the Activity Lifecycle Updated document. Revised feature information.

24 JAN 2020

  Created initial document.

Overview

This guide outlines the information you need to know about new and improved functionality in Oracle Field Service Update 20A. Each section includes a brief description of the feature, the steps you need to take to enable or begin using the feature, any tips or considerations that you should keep in mind, and the resources available to help you. For a listing of browsers supported by Oracle Field Service, log in to our support site and access Answer ID 8415.

Oracle Field Service Best Practices Guide: Please be sure to download our Oracle Field Service Best Practices Guide found on the Oracle Service Cloud Support Portal Answer ID 8215 (requires a login). This book contains many helpful hints and suggestions to help you improve and get the full benefit from your Oracle Field Service subscription.

ANNOUNCEMENTS FOR THIS UPDATE

  1. The Activity Management, Resource Management, HISTORY and Smart Location SOAP APIs will be removed with the 20C (August 2020) Update. If you have not already migrated to the REST APIs, we strongly encourage you to migrate to them between now and July 2020.

  2. For customers using SAML Authentication, the option ‘SHA-1’ is being removed with 20B (May 2020). Customers must update their Hashing Algorithm to SHA-256.

  3. We have pushed the removal of Core Manage to the August 2020 Update. In preparation for migrating to the Core Application, we strongly encourage you to begin configuring the Application Screens between now and June 2020 for each User Type in your configuration. This will ensure that you are prepared for the removal of the Legacy Core Manage screens with the 20C (August 2020) Update.

GIVE US FEEDBACK

We welcome your comments and suggestions to improve the content. Please send us your feedback at https://documentation.custhelp.com/ci/documents/detail/5/4/12.

Feature Summary

Column Definitions:

Features Delivered Enabled

Report = New or modified, Oracle-delivered, ready to run reports.

UI or Process-Based: Small Scale = These UI or process-based features are typically comprised of minor field, validation, or program changes. Therefore, the potential impact to users is minimal.

UI or Process-Based: Larger Scale* = These UI or process-based features have more complex designs. Therefore, the potential impact to users is higher.

Features Delivered Disabled = Action is needed BEFORE these features can be used by END USERS. These features are delivered disabled and you choose if and when to enable them. For example, a) new or expanded BI subject areas need to first be incorporated into reports, b) Integration is required to utilize new web services, or c) features must be assigned to user roles before they can be accessed.

Ready for Use by End Users
(Features Delivered Enabled)

Reports plus Small Scale UI or Process-Based new features will have minimal user impact after an update. Therefore, customer acceptance testing should focus on the Larger Scale UI or Process-Based* new features.

Action is Needed BEFORE Use by End Users
(Features Delivered Disabled)

Not disruptive as action is required to make these features ready to use. As you selectively choose to leverage, you set your test and roll out timing.

Feature

Report

UI or
Process-Based:
Small Scale

UI or
Process-Based:
Larger Scale*

Administration

Activity Type Features Allowed Modifications

Auto-Identification of Start Time Fields

Pre-Calculate Travel Based on Distance

Strong Default Complexity for User Passwords

Android and iOS Applications

Updated Design of Installed Application with Ability to Change Instance

APIs

Find Nearby Activities API

Retrieve Calendars Using Pagination

Collaboration

User Interface Improvements

Core Application

Cancel Activity on Where Is My Technician Screen

Calendar Improvements in Core Application

Consistent Values for "Position in Route" Throughout the Activity Lifecycle

Improved Way of Resource Selection

Link a Segmentable Activity and a Regular Activity

Unify Activity Presentation on Dispatch Map

Route Map: Draw Polygon to Select Activities

Travel Time Calculation Quality and Alerts

Integration

Configure Daily Extract Start Time

Plugin Framework

Create an Activity Through Plug-In API

Reporting

Responsive Headers in Configuration and Reports

Routing

Improve Travel Estimations for Low Accuracy Coordinates

Improve Travel from Last Activity to Resource End Location

Dynamic Connections to Routing

Administration

Activity Type Features Allowed Modifications

Starting with Update 20A, more flexibility has been provided for changing the Activity type features from both the configuration screen and the REST API.

Changing the features of existing Activity types may lead to data inconsistency, if you have created activities of that type. Earlier, such feature changes were prohibited for modification in any direction (turn On or turn Off), even if one of the directions was safe. Now, you get warning messages when you try to modify these features. 

Configuration Screen

This table describes the behavior of Activity type features while updating an Activity type. Features that are not included in this table do not have any restrictions on their state.

  • Enable: This column describes whether a feature can ("+") or cannot ("—") be enabled while updating an Activity type.
  • Disable: This column describes whether a feature can ("+") or cannot ("—") be disabled while updating an Activity type.
  • +* sign: This blue plus means that the feature can be updated, but a warning message is shown on the "Modify Activity Type" screen. 
  • Warning: This column contains the warning message that is shown.

Behavior of Activity Type Features

Feature              API Label  Enable  Disable  Warning
Allow mass activities        allowMassActivities  +* Once selected, it cannot be modified for the Activity Type.
Teamwork     isTeamworkAvailable  
Enable segmenting and extended duration     isSegmentingAvailable  
Allow creation in buckets    allowCreationInBuckets     +*      Once selected, it cannot be modified for the Activity Type.
Support of not-ordered activities supportOfNotOrderedActivities +* Once selected, it cannot be modified for the Activity Type.
Allow non-scheduled allowNonScheduled +* Once selected, it cannot be modified for the Activity Type.
Support of inventory supportOfInventory +* Once selected, it cannot be modified for the Activity Type.
Support of links supportOfLinks +* Once selected, it cannot be modified for the Activity Type.
Support of preferred resources supportOfPreferredResources +* Once selected, it cannot be modified for the Activity Type.
Allow repeating activities allowRepeatingActivities +* Once selected, it cannot be modified for the Activity Type.
Support of time slots supportOfTimeSlots + +* Time Slot values will not be preserved after the change of this feature.
Enable 'day before' trigger enableDayBeforeTrigger + +* This change will not affect existing messages.
Enable 'reminder' and 'change' triggers enableReminderAndChangeTriggers + +* This change will not affect existing messages.
Enable 'not started' trigger enableNotStartedTrigger + +* This change will not affect existing messages.
Enable 'SW warning' trigger enableSwWarningTrigger + +* This change will not affect existing messages.

API CHANGES

There are no changes in the request or response API schemas and the Metadata API function for activity types now allows some changes that were previously forbidden. In addition:

There are some changed error descriptions that can be returned:

  • Failed To Disable Feature Error
    • Code: 400 Bad Request
    • Detail: "Feature 'allowMassActivities' can not be disabled"
  • Conflicting Features Error
    • Code: 400 Bad Request
    • Detail: "Features 'isTeamworkAvailable' and 'allowMassActivities' are conflicting"
  • Required Feature Error
    • Code: 400 Bad Request
    • Detail: "Feature 'allowCreationInBuckets' requires 'allowMoveBetweenResources' to be enabled"

There are some changed error descriptions that can be returned:

  • Failed To Disable Feature Error
    • Code: 400 Bad Request
    • Detail: "Feature 'allowMassActivities' can not be disabled"
  • Conflicting Features Error
    • Code: 400 Bad Request
    • Detail: "Features 'isTeamworkAvailable' and 'allowMassActivities' are conflicting"
  • Required Feature Error
    • Code: 400 Bad Request
    • Detail: "Feature 'allowCreationInBuckets' requires 'allowMoveBetweenResources' to be enabled"

Steps to Enable

You don't need to do anything to enable this feature.

Auto-Identification of Start Time Fields

Earlier, 'Activity start-time stats fields' and 'Resource start-time stats fields' were used to group activities, to find out the probable start time of activities that are considered as 'Other' activities. Starting with Update 20A, Oracle Field Service detects these fields automatically. Therefore, the 'Activity start-time stats fields' and 'Resource start-time stats fields' fields are removed from the Configuration, Statistics screen.

The application uses these fields to find out the expected time at which the ‘Other’ activities would actually start within the specified time slot. This is in turn used to estimate the Available Capacity more accurately. Instead of having you to group activities based on their properties or properties of the resources that the activities are assigned to, the application groups the 'Other' activities automatically and estimates the start time. This change has negligible to nil impact on your Capacity, Quota, and Booking processes.

This screenshot highlights the fields that are removed:

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Pre-Calculate Travel Based on Distance

Earlier, the algorithm to pre-calculate travel duration between keys, using point-to-point estimations, was based on the popularity of the key. Starting Update 20A, the algorithm is based on the relative distances between keys. The pre-calculation of travel statistics algorithm runs every night, where the application finds the estimated travel between keys that have a high probability of travel between them and there aren't enough travels to estimate travel using statistics. The most probable travels often happen between nearby locations and not necessarily between most popular locations. Hence, the pre-calculation of travel based on the distance between keys is more effective than that between popular keys that are very far apart.

Earlier, the application sent seven pairs of points between the keys to build statistics between two keys. Hence, in 1000 requests that were sent daily, only 3000 pairs of keys were considered (each request can contain up to 24 travels). This resulted in a slower learning process. With this feature, the number of travels between any two keys is reduced to two. Hence, 1000 requests can get the travel data for up to 12000 pairs of keys, which speeds up the rate of learning of the application.

Find Median Coordinates and Medoids for Each Key To find out the relative distances between pairs of keys, the application calculates the median coordinates for each key. This is done based on the median values of the latitudes and longitudes of all activities that belong to the travel key. The median values of latitude and longitude are calculated separately.

The application also finds the coordinates of the two closest activity locations to the calculated median for each key. The coordinates of these medoids are used when sending pairs of locations between keys.

Algorithm

The general rules of the algorithm are as follows:

  • Travel keys are sorted based on the number of activities corresponding to the key. Pending Activities carry higher weights than completed ones.
  • The algorithm starts from the most popular key in the list that has learned durations to fewer than three other keys (fewer than three connections). After the key is connected to at least three keys, the algorithm moves to the next most popular key and repeats the process.
  • If there is no travel data from a key to itself, the application sends two pairs of coordinates within that key as a part of the request.
  • Between the keys, the application prioritizes the travel between nearest keys, based on the distances calculated between the medians.
  • The algorithm ensures that there is always at least two pairs of locations between any two keys. The final travel estimation is the average of the two travels.
  • Keys that are more than 100 km apart are not considered as a part of the request.

Example

Consider this geographical location, where each cell represents a Travel Key. Keys in lighter shades denote keys that do not have travel estimations from that key to itself. The request starts from the most popular key that is not connected to at least three other keys (say A). The request traverses 13 unique keys and comes back to the original key. Thus, each request contains 24 travels. The final request is A-G-H-I-J-E-I-K-L-K-J-M-N-O-N-M-J-K-I-E-J-I-H-G-A:

This exercise is repeated from key A till it is connected to at least three other keys.

The next request is A-B-I-G-B-F-E-M-E-B-D-A-F-C-F-D-B-E-F-B-G-I-B-A

Now, since A is connected to three other keys, the request moves on to the next most popular key, say V and repeats the same process. On the way if there is a key that is not connected to itself, the application includes two travels within the key. Whenever such a case is encountered, that key is counted twice when counting 13 unique keys. The next request would be V-Q-P-P-P-O-R-T-S-S-S-R-U-U-U-T-U-R-S-T-R-O-P-Q-V:

This process is continued till every key is connected to at least three keys within 100 km. After the entire process is completed for each key, every key is connected to every other key within 100 km of itself.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Strong Default Complexity for User Passwords

Earlier, the application didn’t enforce any default complexity for user passwords. Starting with Update 20A, a default complexity is enforced for passwords for new Login Policies. There is no impact on existing configurations and passwords.

When you add a new Login Policy, the Min password length field is set to 8 and the following check boxes are selected by default:

  • Password must contain uppercase and lowercase letters
  • Password must contain digits
  • Password must contain special symbols
  • Password must not contain personal details
  • Password must differ from old password

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Android and iOS Applications

Updated Design of Installed Application with Ability to Change Instance

Starting Update 20A, the updated design makes Installed application more responsive and usable. The following changes can be noted from the new design:

  • New labels such as "Application version" show the version of Installed Application.
  • Displaying of messages on the same screen where you select or enter the instance name, lets you to understand the problem with application loading and allows you to resolve the issue, if possible.
  • With the Change instance functionality, if you have access to more than one instance, you can switch between the instances using the Installed Application. You can switch to another instance by clicking "Change instance" link on the Login screen.

Change Instance Link on Login Screen

In the Change Instance screen, provide the instance name or URL and click Next to proceed to the Login screen.

Change Instance Screen

INSTALLED APPLICATION INSTANCE LOADING ISSUES

When there is any problem in loading the instance of Installed Application, you’ll see the corresponding warning message on the same screen where you have selected or entered the instance name. It allows you to solve the problem (to check entered value or check internet connection).

  • In case, if there is a problem with server connection, you must contact the administrator.
  • In case of network connectivity issue, you’ll see the following message on the Login screen:

Network Connectivity Warning Message

  • In case of the host not responding, you’ll see the following message on the Login screen: 

Host Not Responding Warning Message

  • In case of an unavailable URL, you’ll see the following message on the Login screen: 

URL Unavailable Warning Message

MDM CONFIGURATION ON SINGLE INSTANCE

You can skip the screen with instance name selection when you have only one instance configured with the MDM. It reduces the number of clicks to sign in to an instance.

Steps to Enable

You don't need to do anything to enable this feature.

APIs

Find Nearby Activities API

Starting with Update 20A, a new endpoint ‘findNearbyActivities’ is added to the Core API to search available, pending, unassigned, and non-scheduled activities that are placed within a small distance from a field resource. The returned activities are sorted by the nearness to the resource. The activity that is latest and nearest to the resource is listed first.

The following request parameters are supported:

  • latitude (optional): The geographic latitude coordinate of the resource position.
  • longitude (optional): The geographic longitude coordinate of the resource position.
  • limit (optional): The number of items to be returned in the response. The default value is 10. The minimum value that can be specified is 1 and the maximum value that can be specified is 100. If the specified value is greater than 100, then it defaults to 100. Value less then 1 is not allowed.
  • fields (optional): The list of activity fields to be returned in the response:
    •  activityId
    • resourceId
    • date
    • latitude
    • longitude

The following fields are returned in the response:

  • Items: The list of found activities along with the requested fields.
  • coordinates: The latitude and longitude of the resource location.

PERMISSION

To access this functionality you must have at least read-only permissions for Activity and Resource entities of Core API.

cURL  COMMAND EXAMPLE

curl -X GET "https://<instance_name>.etadirect.com/rest/ ofscCore/v1/resources/33001/findNearbyActivities?limit=10&fields=postalCode,timeOfAssignment" -u "534f82a8d1ac2a47da9cfe95a4c8bf9b87b66553@infodev2:85c243847b41c3ed8f367efed2a4218809d431adfd775b2457680d4665393e54" -H "Accept: application/json" -H "Content-Type: application/json"

EXAMPLE RESPONSE

Here's an example response body in JSON format.

{

    "items": [

        {

            "activityId": 3956450,

            "resourceId": "55007",

            "date": "2019-12-05",

            "longitude": -81.27668,

            "latitude": 28.75769,

            "postalCode": "327736033",

            "timeOfAssignment": "2019-07-10 04:00:00"

        },

        {

            "activityId": 3956432,

            "resourceId": "55001",

            "date": "2019-12-05",

            "longitude": -81.27618,

            "latitude": 28.7562,

            "postalCode": "327736037",

            "timeOfAssignment": "2019-07-10 07:00:00"

        },

        {

            "activityId": 3954917,

            "resourceId": "33042",

            "date": "2019-12-05",

            "longitude": -81.27765,

            "latitude": 28.75801,

            "postalCode": "32773",

            "timeOfAssignment": "2019-07-10 09:00:00"

        }

    ],

    "coordinates": {

        "longitude": -81.27618,

        "latitude": 28.7562

    }

}

Steps to Enable

Review the REST service definition in the REST API guides, available from the Oracle Help Center > your apps service area of interest > REST API. If you're new to Oracle's REST services you may want to begin with the Quick Start section.

Key Resources

Retrieve Calendars Using Pagination

Starting with Update 20A, two new parameters 'limit' and 'offset' are added to the “Get calendars” operation (/rest/ofscCore/v1/calendars) to retrieve the result by pages. Getting paginated results is especially useful, when the request contains a wide date range and results in a very lengthy response to be efficiently processed with one request.

The following request parameters are added:

  • limit(optional): integer The number of items to be returned in the response. The minimum value that can be specified is 1 and the maximum value that can be specified is 100. If the specified value is greater than 100, then it defaults to 100. Value less then 1 is not allowed.
  • offset(optional): integer The record number from which the retrieval starts. The default value is zero. If no value is specified, then it defaults to zero. The value zero indicates that the retrieval will start from the beginning of the collection.

If the request contains the limit and offset parameters then the response is paginated accordingly and the following additional response parameters are returned:

  • limit(optional): integer The actual applied limit.
  • offset(optional): integer The actual applied offset.
  • totalResults(optional): integer The total number of items returned.

If the limit and offset parameters are not provided in the request, then all the items are returned without any limitation and the response doesn't contain the response parameters: limit, offset, and totalResults.

cURL COMMAND EXAMPLE

curl -X GET "https://<instance_name>.etadirect.com/rest/ ofscCore/v1/calendars ?resources=33001&dateFrom=2019-12-04&dateTo=2019-12-26&limit=3&offset=2" -u "534f82a8d1ac2a47da9cfe95a4c8bf9b87b66553@infodev2:85c243847b41c3ed8f367efed2a4218809d431adfd775b2457680d4665393e54" -H "Accept: application/json" -H "Content-Type: application/json"

EXAMPLE RESPONSE

Here's an example response body in JSON format.

{

"items": [

{

"date": "2019-12-13",

"resourceId": "nse1",

"regular": {

"recordType": "working",

"workTimeStart": "07:00",

"workTimeEnd": "23:00",

"comments": "created via API"

}

},

{

"date": "2019-12-14",

"resourceId": "nse1",

"regular": {

"recordType": "working",

"workTimeStart": "07:00",

"workTimeEnd": "23:00",

"comments": "created via API"

}

},

{

"date": "2019-12-15",

"resourceId": "nse1",

"regular": {

"recordType": "working",

"workTimeStart": "07:00",

"workTimeEnd": "23:00",

"comments": "created via API"

}

}

],

"totalResults": 16,

"limit": 3,

"offset": 2,

"links": [

{

"rel": "canonical",

"href": "https://<instance_name>.etadirect.com/rest/ofscCore/v1/calendars?resources=33001&dateFrom=2019-12-04&dateTo=2019-12-26&limit=3&offset=2"

},

{

"rel": "prev",

"href": "https://<instance_name>.etadirect.com/rest/ofscCore/v1/calendars?resources=33001&dateFrom=2019-12-04&dateTo=2019-12-26&limit=3&offset=0"

},

{

"rel": "next",

"href": "https://<instance_name>.etadirect.com/rest/ofscCore/v1/calendars?resources=33001&dateFrom=2019-12-04&dateTo=2019-12-26&limit=3&offset=5"

}

]

}

Steps to Enable

Review the REST service definition in the REST API guides, available from the Oracle Help Center > your apps service area of interest > REST API. If you're new to Oracle's REST services you may want to begin with the Quick Start section.

Key Resources

Collaboration

User Interface Improvements

As part of Update 20A, these user interface (UI) style and formatting updates are made to modernize the look and feel of the Field Collaboration interface: 

  • The time of the last message received is displayed in the Collaboration chat window with these changes:
    • Unread chats are indicated with an Orange circle along with the count of unread messages.
    • The time of the last message received is displayed above the counter.
    • There is no change in the current behavior of the Helpdesk Chat window. The total duration is shown in the Helpdesk Chat window since the chat received is not attended by the operator in a helpdesk. 

Helpdesk Chat Window Showing Total Time

  • One day old chats are displayed with "Yesterday" instead of showing the time of the last message received. 

Helpdesk Chat Window Showing Yesterday

  • Chats older than a day is displayed with the date.

Helpdesk Chat Window Showing Date

  • The name of the chat initiator is displayed only in the chat header with the following changes: 
    • The sender's name from the chat bubble has been removed.
    • The space between bubbles is reduced.

Chat Initiator

Steps to Enable

You don't need to do anything to enable this feature.

Core Application

Cancel Activity on Where Is My Technician Screen

Earlier, your customers could track a technician, but couldn’t cancel an activity. For example, if your customer an appointment for repair work and the issue was not resolved, they couldn't cancel the appointment using Where's My Technician. Starting with Update 20A, your customers can cancel the specific types of activities, for which you enable the cancel option. The Cancel button is available when the activity status is Pending and is hidden as soon as the activity status changes to Started.

Here are the high-level steps to use the Cancel option:

  • Create a theme specifically for the cancel option.
  • Enable the Cancel button on the theme.
  • Configure the notification channels.
  • View the activities that are canceled through the Where is My Technician screen.

View Activities Canceled Through the Where Is My Technician Screen

  1. Open the Activity details screen for the activity that is canceled by your customer.
  2. Go to the History tab.
  3. Look for the line item that has WMT(customer) in the User column.

How to Cancel an Activity on the Where Is My Technician Screen (End Customers)

The Cancel button is available for an activity that is in Pending status and is hidden as soon as the activity status changes to Started.

  1. Click the Where is My Technician URL available in the notification sent by Oracle Field Service.
  2. Click Cancel.
  3. Confirm the decision. These screenshots show the Cancel button shows:

Activity Scheduled

Technician Assigned

Technician On The Way

Confirm Cancelation

Activity Canceled

Steps to Enable

Create a Theme for the Cancel Option

  1. Click Configuration > Themes.
  2. Under Where is My Technician, click Add new.
  3. On the Add WMT Theme page, enter a label for the theme. Later, you have to add this label to a message scenario to get the URL, so enter a meaningful label.
  4. Enter a description for the theme.
  5. Click Add. The Edit theme page appears. You can continue with creating the theme, or you can click Save and edit it later.

Enable the Cancel Button on the Theme

  1. Click Configuration > Themes.
  2. Open the theme that you created earlier.
  3. Navigate to the Interaction tab. Note that the Interaction tab was earlier known as the Communication tab. On the Interaction tab:
    1. Select Enable Cancel.
    2. Add the text for the Confirmation screen. You can also use the default text.
  4. Click Save. This screenshot shows the Interaction tab:

Tips And Considerations

Configure the Notification Channels

  1. To use the email notification channel with Message Scenarios:
    1. Click Configuration > Message Scenarios.
    2. Create or modify a message step.
    3. On the Settings tab, select Email for Delivery Channel.
    4. Select Customer for Recipient.
    5. Click Patterns and go to the Body section.
    6. Add the placeholder {{WMT_URL: theme_label}} (with double braces) at the point where you want to add the link. Here, theme_label is the label of the theme that you created earlier.
    7. Click Blocking Conditions and add a blocking condition for Activity Type [aworktype] to exclude the required types of activities.
    8. Continue with creating or modifying the step.
    9. Click Save. When the Message Scenario is launched, the email is sent to the user.
  2. To send an SMS using a third-party gateway service through Oracle Integration Cloud:
    1. Define a custom property (for example, X_WMT_MESSAGE) to store the tracking URL.
    2. Configure Oracle Integration Cloud (requires a separate subscription) to read the custom property for tracking URL and the customer’s phone property. Configure it to send messages using third-party tools, such as, Twilio OIC Adapter or Oracle Service Cloud integration.
    3. Click Configuration > Message Scenarios.
    4. Create or modify a message step.
    5. On the Settings tab, select Set Property for Delivery Channel.
    6. Select Customer for Recipient.
    7. Click Patterns and go to the Body section.
    8. Specify the property label (for example, X_WMT_MESSAGE) in the Subject section.
    9. Click Save. When the Message Scenario is launched, the SMS is sent to the phone number.

      Configure the Notification Channels

    10. To use the email notification channel with Message Scenarios:
      1. Click Configuration > Message Scenarios.
      2. Create or modify a message step.
      3. On the Settings tab, select Email for Delivery Channel.
      4. Select Customer for Recipient.
      5. Click Patterns and go to the Body section.
      6. Add the placeholder {{WMT_URL: theme_label}} (with double braces) at the point where you want to add the link. Here, theme_label is the label of the theme that you created earlier.
      7. Click Blocking Conditions and add a blocking condition for Activity Type [aworktype] to exclude the required types of activities.
      8. Continue with creating or modifying the step.
      9. Click Save. When the Message Scenario is launched, the email is sent to the user.
    11. To send an SMS using a third-party gateway service through Oracle Integration Cloud:
      1. Define a custom property (for example, X_WMT_MESSAGE) to store the tracking URL.
      2. Configure Oracle Integration Cloud (requires a separate subscription) to read the custom property for tracking URL and the customer’s phone property. Configure it to send messages using third-party tools, such as, Twilio OIC Adapter or Oracle Service Cloud integration.
      3. Click Configuration > Message Scenarios.
      4. Create or modify a message step.
      5. On the Settings tab, select Set Property for Delivery Channel.
      6. Select Customer for Recipient.
      7. Click Patterns and go to the Body section.
      8. Specify the property label (for example, X_WMT_MESSAGE) in the Subject section.
      9. Click Save. When the Message Scenario is launched, the SMS is sent to the phone number.

Key Resources

Calendar Improvements in Core Application

Earlier, you couldn’t add comments to a resource’s calendar and you couldn’t remove an on-call schedule in Core Application. Starting with Update 20A, you can add comments for non-working time and custom working time, and you can remove an on-call shift and restore the earlier schedule. Be aware that you can change the calendar, only if you have the Read-Write permission for Resource Calendar on the Resource/User Info context layout structure.

Apart from this, these improvements are made on the time format:

  • 'AM - PM' is changed to 'a-p' ( '8AM-5PM' --> 8a-5p' )
  • Extra zeros are removed ( '08a-05p --> '8a-5p' )
  • Time and non-working reasons are highlighted with bold fonts ( '8a-5p' --> '8a-5p' ; 'Holiday' -> 'Holiday' )

Add Comments for Non-Working Time and Custom Working Time

  1. Navigate to the Calendars screen, or the Resource Calendar screen.
  2. Click the current or a future date for which you want to add non-working or custom working time.
  3. In the Schedule drop-down list, select Non-Working Time or Custom Working Time.
  4. If you have selected Non-Working Time:
    1. In the Reason drop-down list, select a reason for which the resource is not working. For example, Other.
    2. Add the comments in the Comments field. For example, Daughter’s graduation day. This screenshot shows the Comments field:

  1. Enter the number of days for which you want to repeat this schedule.
  2. If you have selected Custom Working Time:
    1. Select the Start time and End time of the schedule. For example, 9:00 am to 3:00 pm.
    2. Add the comments in the Comments field. For example, Dentist’s appointment at 4:00.
    3. Enter the number of days for which you want to repeat this schedule.
  3. Click Submit.

Remove an On-Call Schedule

  1. Navigate to the Calendars screen, or the Resource Calendar screen.
  2. Click the current or a future date for which you want to remove an existing on-call schedule.
  3. Click the phone icon or the on-call schedule section on the calendar.
  4. In the On-Call Schedule drop-down list, select the blank option. This screenshot shows the Calendar screen:

  1. This screenshot shows the Resource Calendar and the screen on which the on-call schedule is going to be removed:

  1. In the On-call Schedule box, select the empty option from the list
  2. In the Repeat for box, enter the number days for which the on-call schedule must be removed.
  3. Click Submit. The schedule that was assigned earlier is restored for the selected number of days.

Steps to Enable

You don't need to do anything to enable this feature.

Consistent Values for "Position in Route" Throughout the Activity Lifecycle

Earlier, the Position in Route field on the Activity details screen was not always available. Starting 20A, the behavior of the Position in Route field is consistent throughout the activity lifecycle.

The following points define the logic for the way the Position in Route field is displayed:

  • The Position in Route field is applicable to all scheduled ordered activities, except for canceled (pending, started, completed, not done, and suspended) activities. If in a route there are some completed activities, the started activities could have a higher value for Position in Route than the first activity.   
  • Not Scheduled Ordered, Not Scheduled Not Ordered, and Scheduled Not Ordered activities don't have a defined position in the route.   
  • Setting of order for Not Scheduled activities makes sense only to define the order of the activities, before they are scheduled.   
  • The behavior of the Position in Route field for activities that are on a bucket is same as the behavior of the Position in Route field for non-scheduled activities.   
  • The sequence of activities is consistent throughout all activity statuses.   
  • Activities in started, complete, and not done statuses display the Position in Route field as a number.

NOTE: API and message scenarios dealing with the "position_in_route" value are not changed. The way the Position in Route field is displayed in Legacy Manage is not changed.

How It Works

These points describe how the Position in Route field works:

  • You can change the value for Position in Route depending on the constraints of these settings:
    • "Support of not-ordered activities" option on the Add Activity type screen.
    • "Allow activity reorder inside the route" option on the User Types (Activity Management section) screen.
    • "Allow selection of the next activity on Complete" option on the User Types (Activity Management section) screen.
  • You don’t see the "Not Ordered" option, if "Support of not-ordered activities" is not selected on the Add Activity type screen.
  • You can change the order, if you have selected "Allow selection of the next activity on Complete" on the User Types configuration (Activity Management section) screen, but only by filling the "Next activity" field on the Complete screen.
  • You can change the value of Position in Route, if these conditions are satisfied:
    • The visibility of the field on User Types is read-write or mandatory.
    • "Allow activity reorder inside the route" is selected on the User Types screen.
    • The activity status is Pending.
  • You cannot change the value of Position in Route, if these conditions are true:
    • The visibility of the field on User Types is read-only.
    • "Allow activity reorder inside the route" is not selected on the User Types screen.
    • Activity is in the final state (started, completed, not done, suspended, canceled status).

These examples show how Position in Route is displayed on various screens:

The application shows Position in Route on the Activity details screen for non-scheduled activities as "Ordered" or "Not ordered". You can change this value, if there are no constraints from the activity type and user type features. Here is a screenshot of the Activity details screen:

Position in Route on the Activity Details Screen

When you add a new non-scheduled activity, based on the activity type and user type features, you have two options for Position in Route: "Ordered" and "Not ordered". Here is a screenshot of the non-scheduled activity:

Position in Route for a Non-Scheduled Activity

When you add the very first scheduled activity, you can select Position in Route, based on the activity type and user type features. You see two options, default: "Ordered, position 1 (First)" and "Not ordered" for the Position in Route field. Here is a screenshot of the scheduled activity:

Position in Route for a Scheduled Activity

Position in Route for the next activity after a started activity is shown with both, the order and the position details. For example, "Ordered, position 2 (First)". Here is a screenshot of an activity in Started status:

Position in Route for an Activity in Started Status

The order First/Last and the position is clearly stated in the drop-down list. For example, this screenshot shows "Ordered, position 2 (First)" and "Ordered, position 3 (Last)" for a scheduled activity 

Position in Route Showing the First and Last Positions

The activity identifier shown in the "After.." statement shows which activity is positioned after the current activity (for ordered activities).

Position in Route Showing the Next Activity

Steps to Enable

You don't need to do anything to enable this feature.

Improved Way of Resource Selection

Earlier, you could add the Select Resource button to the activity hint and it would take the user to the resource’s route. However, if you wanted to navigate to a resource’s route from the Activity details screen, you couldn’t do it with one click. Now, the navigation to Dispatch Console from other screens is improved with Update 20A. This improvement helps dispatchers view activities assigned to a technician in one click. This means, administrators can now add the Select Resource button to the Edit/View activity and Add/Details inventory context layout structures. This button works as follows:

  • For dispatchers, Select Resource leads to Dispatch Console, where resource is automatically selected in the resource tree.
  • For users working in the field and for supervisor users, Select Resource opens the technicians’ landing page.

Add Select Resource to the Context Layout Structures

  1. Click Configuration, User Types.
  2. Select the User Type for which you want to add the button and go to the Screen configuration tab.
  3. Expand Application screens and click Edit/View activity.
  4. Expand New element and drag and drop the Button element to the header.
  5. Click the pencil icon in the Standard action screen field.
  6. On the Select screen dialog, select Select Resource [select_provider] in the Screen field. The Select Resource button is added with a default visibility of Read-Only.
  7. Click OK.
  8. Add any name translations and visibility conditions that you want.
  9. Click Save on the context layout screen.
  10. Repeat steps 3 to 9 and add the button to the Add/Details inventory screen. This screenshot shows the Select Resource button added to the Add/Details inventory context layout structure

How Users with Access to the Dispatch Console Can Use Select Resource

Here is the flow for users like a dispatcher:

  1. A dispatcher opens the Dispatch Console and goes through the activities.
  2. The dispatcher then clicks a specific activity and opens its Activity details screen.
  3. Then, the dispatcher clicks Select Resource. The Dispatch Console appears with the resource selected in the resource tree, as shown in this screenshot:

How Users Who Don’t Have Access to the Dispatch Console Can Use Select Resource

Here is the flow for users like supervisors:

  1. A field user or supervisor opens the Manage screen and goes through the activities.
  2. The field user or supervisor then clicks a specific activity and opens its Activity details screen.
  3. Then, the field user or supervisor clicks Select Resource. The technician’s landing page appears, as shown in this screenshot:

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Link a Segmentable Activity and a Regular Activity

Starting with Update 20A, you can link a segmentable activity with a regular activity, using specific link types such as Simultaneous, Finish to Start, and Start to Start. You can configure these links on the Activity details screen, Links tab.

Let’s say you have a segmentable activity, wherein a third-party must complete some work before you start the activity. You are not sure whether the work is done; so before you schedule the segmentable activity, you want a technician to inspect the location. Here, ideally you must create a regular activity for the technician to inspect the location. However, currently you cannot link a regular activity and a segmentable activity to cover such scenarios. Starting with Update 20A, you can link a segmentable activity with a regular activity, using specific link types such as Simultaneous, Finish to Start, and Start to Start. You can also see the activity details that show the graphical representation of linked activities such as, segmentable to regular, regular to segmentable, and regular to regular.

Link a Regular Activity with a Segmentable Activity

  1. Ensure that you have created the segmentable activity and the regular activity that you want to link.
  2. Open the Activity details screen for the segmentable activity for which you want to add a link.
  3. Go to the Activity link tab and click Add link.
  4. Select the type of link you want to add. For example, Start after.
  5. Search for the regular activity that you want to link the segmentable activity with.
  6. Click Link. The activities are linked. If you try to add an unsupported activity link type and/or constraint, a warning is displayed and no link is added.
  7. Click Unlink to unlink the activities. These screenshots show a segmentable activity that is linked with two regular activities on different days:

Segmentable Activity Linked to a Regular Activity (Finish to Start)

A Segmentable Activity Segment Linked to a Regular Activity; Zoom Options are also Seen

Link Types and Constraints Supported

This table provides the types of links and constraints supported for linking a segmentable activity with a regular activity.

Supported Links and Constraints

Link Type Constraints Description
Simultaneous (Segmentable and Regular activities) No constraints available N/A
Regular activity Finish to Segmentable activity Start   Same Day, Same Provider

Same Day: Regular activity must start (and finish) the same day, the earliest (based on the calendar) segment of the segmentable activity starts.

Same Provider: Regular activity must be assigned to the same provider as the earliest (based on the calendar) segment of the segmentable activity.

Segmentable activity Finish to Regular activity Start Same Day, Same Provider, Different Providers

Same Day: Regular activity must start (and finish) the same day the latest (based on the calendar) segment of the segmentable activity finishes.

Same Provider: Regular activity must be assigned to the same provider as the latest (based on the calendar) segment of segmentable activity.

Different Providers: Regular activity must be assigned to the resource not participating in any segment of the segmentable activity.

Segmentable activity Start to Regular activity Start Different Providers Different Providers: Regular activity must be assigned to the resource not participating in the earliest (based on the calendar) segment of the segmentable activity.

View Segmentable Activity Link Details

You can view the details of the regular activities linked to a segmentable activity on the Activity link tab. A GANNT-like diagram containing all the activities linked to current activity is opened. The activity colors on the diagram are the same as in Dispatch Console - Time View. Note that only activities are shown on the GANNT chart, and not the travel time.

  • To view information about the activity on the GANNT chart, click it and the standard activity hint is displayed.
  • To view information about the link, click it, and a link type and activity IDs for the link are displayed.

Route Linked Segmentable Activities

To route a linked segmentable activity, just run the multiday routing plan with the appropriate filters that suits the segmentable activity. You must have a Bulk routing plan running for a number of days long enough to cover the part of the linked segmentable activity that you'd like to route.

NOTE: Only bulk routing supports routing linked segmentable activities. Immediate routing ignores all segmentable activities that have links.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Unify Activity Presentation on Dispatch Map

Earlier, you could display only non-scheduled activities with map markers on the Dispatch Console map. Starting with Update 20A you can display activities that are not assigned (or activities that are assigned to a bucket) with map markers on the Dispatch Console map. Further, the not assigned activities are displayed in the right panel of the Dispatch Console map.

DISPATCH ACTIVITY MARKERS ON THE MAP 

You can display activity markers on the map, to differentiate between activities, and to view specific activities such as activities that are at risk.

  1. To view the markers for not assigned activities in the Dispatch Console:
    1. Go to Dispatch Console.
    2. Click a bucket or group in the Resource tree.
    3. Click the Map icon. This screenshot shows the Dispatch Console map with the not assigned activities:

  1. To view the markers on the Route map:
    1. Click the technician icon on the Resource tree.
    2. In the hint, click the Route icon.
    3. Click the map icon and then select the Scheduling layer.

Higher priority markers display on the map, when these two conditions satisfy:

  • There are many activities in the same location, or activities are displayed in a clustered location.
  • Activities have different map marker priorities.

Markers with different priorities display separately in clustered locations as you zoom in on the map, unless the location is the same. Activities under risk that are displayed as pink markers have higher priority than normal activities with configured markers. When an activity has no resolved coordinates, then it is marked with a crossed bubble in the right panel.

DISTINGUISH BETWEEN NON-SCHEDULED AND NOT ASSIGNED ACTIVITY MAP MARKERS 

The Dispatch Console Map displays both, non-scheduled and not assigned activities with map markers. It can be difficult for you to distinguish one from the other. So, the best practice is to configure different markers for non-scheduled and not assigned activities. For this, create a filter and use the 'Activity scheduled? [is_activity_scheduled]' property for the filter condition. You can configure it as a single condition or in combination with another condition.

This screenshot shows the Modify filter condition dialog:

Steps to Enable

CONFIGURE ACTIVITY MAP MARKERS

You can configure map markers to differentiate activities that are displayed on the Scheduling layer on the Route map and on the Dispatch Console map.

  1. Click Configuration > Business Rules.
  2. In the General section, go to Non-scheduled and Not assigned activities map markers. You can see that Urgent (red big circle) and Other (yellow small circle) markers are available by default.
  3. Click the pencil icon.
  4. On the Activity map markers window, click the plus icon, and complete these fields:
    Field Description
    Activity Markers The predefined shape to indicate the activity.
    Filter

    The condition to display the activity. All the filters that are configured on the Configuration > Filters screen that satisfy these conditions are displayed here:

    • The entity is Activity.
    • The List/Time/Map/Daily check box is selected.

    If you have selected a dynamic field such as Activity type or Work zone, a field appears below Filter to add the value. You can use the same marker with multiple filters.

    Filter value The value for the condition. For example, if you have selected Activity type for Filter, select Installation for the Work Type. You can use the same filters multiple times, with different conditions. For example, you can use the Days to SLA filter with conditions equal to 2 or 7.
  1. Click OK. Repeat steps 4 and 5 and add more markers. You can add a maximum of 10 markers.
  2. Use the stack icon to reorder the markers. The first marker in the list gets the highest priority, the second marker gets the second priority and so on. When multiple activities are displayed in a cluster on the map, the application determines the marker based on the priority assigned to it. You cannot reorder Urgent and Other markers.
  3. Click the minus icon to delete a marker.
  4. Click OK on the Activity map markers window.
  5. Click Save on the Business Rules screen. This screenshot shows the Non-scheduled and Not assigned activities map markers section on the Business Rules screen:

Key Resources

Route Map: Draw Polygon to Select Activities

Starting Update 20A, a new lasso icon is available on the Route Map, when you enable the Scheduling Layer. This icon helps you switch to ‘draw’ mode, where you can select activities on the Scheduling Layer. You can select all the activities within a drawn enclosed shape and all the selected activities are displayed in the activity panel. You can add the selected activities to your route. This option is available in Online mode only.

To select activities by drawing a polygon:

  1. Click the Lasso icon to switch to the drawing mode.

A message 'Outline area to select activities' is displayed on top of the map.

Route Map

  1. Draw a polygon in the Scheduling Layer. By drawing an enclosed shape, you can select activities located within the selected shape.

The panel displays the selected activities in the same way as it displays when you select a clustered activity.

Assign Selected Activities

  1. Check the boxes to select and assign these activities to your route. Click Assign.
  2. To cancel the drawing mode, you must close the message hint or zoom the map in or out.

NOTE: The drawing functionality is available in online mode only.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Travel Time Calculation Quality and Alerts

Starting Update 20A, Oracle Field Service (OFS) provides different ways to notify that the travel between locations (both activity locations and start/final resource locations) may be calculated with low accuracy due to data-driven issues along with options to debug the travel-related data quality.

ROUTE LEVEL TRAVEL ALERTS

To access route-level travel alerts, navigate to the Time View and look for the error icon (red circle with white exclamation mark). The Alerts are available on the Day, 2 Days, 3 Days and Week views. For clarification, they are not available on the Month view.

Time View Showing Route-Level Travel Alerts

Time View Showing Route-Level Travel Alerts

If you don’t find any alert icon, there are no problems with travel in a given route. Click the error icon to open hint with alerts.

ALERTS DETAILS

The table lists the alerts and actions you must do to fix these alerts.

Alert Reason Fix
Resource start/final location is not defined * Either one or both of the resource locations are empty Define start and/or final location for a resource
Resource start/final location is geocoded with low accuracy
  • Address of the resource start and/or final locations is incorrect
  • Address of the resource start and/or final locations is correct but cannot be geocoded properly
  1. Check if the address of the resource start and/or final locations is correct
  2. Provide coordinates for those locations manually
Activity was not geocoded
  • Activity address is incorrect
  • Activity address was not geocoded yet
  • Activity address cannot be geocoded
  1. Check is the activity address is correct
  2. Provide coordinates for the activity manually
Activity neither have coordinates nor travel key filled
  • Activity address is incorrect
  • Activity address was not geocoded yet
  • Activity address cannot be geocoded
  • Activity travel key fields are (partially) missing
  • Too few statistical data for the given travel key value
  1. Check is the activity address is correct
  2. Provide missing information for travel key fields
  3. Review travel key field and use more broad configuration if possible
  4. Provide coordinates for the activity manually
Activity is geocoded with low accuracy
  • Activity address is incorrect
  • Activity address cannot be geocoded properly
  1. Check is the activity address is correct
  2. Provide coordinates for the activity manually

NOTE: Alert Resource start/final location is not defined is not shown when it is the only route-level alert for a resource type having both start and final travel calculated out of the working day.

TRAVEL ESTIMATION METHOD

The travel estimation method is now available in the Activity Details screen for both Legacy Manage and Core Application. You can also view the travel estimation method history on the Activity History screen.

In Routing report, alerts for travel estimation methods with low accuracy (Expansion and Company Default) have a warning sign (white exclamation sign within a red circle) next to it. Alternatively you can see the text to describe the warning.

GEOCODING ACCURACY IN ACTIVITY DETAILS

The Activity Details screen now displays geocoding accuracy.   

Activity Details screen shows Geocoding accuracy

Activity Details Screen Showing Coordinates Accuracy Field

In the Activity Details screen, the Coordinates accuracy field shows one of these values:

  • High – Indicates that the activity is geocoded with high accuracy and coordinates are used in all travel calculations, no actions needed. The accuracy level is 9 (Exact address) or 8 (Street Crossing).
  • Medium – Indicates that the activity is geocoded with OK accuracy, coordinates are used in all travel. calculations. However, you must recheck the activity address as minor issues are possible. The accuracy level is 7 (Street level).
  • Low – Indicates that the activity coordinates are vague and hence, user intervention is required as such activity coordinates cannot be used for travel calculations. The accuracy level is 6 (Route level), 5 (Zip level), 4 (City level), 3 (County level), 2 (State level), 1 (Country level), 0 (Undefined) or -1 (Invalid).

If the coordinates were supplied when the activity was created via API, the activity is considered to be geocoded with High quality.

Debugging

We recommend these configurations when you are:

  • Debugging a Route:
    • Add both travel estimation method and coordinate geocoding accuracy to list view column as it gives good visibility of the travel quality (when coordinates are geocoded with low quality or only default and/or statistics is used, there is a high chance that the travel is problematic).
    • This method is good for debugging a particular route.
  • Debugging an Activity:
    • Add both travel estimation method and coordinate geocoding accuracy to activity details for Dispatcher user types as it gives good visibility of the travel quality (when coordinates are geocoded with low quality or only default and/or statistics is used, there is a high chance that the travel is problematic).
    • This method is good for debugging a particular activity.

Follow these steps:

  1. To add travel estimation method and/or geocoding accuracy to activity details in the Core Application, do the following:
    • Click Configuration, User types, Screen configuration, Application screens, Edit/view activity, find corresponding field(s) under Data fields and add them to the screen with RO visibility.
  2. To add travel estimation method and/or geocoding accuracy to activity details in the Legacy Manager, do the following:
    • Click Configuration, User types, Screen configuration, Legacy Manage, Add activity/activity details, find corresponding field(s) using Add property and add them to the screen with RO visibility.
  3. To add travel estimation method and/or geocoding accuracy to the List View columns, do the following:
    1. Click Configuration, User types, Screen configuration, Application screens, Dispatch console, List View columns, find corresponding field(s) under Data fields and add them to the screen.
    2. Repeat the same process: Click Configuration, User types, Screen configuration, Legacy Manage, List View columns.
Field Name Translation Use
travel_estimation_method Travel Estimation Method displays Travel Estimation Method
coordinate_accuracy Coordinate Accuracy display Coordinates Geocoding Accuracy

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Integration

Configure Daily Extract Start Time

Earlier Oracle Field Service calculated the time of daily data extracts automatically based on overnight instance settings. By end of their day, Technicians do not wait for the completion of data transfer from their mobile devices to the server and switch off their mobile devices. Data remains stored locally and when technicians switch on their devices the next day, the server rejects transactions as Oracle Field Service doesn't allow updating past data.

With Update 20A, Oracle Field Service allows you to configure the time of previous day data extract. The configured start time applies to all configured Outbound Integration channels. The Start Time option ia added to the Outbound Integration Channels screen.

Steps to Enable

To configure the time of daily data extract, follow these steps:

  1. Click Configuration, Outbound Integration Channels.
  2. Click Start Time to open the Configure start time dialog.

Configure Start Time Dialog

  1. In the Configure start time dialog, check one of these check boxes to update the Daily Extract start time as needed:
  • Automatic: Calculates Daily Extract start time automatically as done during previous OFS versions. This is the default option.  
  • Start time: Assigns the exact time when the Daily extract process should start
  • Time Zone - specific time zone when the Daily extract process should start

Daily Extract start time changes based on your selection. Configured Start time is the same for all configured Outbound integration channels. Stats Agent is started at 23:00 by local time.

  1. Click Save.

Tips And Considerations

After the 20A Update is applied, the 'Automatic' checkbox will be checked to provide compatibility with previous versions. 

Other important notes when making a change:

  • During a switching from automatic to configured start time, not all of the previous day's data will be included into Daily Extract files. To obtain the previous day's data you will have to merge data for two (2) days before in your system.
  • During 'Start time' value selection Business Rules -> Overnight setting should be reviewed. Previous day activities which were processed after Daily Extract run are not taken into account.

Key Resources

Plugin Framework

Create an Activity Through Plug-In API

Earlier, you could not create activities through a custom plug-in. Starting with Update 20A, you can create scheduled and non-scheduled activities in Oracle Field Service. For example, let’s say you have a custom plug-in to check the expected delivery of a part. This plug-in can now create a follow-up activity for a repair job using the part. You can achieve this using the newly added activity action ‘create’, which is available for the ‘close’ method.

NOTE: The plug-in can create activities only on the route of the currently selected resource.

create Method Parameters  

Parameter Name

Mandatory

Type

Description

activityType

Yes

string

Label of one of the Activity Types, configured for Oracle Field Service (for example, "LU").

Activity types with enabled features "Allow mass activities", "Allow repeating activities" or "Enable segmenting and extended duration" are not allowed.

date

No

string

Date in YYYY-MM-DD format defined by ISO 8601 (for example, "2019-11-28")

If the date is not set, or is empty (null or empty string), the activity is created for the date of the currently selected route.

Is forbidden for scheduled equal to false

scheduled

No

boolean

If scheduled is true, the activity is scheduled for date defined by value of date parameter.

If scheduled is false, the activity is created as not scheduled.

Non-scheduled activities can be created only for Activity types that have the "Allow non-scheduled" feature enabled.

Default value: true

positionInRoute

No

object

The value of this parameter determines the position of the activity in the route. It's the object with two fields:

  • position (string) - one of the following values: "first", "last", "notOrdered", "afterActivity"
  • activityId (string) - the unique identifier of the activity in OFSC. If the value of the field 'position' is 'afterActivity', then created activity is scheduled right after activity with given activityId

The "afterActivity" value of position field is not allowed, if the date parameter is not empty and is not equal to the date of the currently selected route.

Not-ordered activities can be created only for Activity types that have the "Support of not-ordered activities" feature enabled.

Default value: { position: "last" }

duration

No

number

Duration of activity in minutes (integer number). Minimal value: 0, maximal value: 65535.

Duration can be set only for Activity types that have the "Calculate activity duration using statistics" feature disabled.

timeSlot

No

string

The label of one of Time Slots configured in Oracle Field Service. The time slot defines the service window for the activity. 

The timeSlot parameter can be set only for Activity types that have the "Support of time slots" feature enabled.

If set, the value of timeSlot must contain the label of one of the timeslots that are selected in the "Available time slots" section of Activity Type configuration.

serviceWindowStart

No

string

The time when the service window starts for the activity in hh:mm format defined by ISO 8601 (for example, "14:07" )

The serviceWindowStart parameter can be set only for Activity types that have the "Support of time slots" feature disabled.

serviceWindowEnd

No

string

The time when the service window ends for the activity in hh:mm format defined by ISO 8601 (e.g. "09:56")

The serviceWindowStart parameter can be set only for Activity types that have the "Support of time slots" feature disabled.

slaWindowStart

No

string

The time when the service level agreement (SLA) window starts. The date and time must be in the format "YYYY-MM-DD hh:mm" or "YYYY-MM-DD hh:mm:ss" (for example, "2019-12-16 16:42").

slaWindowEnd

No

string

The time when the service level agreement (SLA) window ends. The date and time must be in the format "YYYY-MM-DD hh:mm" or "YYYY-MM-DD hh:mm:ss" (for example, "2019-12-20 16:42").

If slaWindowStart is specified then slaWindowEnd must be equal or greater than slaWindowStart (slaWindowEnd ? slaWindowStart).

properties

No

object

Is a key-value object, where keys are the labels of Oracle Field Service activity properties to be written.

Properties are validated and processed according to the configuration of the plug-in.

Error Codes for Activity Actions

Code

Caused by Action

Cause

TYPE_ACTION_ERROR

CODE_ACTION_ON_PAST_DATE_NOT_ALLOWED

create

Any of these:

  • "date" parameter of "create" action is set and the currently selected queue is in the past (and overnight has ended).
  • "date" parameter of the "create" action equals the date of the currently selected queue and the selected queue is in the past (and overnight has ended).
  • "date" parameter of the "create" action contains the date, which is earlier than the local date (that is, the date in the Resource's time zone) of currently the selected Resource.

CODE_ACTION_UNKNOWN

-

"action" parameter is not equal to one of the "create"

CODE_ACTION_ENTITY_UNKNOWN

-

"entity" parameter is not equal to "activity" or "inventory"

TYPE_ACTION_PARAMETER

CODE_ACTION_ACTIVITY_TYPE_INVALID

create

Any of these:

  • "activityType" parameter value is not equal to the label of one of the Activity Types, configured for Oracle Field Service
  • "activityType" parameter contains the label of Activity type, for which any of these features is enabled:
    • Allow mass activities
    • Allow repeating activities
    • Enable segmenting and extended duration

CODE_ACTION_DATE_FORBIDDEN

create

"scheduled" parameter is false and "date" parameter is set

CODE_ACTION_NOT_SCHEDULED_FORBIDDEN

create

"scheduled" parameter is false and "activityType" parameter contains the label of the Activity type for which the feature "Allow non-scheduled" is disabled

CODE_ACTION_TIME_SLOT_FORBIDDEN

create

"timeSlot" parameter is set and "activityType" parameter contains the label of Activity type for which the feature "Support of time slots" is disabled

CODE_ACTION_TIME_SLOT_NOT_AVAILABLE

create

"timeSlot" contains the label of the time slot which is not selected in the "Available time slots" section of Activity Type configuration.

CODE_ACTION_SW_FORBIDDEN

create

"serviceWindowStart" or "serviceWindowEnd" parameters are set and "activityType" parameter contains the label of the Activity type for which the feature "Support of time slots" is enabled.

CODE_ACTION_MANDATORY_PARAMETER_EMPTY

create

"activityType" parameter is not set

CODE_ACTION_PARAMETER_VALUE_INVALID

create

Any of these:

  • "date" parameter is set and its value is not a valid date string in YYYY-MM-DD format defined by ISO 8601
  • "scheduled" parameter is set and its value is not a boolean
  • "duration" parameter is not an integer or out of range
  • "timeSlot" parameter is set and its value is not a string
  • "timeSlot" parameter is set and its value is not equal to the label of one of the Time Slots, configured for OFS
  • "serviceWindowStart" parameter is set and its value is not a valid time sting in hh:mm format defined by ISO 8601
  • "serviceWindowEnd" parameter is set and its value is not a valid time string in hh:mm format defined by ISO 8601
  • "positionInRoute" is set and is not an object
  • "position" field's value of "positionInRoute" parameter doesn't equal one of these: "first", "last", "notOrdered", "afterActivity"
  • "position" field of "positionInRoute" is "afterActivity" and "scheduled" parameter is false
  • "position" field of "positionInRoute" is "afterActivity" and "date" parameter is set and it is not equal to the date of the currently selected queue
  • "position" field of "positionInRoute" is "afterActivity" and "activityId" field of "positionInRoute" parameter is not set or it is not equal to the Activity ID of one of the activities in the currently selected queue.

TYPE_ACTION_PROPERTY

CODE_ACTION_PROPERTY_VALUE_INVALID

create

Any of these:

  • Property type is 'file', its GUI type is 'signature' and its value is not a valid Data URI or it has the invalid MIME-type.
  • Property type is 'enumeration', and its value is not a valid enumeration item's index.

CODE_ACTION_PROPERTY_VALUE_TOO_LARGE

create

Any of these:

  • Property type is 'field' and length of its value exceeds 119 UTF-16 codepoints
  • Property type is 'file', its GUI type is 'signature' and length of its value exceeds 102400 UTF-16 codepoints
  • Property is neither field nor signature and length of its value exceeds 32767 UTF-16 codepoints

TYPE_INTERNAL

CODE_UNKNOWN

create

Oracle Field Service is unable to process the message due to an unexpected change in the system's state.

Example of close Method 

{    

"apiVersion": 1,    

"method": "close",    

"actions": [        

{            

"entity": "activity",            

"action": "create",            

"activityType": "SDI",            

"scheduled": true,            

"date": "2019-12-12",            

"timeSlot": "",            

"positionInRoute": {                

"position": "afterActivity",                

"activityId": "4225450"            

},            

"serviceWindowStart": "10:00",            

"serviceWindowEnd": "11:30",            

"properties": {                    

"WO_COMMENTS": "Follow-up activity"            

}        

}    

]

Steps to Enable

See the previous sections to learn about the new create action.

Key Resources

Reporting

Responsive Headers in Configuration and Reports

In 20A, multiple screens have been enhanced making them more user friendly and responsive. For larger screens, most options are displayed upfront. For smaller devices, many of the options are listed under the Options menu at the right. In addition, 'Oracle Field Service Cloud' has been changed to 'Oracle Field Service'. This change is reflected within the application.

Headers in the following screens have been made responsive:

  • Configuration
    • Example: Configuration Screen

Configuration Screen

  • Example: Activity Types Configuration Screen on Large Display Devices

Activity Types Configuration Screen - Large Display Devices

Activity Types Configuration Screen

  • Example: Activity Types Configuration Screen on Mobiles or Small Display Devices

Activity Types Configuration Screen on Mobile Devices

For smaller mobile devices (less than 376 pixels), the 'View...' and Date picker options will be displayed in full screen

View Window on Mobile Devices

View Window on Mobile Devices

  • Reports
  • Example: Inactive Users Report on Large Display Devices

 Inactive Users Report on Large Display Devices

Inactive Users Report

  • Example: Inactive Users Report on Mobile or Small Display Devices

Inactive Users Report on Mobile Devices

Inactive Users Report on Mobile Devices

KNOWN LIMITATION: The headers may not be responsive within the inner screens of User Types configuration and Visual Form Editors

Links Disabled When Offline

Links that work only in the online mode will be disabled within the Activity Details and Activity List screens for all users (similar to how it was in the older Mobility for Field Resources) when the user is Offline.

Disabled Links While Offline

Steps to Enable

You don't need to do anything to enable this feature.

Routing

Improve Travel Estimations for Low Accuracy Coordinates

Once activities are routed within a resource's route, the system will try to use better travel estimations between pairs of keys using location services or point to point estimations where the travel was estimated using other methods (expansion, coordinate based only or default). This correction in travel estimation was performed only if the accuracy of the coordinates was provided by the customer during the activity creation or resolved with an accuracy address level or intersection level. With Update 20A, the logic is being updated to include activities where the resolved accuracy is at the street level, route level or zip level.

The result will provide improved travel duration estimations and an overall improvement in the expected time of arrival.

NOTE: Since the accuracy of the coordinates in these cases are not very high, the application will not use data received from such point to point estimations to estimate any future travel between similar locations or travel keys. The application discards such estimations after the travel durations in the current route have been updated.

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Improve Travel from Last Activity to Resource End Location

Once Activities are routed within a Technician's route, the application tries to get better travel estimations between pairs of keys using location services where the travel was estimated using less reliable methods (expansion, coordinate based only or default). The application applies this correction in travel estimation only for Activity to Activity travels and not from the Last Activity to the Resource End Location. 

Now, the application tries to correct the estimated travel and considers travels from the last Activity to the Resource end location post routing. If the travel between last Activity to the Resource end location are calculated using company default, expansion or coordinate based method, then the application sends the travel complaint from the last activity in the route to the resource end location to SLR, to get a better estimate of the travel between the two keys of last unfinished activity to the resource end location.  

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources

Dynamic Connections to Routing

With Update 20A, the Execution Summary section of the routing screen has been updated to display the "Priority time left" and "Priority time spent". This allows Oracle Field Service Professional and Enterprise users to visually see how much of the daily High Priority queued time remains allowing for improved routing plan configurations.  

In the Routing screen, click the Executive Summary tab. The Executive Summary section shows the current state of the priority time limits for routing. It displays the high priority time left and the overall high priority time spent in routing across the buckets. More information about the time available can be found in the Unlimited Queued Routing section of the Routing Guide. 

Executive Summary Table

Steps to Enable

You don't need to do anything to enable this feature.

Key Resources