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

31 OCT 2018

Activity Selection in Landing Page

Updated document. Revised feature information.

31 OCT 2018

API Support for Temporary Resource Locations

Updated document. Revised feature information.

31 OCT 2018

Metadata API Improvements

Updated document. Revised feature information.

31 OCT 2018 Support for Kosovo

Updated document. Revised feature information.

31 OCT 2018

Using Oracle Rest Data Service (ORDS) for DBaaS Integration

Updated document. Revised feature information.

19 OCT 2018   Created initial document.

Overview

This guide outlines the information you need to know about new and improved functionality in Oracle Field Service Cloud, 18D Release on November 3, 2018. 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 Cloud, log in to our support site and access Answer ID 8215.

You will notice that a few 18D features reference Oracle Field Service Cloud Professional Cloud Service and Oracle Field Service Cloud Enterprise Cloud Service. These are new base product offerings available. You will be able to transition to one of these offerings with ease. If you have decided to transition, Oracle Field Service Cloud will look and operate just like it does today but with additional functionality and services. Here is a preview:

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

Action Required to Enable Feature

Feature

Automatically Available

End User Action Required

Administrator Action Required

Oracle Service Request Required

Administration

Security Improvements for SAML Authentication

Support for Kosovo

APIs

Metadata API Improvements

Support of Alternate Instance Name in Public APIs

API Support for Temporary Resource Locations

Core Application

Activity Selection in Landing Page

Navigating the Organization Hierarchy Structure

Integration

Using Oracle Rest Data Service (ORDS) for DBaaS Integration

Plugin Framework

Parts Catalog in Plug-In API Framework

Routing

Goal Based Optimization in Routing

Reporting

Multi Language Support for Reports

Configuration History Report Improvements

Administration

Security Improvements for SAML Authentication

The feature introduces enhanced security settings for authentication established via external Identity providers. Starting with the release 18D, SHA-256 is available as a signature hashing algorithm, which when selected will be applied to the Oracle Field Service Cloud metadata.   

To use SHA-256:

When you download the Oracle Field Service Cloud metadata, it will be signed with SHA-256 hash.  

We recommend that you use SHA-256 as it is a more advanced and a reliable hashing algorithm. The SHA-1 hashing algorithm will be supported to maintain backward compatibility with SAML IdP providers that are already integrated with Oracle Field Service Cloud.

Steps to Enable

No steps are required to enable this feature.

Key Resources

Support for Kosovo

Starting with release 18D, Kosovo is a supported country in Oracle Field Service Cloud. Kosovo is available in the list of countries in the Maps and Geocoding section on the Business Rules screen, with a non-ISO country code XK. Activity and resource coordinates in Kosovo can be resolved.

NOTE: 'XK' is not an ISO-registered country code and some service providers may not support it.

Steps to Enable

No steps are required to enable this feature.

Key Resources

APIs

Metadata API Improvements

Release 18D brings a new set of Metadata API functions providing the ability to obtain:

GET INVENTORY TYPES

Use this operation to view a collection of inventory types.

You must grant permissions to the Core API and must at least set Read-Only access to the Inventory type entity in the Configuration, Applications (API permissions) screen.

The following request parameters are supported:

The following information is returned in the response:

Examples

Example 1:

The following example shows how to obtain a collection of inventory types by submitting a GET request on the REST resource using cURL.

Use the cURL command with the following syntax:

curl -u 'clientId@instanceName:clientSecret' --url'https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=2

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx

Date: Wed, 24 Jan 2018 12:28:18 GMT

Content-Type: application/json; charset=utf-8

Connection: close

The following shows an example of the response body in JSON format:

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

     {

"label": "DT",

"name": "Digital Telephony",

"active": true,

"nonSerialized": false,

"modelProperty": "inventory_model",

"translations": [

{

"language":"en",

"name": "Digital Telephony",

"languageISO": "en-US"

},

{

"language":"es",

"name": "Telefonía digital",

"languageISO": "es-ES"

}

],

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

     },

    {

"label": "EC",

"name": "Ethernet Cable",

"unitOfMeasurement": "ft",

"active": true,

"nonSerialized": true,

"modelProperty": "inventory_model",

"translations": [

{

"language":"en",

"name": "Ethernet Cable",

"unitOfMeasurement": "ft",

"languageISO": "en-US"

},

{

"language":"es",

"name": "Cable Ethernet",

"unitOfMeasurement": "m",

"languageISO": "es-ES"

}

],

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

     }

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=2"

},

{

"rel": "prev",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=0"

},

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=4"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

}

Example 2:

The following example shows how to obtain a collection of inventory types by using the language parameter with the GET request on the REST resource.

Use the cURL command with the following syntax:

curl -u 'clientId@instanceName:clientSecret' --url'https://api.etadirect.com/ /rest/ofscMetadata/v1/inventoryTypes/?language=en-US&limit=2&offset=2

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx

Date: Wed, 24 Jan 2018 12:28:18 GMT

Content-Type: application/json; charset=utf-8

Connection: close

The following shows an example of the response body in JSON format:

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

{

"label": "DT",

"name": "Digital Telephony",

"active": true,

"nonSerialized": false,

"modelProperty": "inventory_model",

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

},

{

"label": "EC",

"name": "Ethernet Cable",

"unitOfMeasurement": "ft",

"active": true,

"nonSerialized": true,

"modelProperty": "inventory_model",

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

}

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=2"

},

{

"rel": "prev",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=0"

},

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/inventoryTypes/?limit=2&offset=4"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/inventoryTypes"

}

]

}

GET RESOURCE TYPES

Use this operation to view a collection of resource types.

You must grant permissions to the Core API and must at least set Read-Only access to the Resource type entity in the Configuration, Applications (API permissions) screen.

The following request parameters are supported:

The following information is returned in the response:

Examples

Example 1:

The following example shows how to obtain a collection of resource types by submitting a GET request on the REST resource using cURL.

Use the cURL command with the following syntax:

curl -u 'clientId@instanceName:clientSecret' --url'https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?limit=2&offset=2

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx

Date: Wed, 24 Jan 2018 12:28:18 GMT

Content-Type: application/json; charset=utf-8

Connection: close

The following shows an example of the response body in JSON format:

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

   {

"label": "BK",

"name": "Bucket",

"active": true,

"role": "bucket",

"translations": [

{

"language":"en",

"name": "Bucket",

"languageISO": "en-US"

},

{

"language":"es",

"name": "Envase",

"languageISO": "es-ES"

}

    ],

"links": [

    {

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

    }

]

    },

   {

"label": "TR",

"name": "Truck",

"active": true,

"role": "vehicle",

"translations": [

{

"language":"en",

"name": "Truck",

"languageISO": "en-US"

},

{

"language":"es",

"name": "Camión",

"languageISO": "es-ES"

}

],

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

}

]

    }

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?limit=2&offset=2"

},

{

"rel": "prev",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?limit=2&offset=0"

},

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?limit=2&offset=4"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

}

]

}

Example 2:

The following example shows how to obtain a collection of resource types by using the language parameter with the GET request on the REST resource.

Use the cURL command with the following syntax:

curl -u 'clientId@instanceName:clientSecret' --url'https://api.etadirect.com/ /rest/ofscMetadata/v1/resourceTypes/?language=en-US&limit=2&offset=2

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx

Date: Wed, 24 Jan 2018 12:28:18 GMT

Content-Type: application/json; charset=utf-8

Connection: close

The following shows an example of the response body in JSON format:

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

{

"label": "BK",

"name": "Bucket",

"active": true,

"role": "bucket",

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

}

]

},

{

"label": "TR",

"name": "Truck",

"active": true,

"role": "vehicle",

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

}

]

}

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?language=en-US&limit=2&offset=2"

},

{

"rel": "prev",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?language=en-US&limit=2&offset=0"

},

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/resourceTypes/?language=en-US&limit=2&offset=4"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/resourceTypes"

}

]

}

GET TIME SLOTS

Use this operation to view a collection of time slots.

You must grant permissions to the Core API and must at least set Read-Only access to the time slots entity in the Configuration, Applications (API permissions) screen.

The following request parameters are supported:

The following information is returned in the response:

Examples

Example 1:

The following example shows how to obtain a collection of timeslots by using the language parameter with the GET request on the REST resource.

Use the cURL command with the following syntax:

curl -u 'clientId@instanceName:clientSecret' --url'https://api.etadirect.com/ /rest/ofscMetadata/v1/timeSlots/?limit=2&offset=2

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx

Date: Wed, 24 Jan 2018 12:28:18 GMT

Content-Type: application/json; charset=utf-8

Connection: close

The following shows an example of the response body in JSON format:

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

{

"label": "08-10",

"name": "08-10",

"active": true,

"isAllDay": false,

"timeStart": "08:00",

"timeEnd": "10:00",

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/timeSlots"

}

]

},

{

"label": "all-day",

"name": "All-Day",

"active": true,

"isAllDay": true,

"links": [

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/timeSlots"

}

]

   }

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/timeSlots/?limit=2&offset=2"

},

{

"rel": "prev",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/timeSlots/?limit=2&offset=0"

},

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/timeSlots/?limit=2&offset=4"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/metadata-catalog/timeSlots"

}

]

}

Steps to Enable

No steps are required to enable this feature.

Key Resources

Support of Alternate Instance Name in Public APIs

From 18D release onward, Oracle Field Service Cloud supports alternate instance name (that is configured in Service Console) in each request of Oracle Field Service Cloud REST and SOAP public APIs.

It can take up to 5-10 minutes for an updated or new alternate name to be available for use in the API. If updated, old alternate names will fail with the "Not authorized" error response. 

For example, you can use the alternate instance name in the curl command as follows:

curl -X GET "https://api.etadirect.com/rest/ofscCore/v1/users" -u "<CLIENT_ID>@<INSTANCE_NAME/Alternate_Instance_Name>:<CLIENT_SECRET>"

Steps to Enable

No steps are required to enable this feature.

Key Resources

API Support for Temporary Resource Locations

Starting with release 18D, the following operations have been added to support the configuration of location overrides:

The following operation has been improved:

Dictionary

UPDATE ASSIGNED LOCATIONS:

Use this operation to create or update the temporary locations assigned to the specified resource. The temporary locations include the ‘start’, ‘end’, and ‘home zone center’ locations.

NOTE: When the location is specified in the request, it is assigned to the resource.

The following request parameter is supported:

The request body is a json object containing the following fields:

The permission ‘core_api_resource’ has to be set to ‘ReadWrite’ for this API to work.

Example

The following example shows how to update the assigned locations of a resource by submitting a PATCH request on the REST resource using cURL.

curl -s -u "<CLIENT_ID>@<INSTANCE_NAME>:<CLIENT_SECRET>" --url "https://api.etadirect.com/rest/ofscCore/v1/resources/default_technician/assignedLocations" -X PATCH -d '

{

"mon": {

"start": 1,

"end": 7,

"homeZoneCenter": 7

},

"2018-06-02": {

"start": 1,

"end": 3,

"homeZoneCenter": 7

},

"2018-06-03": {

"start": 1,

"end": 2,

"homeZoneCenter": 7

}

} '

Example of Response Header

The following shows an example of the response header.

HTTP/1.1 204 No Content Server: nginx/1.2.7 Date: Mon, 18 Dec 2017 02:20:33 GMT Content-Type: application/json; charset=utf-8

GET ASSIGNED LOCATIONS

The following example shows how to retrieve details of the locations assigned to a resource for the specified date range by submitting a GET request on the REST resource using cURL.

cURL Command Example

The following shows an example of the request header:

curl -s -u "<CLIENT_ID>@<INSTANCE_NAME>:<CLIENT_SECRET>" --url "https://api.etadirect.com/rest/ofscCore/v1/resources/default_technician/assignedLocations?dateFrom =2018-06-01,dateTo=2018-06-03" -X GET

Example of Response Header

The following shows an example of the response header:

HTTP/1.1 200 OK

Server: nginx/1.6.2

Date: Fri, 24 Jul 2015 08:35:48 GMT

Content-Type: application/json; charset=utf-8

Connection: close

Example of Response Body

The following example shows the contents of the response body in JSON format:

{

"mon": {

"start": 1,

"end": 7,

"homeZoneCenter": 7

},

"sun": {

"start": 1,

"end": 3,

"homeZoneCenter": 7

},

"2018-06-03": {

"start": 1,

"end": 2,

"homeZoneCenter": 7

},

"2018-06-01": {

"start": 1,

"end": 7,

"homeZoneCenter": 7

},

"2018-06-02": {

"start": 1,

"end": 3,

"homeZoneCenter": 7

},

"2018-06-04": {

"start": 1,

"end": 2,

"homeZoneCenter": 7

},

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/resources/44035/assignedLocations"

},

{

"rel": "describedby",

"href": "https://api.etadirect.com/rest/ofscCore/v1/metadata-catalog/resources"

}

]

}

DELETE ASSIGNED LOCATIONS

Use this operation to delete the locations assigned for the specified resource.

The following are the request parameters:

The permission ‘core_api_resource’ has to be set to ‘ReadWrite’ for this API to work.

Example 1

The following example shows how to delete the assigned locations of a resource for the specified date by submitting a DELETE request on the REST resource using cURL.

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCore/v1/resources/default_technician/assignedLocations/2018-06-01" -X DELETE

Example 2

The following example shows how to delete the assigned locations of a resource for the specified weekday by submitting a DELETE request on the REST resource using cURL.

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCore/v1/resources/default_technician/overrideLocations/mon" -X DELETE

Steps to Enable

The "core_api_resource" permission has to be set to "ReadWrite" for this API to work.

Key Resources

Core Application

Activity Selection in Landing Page

With release 18D, when the "Suggest activity by location” setting is enabled and there is more than one activity in the same location, resources will be able to choose the activity they want to start. 

When you have more than one activity in the same location, you will get a notification with the list of nearby activities. Select one activity and click Start, the selected activity starts. In the End Activity dialog, you will get a notification about the number of activities in nearby locations. You can select any activity that you want to start next depending on the priority.

Activities are considered to be at the same location when they are within X meters of the pending activity. The X is configured using the 'Resource is considered to be at the activity location if the distance to it is less than X meters' parameter in the SmartLocation/GPS section on the Business Rules configuration page.

NOTE: If you do not have a subscription to Smart Location, Oracle Field Service Professional or Oracle Field Service Enterprise Cloud Service then the distance value is set to 100 meters and is not configurable.

Activity is displayed in the list of activities when all of the following conditions are met:

This functionality is also available in offline mode.

In Mobility, when you have more than one activity in the same location and "Suggest activity by location” setting is enabled:

  1. The message "You have N more activities at this location" is displayed above the Start button on the Resource Dashboard.

Resource Dashboard Showing Start Button

  1. Upon tapping the Start button, you will see the Select activity to start dialog displaying:

Select Activity to Start Dialog

  1. The message "You have N more activities at this location" is displayed on the End activity dialog.

End Activity Dialog

  1. Activities in the same location are marked with bubble icon when selecting next activity on End activity dialog:

Select Next Activity Dialog

  1. Note the following:

Steps to Enable

Use the following procedure to enable this feature:

  1. Click Configuration, User Types to open the User Types screen.
  2. Under the Activity Management section, select the ‘Suggest activity by location’ option.

Key Resources

Navigating the Organization Hierarchy Structure

Starting with release 18D, the Oracle Field Service Cloud Core Application Resource Info screen has been updated with additional details and improved navigation including:

CHANGES TO RESOURCE INFO SCREEN FOR A FIELD RESOURCE/ TOOL/ VEHICLE

The Resource Info screen for a field resource or tool or vehicle has been improved as follows:

The Resource Info screen appears for a field resource or tool or vehicle as follows:

Resource Info Screen

CHANGES TO RESOURCE INFO SCREEN FOR AN ORGANIZATIONAL UNIT/BUCKET

It is now possible to identify which resources belongs to the particular organizational level. This allows you to add child resources without returning to the Resources screen, navigate to any resource or see additional information about resources.

The Resource Info screen for an organizational unit has been improved as follows:

Edit Resource Drop-Down Menu

Additional GUI changes include:

Steps to Enable

You can create user types as needed.

NOTE: You should have the permissions to create new resources.

To create resources for a particular user type:

  1. Click Configuration, User types.
  2. In the User Types page, General tab, the Can create users of the following User types field displays the user types.
  3. To add a user type, click the edit icon. Click the check boxes corresponding to the user types you want to add and click OK.
  4. For the newly selected user type, the Can create resource/user field is added to the "Resources" context layout with Read/Write mode. The "Add resource/user" context layout contains all mandatory fields with Mandatory visibility.

Key Resources

Integration

Using Oracle Rest Data Service (ORDS) for DBaaS Integration

With release 18D, users can now connect to Oracle Database as a Service (DBaaS) through the Oracle Rest Data Service (ORDS). By release 18D, the Oracle Net Listener option to connect DBaaS will be deprecated. You can switch connection from Oracle Net Listener to ORDS. 

The Outbound Integration Channels page shows DBaaS channel status as follows:

For existing DBaaS connection with Oracle Net Listener option, you will be notified with a message that the connection needs to be updated. The steps to switch connection from Oracle Net Listener to ORDS is provided later in this section.

DBaaS Connection Using Oracle Net Listener

For all new users, the connectivity to DBaaS will be through Oracle REST Data Service (ORDS).

DBaaS Channel

Steps to Enable

For all new users, the connection to DBaaS will be through ORDS; only exiting users will have the option to modify the existing channel from Oracle Net listener to ORDS.

ADD DBAAS CHANNEL

When you add a new DBaaS channel in Outbound Integration page, you should provide the Oracle REST Data Service (ORDS) endpoint details in the Add Channel dialog in the Outbound Integration page.

NOTE: Users who have permissions to access Outbound delivery channels should also have access to DBaaS.

To add a new DBaaS channel:

  1. Click Configuration, Outbound Integration Channels.
  2. In the Outbound Integration page, click Add Channel.

Outbound Integration Channels Page

  1. In the Add Channel dialog, select Database as a Service (DBaaS) from the Channel Type drop-down list: The DBaaS channel options are displayed.

Add Channel Dialog

  1. Complete the values in the following fields as necessary and click OK:

NOTE: Make sure that the access rule ora_p2_httpssl is enabled in DBaaS. For more information, see https://docs.oracle.com/en/cloud/paas/database-dbaas-cloud/csdbi/enable-access-port.html#GUID-94DB31C5-33EE-4CA1-93B7-AE8934A0E441.

If you are connecting to a Pluggable Database (PDB), the format should be <PDB_Name>/<schema_name>.

If you are not connecting to a PDB , the format will be <schema_name>

Prerequisite: You must REST-enable the Oracle database schema on which you want to use the service. For more information about how to enable the Oracle Database Schema: see https://docs.oracle.com/database/ords-17/AELIG/GUID-BA9F9457-ED3A-48A4-828A-CC8CBEA9A2AB.htm#AELIG-GUID-7C0E4F73-D253-4251-9789-ED3F4021B561.

  1. After a successful channel is created using ORDS, the Outbound Integration page shows the DBaaS channel. You can add, delete and modify DBaaS channel configurations from Outbound Integration configuration page.

NOTE: To add, delete and modify DBaaS configurations, you should have the permission to access Outbound Integration.

MODIFY THE CONNECTION DETAILS OF A DBAAS CHANNEL

This section provides the steps to enable ORDS for an existing DBaaS channel. You can provide the ORDS endpoint details in the Modify Channel dialog.

To modify an existing DBaaS channel:

  1. In the Outbound Integration Channels page, select the Database as a Service (DBaaS) channel to edit.
  2. You can click the Properties icon in an existing DBaaS channel and select Modify from the drop-down list. The Modify Channel dialog is displayed:

Modify Channel Dialog

  1. In the Connection Method field, select Oracle REST Data Service from the drop-down list. When you select this option, existing DBaaS endpoint details will be automatically populated in the Modify Channel dialog.

Modify Channel Dialog

  1. You can validate the endpoint details by adding the Schema Alias and testing the connection.

  2. In the Schema Alias field, provide the Oracle REST Data Service enabled schema.

  3. Click Test Connection to validate the connection.

NOTE: Once saved, you cannot change the connection method. Hence, you must validate the connection before you save the channel.

  1. Click OK.

Once enabled, the Outbound Integration Channels page shows the data transfer success rate and last updated details for DBaaS channel:

DBaaS Connection Using ORDS

Key Resources

Plugin Framework

Parts Catalog in Plug-In API Framework

Earlier, you could not create any plug-in to search the parts catalog that is available in Oracle Field Service Cloud. Starting with release 18D, you can create your own plug-in to perform the following functions:

The plug-in framework includes four new procedures:

Run these procedures using the existing callProcedure method.

Apart from this, the plug-in framework now includes the ability to run multiple procedures simultaneously. This means that the plug-in can send the next "callProcedure" messages to Oracle Field Service Cloud before it sends the "callProcedureResult" message. You can associate the results with the procedure calls using the "callId" parameter. For backward compatibility, simultaneous calls of procedures "openLink" and "scanBarcode" cause an error with the code "CODE_METHOD_UNEXPECTED".

NEW PROCEDURE IN THE PLUGIN API

getPartsCatalogsStructure

The procedure returns via "callProcedureResult" method the description and field/type schemas for all available Parts Catalogs as they was set using the "create" method of the Parts Catalog API.

Parameters

Method accepts no parameters.

Response

For each Parts catalog, the following fields are returned:

Field

Type

Parts Catalog API Parameter

Description

catalogId

Number

-

--

label                     

String

label

--

language

String

language

--

name                   

String

name

Name of the catalog to be displayed in GUI

fieldSchemas                                    

Array

field_schemas

Array of fieldSchema items, each of which contains one of the fields to be set for the catalog

typeSchemas                                    

Array

type_schemas

Array of typeSchema items, each of which contains an item type and may also contain the inventory type corresponding to such item type

cacheLoadingState

Object

-

Status of loading the Parts Catalog contents to the device storage to be available in offline. Can be used to visualize the progress of loading.

fieldSchema Item Structure

Field

Type

Parts Catalog API 'type_schema' Element Param

Description

label String label Field identifier
name String name Name of the field to be displayed in GUI
propertyLabel String property_label Label of corresponding inventory property in OFSC
searchable Boolean searchable Whether the field is used for search
preview Boolean preview Whether the field is cached in offline mode and displayed in the offline search results

typeSchema Item Structure

Field

Type

Parts Catalog API 'type_schema' Element Param

Description

itemType String item_type Item type according to the catalog
inventoryType String inventory_type Inventory type according to the settings of OFSC

cacheLoadingState Structure

Field

Type

Description

isLoaded String Whether the all needed data of Parts catalog is loaded and is available offline
loadedItemsNumber Number Number of catalog items that are loaded to device
totalItemsNumber Number Total number of catalog items to be loaded to device
loadedSize Number The amount of data that's loaded to device (bytes)

Example of a Request

{

    

"apiVersion"

: 1,

    

"callId"

"CMFYN5AKpc9Yg1POv6773g=="

,

    

"method"

"callProcedure"

,

    

"procedure"

"getPartsCatalogsStructure"

}

Example of a Response

Collapse source

{

    

"apiVersion"

: 1,

    

"method"

"callProcedureResult"

,

    

"callId"

"CMFYN5AKpc9Yg1POv6773g=="

,

    

"resultData"

: [

        

{

            

"catalogId"

: 2,

            

"label"

"network"

,

            

"language"

"en"

,

            

"name"

"Network devices"

,

            

"fieldSchemas"

: [

                

{

                    

"label"

"model"

,

                    

"name"

"Model"

,

                    

"propertyLabel"

"switch_model"

,

                    

"searchable"

true

,

                    

"preview"

true

                

},

                

{

                    

"label"

"ports"

,

                    

"name"

"Ports"

,

                    

"propertyLabel"

false

,

                    

"searchable"

true

,

                    

"preview"

false

                

},

                

{

                    

"label"

"price"

,

                    

"name"

"Price"

,

                    

"propertyLabel"

"switch_price"

,

                    

"searchable"

false

,

                    

"preview"

false

                

},

                

{

                    

"label"

"vendor"

,

                    

"name"

"Vendor"

,

                    

"propertyLabel"

false

,

                    

"searchable"

false

,

                    

"preview"

true

                

}

            

],

            

"typeSchemas"

: [

                

{

                    

"itemType"

"switch_type"

,

                    

"inventoryType"

"switch_general"

                

},

                

{

                    

"itemType"

"router_type"

,

                    

"inventoryType"

"router_general"

                

}

            

],

            

"cacheLoadingState"

: {

                

"isLoaded"

true

,

                

"loadedItemsNumber"

: 2,

                

"loadedSize"

: 1138,

                

"totalItemsNumber"

: 2

            

}

        

},

        

{

            

"catalogId"

: 4,

            

"label"

"misc"

,

            

"language"

"en"

,

            

"name"

"Miscellaneous parts"

,

            

"fieldSchemas"

: [

                

{

                    

"label"

"item_type"

,

                    

"name"

"Item Type"

,

                    

"propertyLabel"

false

,

                    

"searchable"

false

,

                    

"preview"

false

                

},

                

{

                    

"label"

"description"

,

                    

"name"

"Item description"

,

                    

"propertyLabel"

false

,

                    

"searchable"

true

,

                    

"preview"

true

                

},

            

],

            

"typeSchemas"

: [

                

{

                    

"itemType"

"parts"

,

                    

"inventoryType"

"PART"

                

}

            

],

            

"cacheLoadingState"

: {                

"isLoaded"

true

,

                

"loadedItemsNumber"

: 3558,       

"loadedSize"

: 2793309,           

"totalItemsNumber"

: 3558  

}

}

]

}

getParts

Procedure returns all information that was set for particular Parts Catalog items using the "upload" method of Parts Catalog API.

Parameters

Parameter Name 

Mandatory

Type

Description

items

Yes Array Array of itemKey objects that identify the catalog items to get info for.

itemKey Object Structure

Field Name

Mandatory

Type

Parts Catalog API Param for 'item' Element of 'upload_catalog' request

Description

catalogId

Yes Integer -

A unique identifier of a catalog which contains the item.

Id can be retrieved using the getPartsCatalogStructure procedure.

label

Yes String label

A unique identifier of a part within a catalog. Can be changed after catalog update.

Response

Field Name

Type

Description

items

Array Array of FoundItem objects. Each object represents one item whose data is available.

notFoundItems

String

Array of itemKey objects. Each object contains the key fields of an item whose data is not available.

FoundItem Object Structure

Field Name

Type

Parts Catalog API Param for 'item' Element of 'upload_catalog' Request

Description

catalogId

Integer   A unique identifier of a catalog.

itemId

Integer  

A unique identifier of a part within a catalog. Can be changed after catalog update.

label String label A unique identifier of a part within a catalog.
itemType String type Item type
inventoryType String  

Label of a corresponding inventory type in Oracle Field Service Cloud.

Can be empty if the mapping of item types to inventory types wasn't configured in the catalog schema.

Mapping between itemType and inventoryType can be found in the typeSchemas field of the getPartsCatalogStructureprocedure result.

fields Object fields An object (dictionary) which contains item's fields by it's labels.
linkedItems Array linked_items Array of LinkedItem objects
images Array images An array of strings, where each string is a URL of an image.

LinkedItem Object Structure

Field Name

Type

Parts Catalog API 'linked_item' Element of 'upload_catalog' Request

Description

id

Integer   A unique identifier of a linked part within a catalog. Can be changed after catalog update.
label String label A unique identifier of a linked part within a catalog.
displayData String display_data Text comments to the linked item to be displayed in GUI.

Example of a Request

{

"apiVersion"

: 1,

"callId"

"KnnXUS7APzIzY+8B0g=="

,

"method"

"callProcedure"

,

"procedure"

"getParts"

,

  

"params"

: {

"items"

: [

       

{

           

"catalogId"

"2"

,

           

"label"

"Switch_model_001"

},

      

{

         

"catalogId"

"2"

,

  

"label"

"Switch_009"

},

   

{

        

"catalogId"

"4"

,

       

"label"

"FM3-2048-007"

}

]

}

}

Example of a Response

Collapse source

{

"apiVersion"

: 1,

"method"

"callProcedureResult"

,

"callId"

"KnnXUxzIzY+8B0g=="

,

"resultData"

: {

"items"

: [

     

{     

"catalogId"

: 2,

"itemId"

: 2,

"label"

"Switch_001"

,

     

"itemType"

"switch_type"

,        

"inventoryType"

"switch_general_eta"

,  

"linkedItems"

: [

{               

"id"

: 3,

              

"label"

"Switch_002"

,            

"displayData"

"better"

           

}

  

],

     

"fields"

: {

      

"descr"

"Automatic direction"

,

    

"model"

"Switch_model_001"

,

     

"ports"

"8 x Fast Ethernet (10/100 Mbit/s)"

,

        

"price"

"25$"

,

         

"size"

"151x81x33 mm,200 g"

,

  

"vendor"

"Oracle"

},    

"images"

: [

    

"https://example.com/switch_1.jpg"

                

]

            

},

            

{

                

"catalogId"

: 4,

                

"itemId"

: 3463,

              

"label"

"FM3-2048-007"

,

                

"itemType"

"parts"

,

                

"inventoryType"

""

,

                

"linkedItems"

: [

                    

{

                        

"id"

: 2350,

                        

"label"

"Z4603011"

,

                        

"displayData"

"5"

                   

},

                    

{

                        

"id"

: 3160,

       

"label"

"Z0293015"

,

                        

"displayData"

"7"

                    

},

                

],

                

"fields"

: {

                    

"cost"

"54.2346747003"

,

                    

"description"

"NETWORK I/F BOARD PCB ASSY\nFirmware update 2"

,

                    

"item_disposition"

"Repairable"

,

                    

"item_type"

"BOARD"

,

                    

"price"

"174.85"

,

                    

"vendor"

"ORCL"

                

},

                

"images"

: [

                    

"https://example.com/pictures/12.jpg"

,

                    

"https://example.com/pictures/8.jpg"

,

                    

"https://example.com/pictures/23.jpg"

,

                    

"https://example.com/pictures/14.jpg"

                

]

            

}

        

],

        

"notFoundItems"

: [

            

{

                

"catalogId"

: 2,

                

"label"

"Switch_009"

            

}

        

]

    

}

}

searchParts

The procedure performs a search of parts in the Parts Catalog.

Parameters

Parameter Name 

Mandatory

Type

Description

query

Yes String Search query. Minimal length - 3 symbols (spaces symbols at the beginning and at the end are trimmed), maximal length - 100 symbols.

limit

No Integer

Maximal number of results returned as a result. Minimal value - 1, maximal - 1000.

By default is 10.

cacheOnly

No Boolean

Whether the search should be done only in cache or it's allowed to make a network request to finish a search.

If it's set to true then the search will be done in offline mode without any network requests.

By default is false.

Response

Field Name

Type

Description

items

Array Array of FoundItem objects. Found parts. Limited by the limit parameter.

source

String

Source of the search. Possible values:

  • "cache" - the search was performed only in the cache, no network request was sent
  • "server" - the search was performed with a network request

searchId

Integer A unique id of the search procedure within the particular plugin open session. Used as a parameter for the searchPartsContinue procedure.
isContinueAvailable Boolean

Indicates whether the total results number overflows the "limit" parameter or not.

If it's true - then the searchPartsContinue procedure can be used to return more results (limited bythe limitparameter)

FoundItem Object Structure

Field Name

Type

Parts Catalog API Param for 'item' Element of 'upload_catalog' Request

Description

catalogId

Integer - A unique identifier of a catalog.

itemId

Integer -

A unique identifier of a part within a catalog. Can be changed after catalog update.

label String label A unique identifier of a part within a catalog.
itemType String type Item type.
inventoryType String -

Label of a corresponding inventory type in OFSC.

Can be empty if the mapping of item types to inventory types wasn't configured in the catalog schema.

Mapping between itemType and inventoryType can be found in the typeSchemas field of the getPartsCatalogStructure procedure result.

fields Object fields An object (dictionary) which contains item's fields by it's labels.
linkedItems Array linked_items Array of LinkedItem objects.
images Array images An array of strings, where each string is a URL of an image.

LinkedItem Object Structure

Field Name

Type

Parts Catalog API 'linked_item' Element of 'upload_catalog' Request

Description

id

Integer - A unique identifier of a linked part within a catalog. Can be changed after catalog update.
label String label A unique identifier of a linked part within a catalog.
displayData String display_data Text comments to the linked item to be displayed in GUI.

Loading More Results for a Search

If the searchParts procedure returns isContinueAvailable = true then more search results can be loaded via searchPartsContinue method using returned searchId.

The searchPartsContinue method is available for 10 most recent searchId.

The searchId values returned by searchParts procedure are stored in a queue for 10 most recent calls that have isContinueAvailable = true. If the queue is overflown - the searchId for the first calls are removed and searchPartsContinue isn't available for them any more.

Each call of the searchPartsContinue procedure moves it's searchId to the top of the queue (makes it most recent) and when searchPartsContinue returns isContinueAvailable = false the searchId is removed from the queue.

Example of a Request

{

    

"apiVersion"

: 1,

    

"callId"

"3quvGlWIgHrYRN4vg=="

,

    

"method"

"callProcedure"

,

    

"procedure"

"searchParts"

,

    

"params"

: {

        

"query"

"055"

,

        

"limit"

: 5

    

}

}

Example of a Response

Collapse source

{

    

"apiVersion"

: 1,

    

"method"

"callProcedureResult"

,

    

"callId"

"3quvGlWIgNJlQhHrYRN4vg=="

,

    

"resultData"

: {

        

"items"

: [

            

{

                

"catalogId"

: 3,

                

"itemId"

: 4179,

                

"label"

"XG9-0552-000"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [

                    

{

                        

"id"

: 4298,

                        

"label"

"D3625170"

,

                        

"displayData"

"9"

                    

},

                    

{

                        

"id"

: 4547,

                        

"label"

"D5853100"

,

                        

"displayData"

"2"

                    

},

                    

{

                        

"id"

: 4824,

                        

"label"

"D8093048"

,

                        

"displayData"

"8"

                    

},

                    

{

                        

"id"

: 6310,

                        

"label"

"AB014229"

,

                        

"displayData"

"7"

                    

}

                

],

                

"fields"

: {

                    

"description"

"BEARING NP6560"

,

                    

"vendor"

"AGHA"

,

                    

"cost"

"5.704125031"

,

                    

"price"

"22.7"

,

                    

"item_type"

"NA"

,

                    

"item_disposition"

"NA"

                

},

                

"images"

: [

                    

"https://example.com/picture/15.jpg"

,

                    

"https://example.com/picture/10.jpg"

,

                    

"https://example.com/picture/18.jpg"

                

]

            

},

            

{

                

"catalogId"

: 3,

                

"itemId"

: 5631,

                

"label"

"KHB670550A00"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [],

                

"fields"

: {

                    

"description"

"KID-MOD MF16, TENSION&DETACK"

,

                    

"vendor"

"KODAK"

,

                    

"cost"

"742.5143066464"

,

                    

"price"

"1270.86"

,

                    

"item_type"

"NA"

,

                    

"item_disposition"

"NA"

                

},

                

"images"

: [

                    

"https://example.com/picture/26.jpg"

                

]

            

},

            

{

                

"catalogId"

: 3,

                

"itemId"

: 5029,

                

"label"

"D0605507"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [

                    

{

                        

"id"

: 3972,

                        

"label"

"FB6-2374-000"

,

                        

"displayData"

"0"

                    

},

                    

{

                        

"id"

: 4975,

                        

"label"

"B1253830"

,

                        

"displayData"

"8"

                    

}

                

],

                

"fields"

: {

                    

"description"

"PCB:B-C4B:SERVICE:ASS&apos;Y"

,

                    

"vendor"

"HYTEC"

,

                    

"cost"

"1427.04"

,

                    

"price"

"2854.08"

,

                    

"item_type"

"BOARD"

,

                    

"item_disposition"

"Repairable"

                

},

                

"images"

: []

            

},

            

{

                

"catalogId"

: 3,

                

"itemId"

: 7551,

                

"label"

"D3305502"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [],

                

"fields"

: {

                    

"description"

"[XREF TO HD3305502] DF MAIN BOARD"

,

                    

"vendor"

"NWRS"

,

                    

"cost"

"191.5"

,

                    

"price"

"480.95"

,

                    

"item_type"

"BOARD"

,

                    

"item_disposition"

"Repairable"

                

},

                

"images"

: [

                    

"https://example.com/picture/2.jpg"

                

]

            

},

            

{

                

"catalogId"

: 3,

                

"itemId"

: 4203,

                

"label"

"D0746055"

,

                

"itemType"

"other"

,

                

"inventoryType"

""

,

                

"linkedItems"

: [

                    

{

                        

"id"

: 4037,

                        

"label"

"AB012067"

,

                        

"displayData"

"1"

                    

}

                

],

                

"fields"

: {

                    

"description"

"FLAT BELT-TRANSFER SERVICE PARTS"

,

                    

"vendor"

"SUNRISE"

,

                    

"cost"

"902.0665087976"

,

                    

"price"

"1848.46"

,

                    

"item_type"

"NA"

,

                    

"item_disposition"

"NA"

                

},

                

"images"

: [

                    

"https://example.com/picture/26.jpg"

                

]

            

}

        

],

        

"isContinueAvailable"

true

,

        

"source"

"cache"

,

        

"searchId"

: 1

    

}

}

searchPartsContinue

The procedure returns additional results for a search, initiated by the searchParts procedure.

Parameters

Parameter Name 

Mandatory

Type

Description

searchId

Yes Integer

A unique id of the search procedure within the particular plugin open session.

Minimal value: 0, Maximal value: 2147483647

See more: Loading more results for a search

Response

Field Name

Type

Description

items

Array Array of FoundItem objects. Found parts. Limited by the limitparameter for the searchParts procedure.

source

String

Source of the search. Possible values:

  • "cache" - the search was performed only in the cache, no network request was sent
  • "server" - the search was performed with a network request

searchId

Integer A unique id of the search procedure within the particular plugin open session. It's equal to the searchId input parameter.
isContinueAvailable Boolean

Indicates whether the total results number overflows the limit parameter of the searchParts procedure or not.

If it's true - then this procedure

can be called once more to return more results (limited by the limit parameter for the searchParts procedure).

FoundItem Object Structure

Field Name

Type

Parts Catalog API Param for 'item' Element of 'upload_catalog' Request

Description

catalogId

Integer - A unique identifier of a catalog.

itemId

Integer -

A unique identifier of a part within a catalog. Can be changed after catalog update.

label String label A unique identifier of a part within a catalog.
itemType String type Item type.
inventoryType String -

Label of a corresponding inventory type in OFSC.

Can be empty if the mapping of item types to inventory types wasn't configured in the catalog schema.

Mapping between itemType and inventoryType can be found in the typeSchemas field of the getPartsCatalogStructure procedure result.

fields Object fields An object (dictionary) which contains item's fields by it's labels.
linkedItems Array linked_items Array of LinkedItem objects.
images Array images An array of strings, where each string is a URL of an image.

LinkedItem Object Structure

Field Name

Type

Parts Catalog API 'linked_item' Element of 'upload_catalog' Request

Description

id

Integer - A unique identifier of a linked part within a catalog. Can be changed after catalog update.
label String label A unique identifier of a linked part within a catalog.
displayData String display_data Text comments to the linked item to be displayed in GUI.

Example of a Request

{

    

"apiVersion"

: 1,

    

"callId"

"J3wa6jhfAZbsCdjQ=="

,

    

"method"

"callProcedure"

,

    

"procedure"

"searchPartsContinue"

,

    

"params"

: {

        

"searchId"

: 1

    

}

}

Example of a Response

Collapse source

{

    

"apiVersion"

: 1,

    

"method"

"callProcedureResult"

,

    

"callId"

"J3wa6jhKxwf6xfAZbsCdjQ=="

,

    

"resultData"

: {

        

"items"

: [

            

{

                

"catalogId"

: 3,

                

"itemId"

: 7300,

                

"label"

"MU220055000"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [

                    

{

                        

"id"

: 4481,

                        

"label"

"CF064-67901"

,

                        

"displayData"

"0"

                    

},

                    

{

                        

"id"

: 4986,

                        

"label"

"B2469510"

,

                        

"displayData"

"5"

                    

}

                

],

                

"fields"

: {

                    

"description"

"INTRACK JOGGER AY F4100-02"

,

                    

"vendor"

"KOZAK"

,

                    

"cost"

"341.4693432572"

,

                    

"price"

"799.075"

,

                    

"item_type"

"NA"

,

                    

"item_disposition"

"NA"

                

},

                

"images"

: [

                    

"https://example.com/picture/4.jpg"

,

                    

"https://example.com/picture/26.jpg"

,

                    

"https://example.com/picture/10.jpg"

,

                    

"https://example.com/picture/8.jpg"

                

]

            

},

            

{

                

"catalogId"

: 3,

                

"itemId"

: 6337,

                

"label"

"B8305562"

,

                

"itemType"

"parts"

,

                

"inventoryType"

"PT"

,

                

"linkedItems"

: [],

                

"fields"

: {

                    

"description"

"STEPPER MOTOR DC1 .56V 3.7W\nCatalog: #3 en Ricoh (ver 19151)"

,

                    

"vendor"

"RICOH"

,

                    

"cost"

"36.97"

,

                    

"price"

"185.7"

,

                    

"item_type"

"NA"

,

                    

"item_disposition"

"NA"

                

},

                

"images"

: [

                    

"https://example.com/picture/14.jpg"

,

                    

"https://example.com/picture/15.jpg"

,

                    

"https://example.com/picture/4.jpg"

                

]

            

}

        

],

        

"isContinueAvailable"

false

,

        

"source"

"server"

,

        

"searchId"

: 1

    

}

}

NEW ERROR TYPE AND CODES FOR PLUGIN API

New Error Types

Type

When Occurs

Available Message Fields

TYPE_PROCEDURE_PARAM_ITEM

One or more items in array which was sent as the value of procedure parameter have wrong contents

  • procedure
  • paramName

  • itemId

  • itemField

Available Message Fields

New Error Codes

Type

Code

Caused by Procedure

Error Type

Cause

TYPE_PROCEDURE_PARAM_ITEM CODE_PROCEDURE_PARAM_ITEM_MANDATORY_FIELD_EMPTY getParts Validation error Mandatory field of the item is missing.
TYPE_PROCEDURE_PARAM_ITEM CODE_PROCEDURE_PARAM_ITEM_FIELD_INVALID getParts Validation error Value of item field is not valid.

Error Example

Request

{

    

"apiVersion"

: 1,

    

"callId"

"KnnXUxS7IzY+8B0g=="

,

    

"method"

"callProcedure"

,

    

"procedure"

"getParts"

,

    

"params"

: {

        

"items"

: [

            

{

                

"catalogId"

"2"

,

                

"label"

"Switch_model_001"

            

},

            

{

                

"catalogId"

"2"

,

                

"label"

"Switch_model_003"

            

},

            

{

                

"catalogId"

"4"

,

                

"label"

""

            

}

        

]

    

}

}

Response

{

    

"apiVersion"

: 1,

    

"callId"

"KnnXUxS7APzLBVIzY+8B0g=="

,

    

"method"

"error"

,

    

"errors"

: [

        

{

            

"type"

"TYPE_PROCEDURE_PARAM_ITEM"

,

            

"code"

"CODE_PROCEDURE_PARAM_ITEM_MANDATORY_FIELD_EMPTY"

,

            

"procedure"

"getParts"

,

            

"paramName"

"items"

,

            

"itemId"

: 2,

            

"itemField"

"label"

        

}

    

]

}

Steps to Enable

No steps are required to enable this feature.

Routing

Goal Based Optimization in Routing

With release 18D, a new section "Optimization Goal" allows users to choose optimization goal for the particular routing plan and obtain a series of suggestions how to set routing plan parameters in an optimal way. 

The following changes were made:

MIGRATION

During the migration process, re-optimization goals are migrated to optimizations using the following correspondence:

Legacy Re-Optimization Goal

New Optimization Goal

Optimize routes

Default

Assign high priority activities

Maximized assigned activities number

Reduce overdue

Reduce activities overdue

CHANGE THE OPTIMIZATION GOAL

You can now select optimization goals for the routing plan and set routing plan parameters in an optimal way. The Optimization goal drop-down list presents a set of goals to choose.

Optimization Goal Drop-Down List

When you select an Optimization Goal, routing provides suggestions to the routing plan parameters. The following example shows the Optimization Strategy section with the Maximize assigned activities number option selected in the Optimization Goal field.

Optimization Strategy Section

Steps to Enable

NOTE: There is no need to configure this particular feature; the optimization goal section is available by default after the 18D update is applied. 

To set optimization goal for a routing plan:

  1. Navigate to the Routing screen.
  2. Select a routing plan.
  3. Expand the Optimization goal section and select an Optimization goal from the drop-down list:

Key Resources

Reporting

Multi Language Support for Reports

With release 18D, reports in Oracle Field Service Cloud have been enhanced to support multi language translations..

MULTI LANGUAGE SUPPORT FOR REPORT COLUMNS

Column names are available for translation:

Report Name

Old Column Name

New Column Name

Activities by status

Activity final status

Final status

 

Type prework

Prework

 

Type regular

Regular

 

Type reopened

Reopened

Average travel time

Provider name

Resource name

 

Average Travel Time (min)

Average Travel Time, minutes

In Time/Late/Early activities

Provider

Resource

 

Total number of appts

Total number of activities

 

Started In Time %

% of Started In Time

 

Started Late %

% of Started Late

 

Started Early %

% of Started Early

 

Not started %

% of Not Started

 

% Cancelled

% of Canceled

Inactive users

Days since last login

Days since the last login

Last message window size

Size of window (min)

Size of window, minutes

 

Provider name

Resource name

 

% Activated

% of Activated

 

% Completed

% of Completed

Route Statistics

Average number appts per route

Average number of activities per route

 

Summary time spent on appts (hrs)

Summary time spent on activities, hours

Route time parameters

Provider

Resource

 

Length of day

Day length

Routing Report

Travel (mins)

Travel, minutes

 

Work (mins)

Work, minutes

 

Overtime (mins)

Overtime, minutes

 

Idle Time (mins)

Idle Time, minutes

Transferred Calls

Before Start Route

Before Route Start

 

After Start Route

After Route Start

 

Total Count

Total

Travel Statistics

From

Start Location

 

To

End Location

 

Dev

Deviation

Work Order Statistics

Provider

Resource

 

Total number of appts

Total number of activities

 

% Completed

% of Completed

 

Avg time to complete (min)

Average time to complete, minutes

Work Statistics

Appointment Key

Activity Key

 

Avg

Average

 

Dev

Deviation

 

LevelInfo

Level Info

NOTIFICATION SUMMARY REPORT FILTER REMOVAL

In Notification summary report, the "Date of" (Message) option has been removed.

Notification Summary Report With Date of Filter Field:

Notification Summary Report Showing Date of Filter Field

Notification Summary Report Without Date of Filter Field:

Notification Summary Report After Removing Date of Filter Field

This feature also includes the following changes in the Schedule Report and Configuration History reports:

Steps to Enable

No steps are required to enable this feature.

Key Resources

Configuration History Report Improvements

With release 18D, improvements have been made to the Configuration History Report for easy use. The following fields will be included in the Configuration History report now:

The following changes will be made to the Configuration History report for entries corresponding to certain selected screens:

The above changes will be reflected for entries corresponding to the following screens/modules:

Steps to Enable

No steps are required to enable this feature.

Key Resources