Cloud Readiness / Oracle Field Service
What's New
  1. Update 19B
  1. Revision History
  2. Overview
  3. Feature Summary
    1. Administration
        1. API Access Using User Name and Password
    2. Android and iOS Applications
        1. Biometric ID on Installed Apps
    3. APIs
        1. Collaboration REST API for Third-Party Applications
        2. Metadata API: Support of Forms
        3. Property Update Mode in Bulk Update Operations
        4. Support Custom Fields in API for Resource Locations
    4. Capacity Management
        1. Capacity Configuration in Core Application
    5. Collaboration
        1. Usability and User Interface Improvements
    6. Core Application
        1. Automatic Creation of Mass and Repeating Activities
        2. Improvements to Oracle Field Service Cloud Core Application
        3. Improved Map Zoom and Centering
        4. Manage Non-Scheduled Activities on Dispatch Map
        5. Multi-Day Activity Improvements
        6. Required Inventory Improvements
        7. Support for Group Actions for Resources in Core Application
        8. Unification of Terms
    7. Integration
        1. ChatBots Integration
    8. Mobility
        1. Display Departure Time on Landing Page
    9. Plugin Framework
        1. Set Parameters for a Plug-In Button
    10. Reporting
        1. Multi-Language Support for Reports
        2. Number of Active Users Report
    11. Routing
        1. Work Skill Ratio for Immediate Routing of Multi-Day Activities

Update 19B

Revision History

Date Feature Notes
02 MAY 2019 Improvements to Oracle Field Service Cloud Core Application Updated document. Revised feature information.

19 APR 2019

 

Created initial document.

Overview

This guide outlines the information you need to know about new and improved functionality in Oracle Field Service Cloud Update 19B. 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.

ANNOUNCEMENTS FOR THIS UPDATE 

  1. As a reminder, the Legacy API Authentication option in the User Type screen was deprecated with the 18D (November 2018) Update. Customers are advised to use the Client_ID/Secret Authentication and OAuth2 supported by both REST and SOAP APIs. These options can be configured using the Configuration - Applications option. The Legacy API Authentication option will be removed with the 19C (August 2019) Update. To ensure your integrations continue to operate after the 19C (August 2019) Update, we strongly encourage you to migrate to the Client_ID/Secret Authentication and OAuth2 between now and July 2019. 

If you are using a SOAP API, you should replace the login with the Client ID and the password with the client secret when generating the user node.

  1. The Activity Management and Resource Management SOAP APIs will be removed with the 20A (February 2020) Update. If you have not already migrated to the REST APIs, we strongly encourage you to migrate to them between now and January 2020.

  2. We continue to add new features to the Core Application with each update that provide similar functionality to what is available in Legacy Core Manage. In preparation for migrating to the Core Application, we encourage you to begin configuring the Application Screens between now and January 2020 for each User Type in your configuration. This ensures that you are prepared for the removal of the Legacy Core Manage screens in the 20A (February 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

Action Required to Enable Feature

Feature

Automatically Available

End User Action Required

Administrator Action Required

Oracle Service Request Required

Administration

API Access Using User Name and Password

Android and iOS Applications

Biometric ID on Installed Apps

APIs

Collaboration REST API for Third-Party Applications

Metadata API: Support of Forms

Property Update Mode in Bulk Update Operations

Support Custom Fields in API for Resource Locations

Capacity Management

Capacity Configuration in Core Application

Collaboration

Usability and User Interface Improvements

Core Application

Automatic Creation of Mass and Repeating Activities

Improvements to Oracle Field Service Cloud Core Application

Improved Map Zoom and Centering

Manage Non-Scheduled Activities on Dispatch Map

Multi-Day Activity Improvements

Required Inventory Improvements

Support for Group Actions for Resources in Core Application

Unification of Terms

Integration

ChatBots Integration

Mobility

Display Departure Time on Landing Page

Plugin Framework

Set Parameters for a Plug-In Button

Reporting

Multi-Language Support for Reports

Number of Active Users Report

Routing

Work Skill Ratio for Immediate Routing of Multi-Day Activities

Administration

API Access Using User Name and Password

Starting with update 19B, the Allow legacy access via API using user login and password option is not shown on the General tab, User Types screen, for the instances where such access is not used. This feature doesn't affect the clients who still use the deprecated access.

Remember these points:

  • If a configured User Type in an instance has the Allow legacy access via API using user login and password check box selected, then there is no change in the behavior. All the configuration settings are available for such users. Users can select or clear this check box for any User Type until at least one of the User Types has it selected.
  • If all the User Types in an instance have this setting cleared then the Allow legacy access via API using user login and password check box is not displayed on the screen.
  • As soon as the Allow legacy access via API using user login and password check box is cleared for the last User Type (so that there is no User Type with this option selected), the ability to select it again doesn’t exist.

NOTE: The Legacy API Authentication option in the User Type screen was deprecated with the 18D (November 2018) Update. Customers are advised to use the Client_ID/Secret Authentication and OAuth2 supported by the REST and SOAP APIs. These options can be configured using the Configuration - Applications option. The removal is planned for the 19C (August 2019) Update.

Steps to Enable

Use the following steps to transform the integration from using user credentials to application credentials:

  • You may use an existing application or create a new one (for example, if an existing application is already used and you don’t want to change it).
  • If you want to use the existing application, then find the User Type, which is used for accessing the API and check the application to which the User Type is linked. You can verify it in the API access permissions are configured using the selected application drop-down list.
  • Open the Configuration, Applications screen and find the appropriate application (or create an application, if necessary).
  • Choose the authentication method that suits you best. The simplest option to transition from a user login/password authentication is to use the Authenticate using Client ID/Client Secret option. In this case, you just have to configure new credentials for API access in the external applications.

Key Resources

Android and iOS Applications

Biometric ID on Installed Apps

With the 19B Update, this feature allows users to use their fingerprint to login to the Installed Android or iOS Mobile App rather than entering their credentials. 

To use this feature the user needs to select the Enable Touch ID (for iOS devices) or the Enable Fingerprint ID (for Android devices) check box present on the login window.

NOTE: This feature is available for the Installed Android or iOS Mobile Applications running Android 7+ or iOS 10+, with phones that have fingerprint scanners when Basic and/or LDAP authentication is used. For SSO users using either SAML or OpenId Connect this feature is not available.

  • Android Devices

Biometric ID for Android Devices

Biometric ID for Android Devices

  • iOS Devices

Biometric ID for Android Devices

Biometric ID for iOS Devices

SAVE PASSWORD

The user can login to Installed Android or iOS Mobile App without the need of typing in the password during each login. The user can do this by saving the password by putting the finger on fingerprint scanner to save the username and password to the Installed Android or iOS Mobile App storage on device.

  • Save Password for Android Devices

Fingerprint Authentication to Save Password

Save Password - Android Devices

  • Save Password for iOS Devices

Fingerprint Authentication to Save Password

Save Password - iOS Devices

INCORRECT PASSWORD

If the user provides incorrect password during login, the password validation fails and an error message is displayed on the login screen. Once the user enters the correct password again, selects the ‘Enable Fingerprint ID’ or ‘Enable Touch ID’ option and clicks Sign in, the fingerprint dialog appears on the screen and the user can continue using the option as usual.

USE FINGERPRINT AUTHENTICATION

Once a user maps username and password with their own fingerprints, the future logins does not require the same authentication process. The user needs to enter the mobile instance name and use the fingerprint dialog for authentication to login to the application. On successful authentication, a confirmation dialog appears on the screen.

Fingerprint Authentication

Fingerprint Authentication

If the fingerprint is different from the mapped fingerprint, an error message appears on the screen.

CANCEL FINGERPRINT AUTHENTICATION

Even after registering for fingerprint authentication, the user can cancel the fingerprint authentication during login. The user should click the Cancel button on the Fingerprint authentication window and continue to login by entering the password. 

CHANGED PASSWORD

If user changes the password from another application (for example, web-based Mobility), and tries to login from the mobile application that has fingerprint authentication enabled, an error message is displayed. This is because the passwords are different. The user should enter new password with the ‘Enable Fingerprint ID’ or ‘Enable Touch ID’ box selected, and the Fingerprint dialog appears. The user should map the password using the Touch sensor for future logins.

OFFLINE RE-AUTHENTICATION

Sometimes, the user might have to login again because of the login policy settings. The user will be directed to the ‘Restore session’ screen. If the biometric authentication option is enabled, Fingerprint dialog used for authentication is displayed. If the user clicks Cancel button, the Restore session window appears on the screen.

DISABLE FINGERPRINT AUTHENTICATION

The user can disable this option from the login screen. The user needs to uncheck the ‘Enable Touch ID’ or ‘Enable Fingerprint ID’ option and login with username and password. For future logins, the user cannot use the fingerprint authentication unless the ‘Enable Touch ID’ box is selected.

USE PASSCODE IN IOS DEVICES

If the user is not able to login using the Fingerprint Authentication after multiple attempts, the user gets a prompt to enter a passcode instead of a fingerprint. This option is available only in iOS devices.

Steps to Enable

CONFIGURE FINGERPRINT AUTHENTICATION

To configure fingerprint authentication:

  1. Select Configuration, Display.
  2. In the Display page, select the ‘Remember username on Login screen or use Biometrics ID’ check box and save your changes.

Now, the user can see the ‘Enable Touch ID’ (on iOS devices) or the ‘Enable Fingerprint ID’ (on Android devices) check box on the login screen.

Key Resources

APIs

Collaboration REST API for Third-Party Applications

The Collaboration REST API allows external applications to integrate with the Collaboration service and initiate a conversation with the Collaboration users. Starting with update 19B, customers can integrate other applications such as chatbot with Oracle Field Service Cloud, and use the Collaboration REST API as a channel to communicate with the chatbot.

The following operations are supported:

  • Initiate a chat with a user or a group of users
  • Send message to an existing chat
  • Leave a chat
  • Get participant details of a chat
  • Invite another user

NOTE: This feature does not support broadcast of messages.

INITIATE A CHAT

This operation creates a new chat with another user or a conference chat with a group of users.

The following request parameters are supported:

  • text (string): The content of the message.
  • recipients (array): The list of recipients for the chat.

The following information is returned in the response:

  • chatId (integer): The unique identifier of the chat in the collaboration server.
  • type (string): The type of the chat.
  • startedTime (string): The time (in UTC standard) when the chat started. The time is in 'YYYY-MM-DD HH:MM:SS' format.
  • startedBy (string): The login details of the user who started the chat. This field is present only for the chats started by a user.
  • participants (array): The list of participants of the chat.

The following response codes are supported:

  • 201 - Indicates that the chat was successfully created.
  • 400 - Indicates that a self-chat is not allowed.
  • 403 - Indicates that the user does not have the permission to perform this operation.

Example cURL Command

Here is an example cURL command:

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCollaboration/v1/chats" -X POST –d

Example Request Body for a Normal Chat

Here is an example request body for a normal chat:

{

"text" : "test message",

"recipients" : ["william"]

}

Example Request Body for a Conference Chat

Here is an example request body for a conference chat:

{

"text" : "test message",

"recipients" : ["william","phillip"]

}

Example Response:

Here is an example response:

{

"chatId": 510,

"type": "conference",

"startedTime": "2018-09-24 08:09:00",

"startedBy": "terri",

"participants": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/510/participants"

}

]

}

SEND A MESSAGE TO AN EXISTING CHAT

This operation sends a message to an existing chat.

The following path parameter is supported:

  • chatId (integer): The unique identifier of the chat in the collaboration server.

The following request parameter is supported:

  • text (string): The content of the message.

The following information is returned in the response:

  • chatId (integer): The unique identifier of the chat in the collaboration server.
  • text (string): The content of the message.
  • author (string): The login details of the user who created the message.
  • time (string): The time (in UTC standard) when the chat started. The time is in 'YYYY-MM-DD HH:MM:SS' format.
  • sequenceNumber (integer): The sequence number of the message in the chat.
  • messageId (integer): The identifier of the message in the collaboration server.

The following response codes are supported:

  • 200 - Indicates that the message is successfully added to the chat.
  • 403 - Indicates that the user cannot send the message to a private chat.
  • 404 - Indicates that the user is trying to send the message to an invalid chat ID.

Example Request

Here is an example request:

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/{chatId}/messages" -X POST -d

{

"text" : "Message text"

}

Example Response

Here is an example response:

{

"chatId": 486,

"text": "Message text",

"author": "william",

"time": "2018-09-24 05:09:00",

"sequenceNumber": 6,

"messageId": 1336

}

LEAVE A CHAT

This operation is used to leave an existing chat.

The following path parameter is supported:

  • chatId (integer): The unique identifier of the chat in the collaboration server.

The following response codes are supported:

  • 204 - Indicates that the user has successfully left the chat.
  • 403 - Indicates that the user is not a participant of the chat.

Example Request

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/{chatId}/leave" -X PATCH-d

GET PARTICIPANT DETAILS OF A CHAT

This operation retrieves the list of participants of a chat.

The following path parameter is supported:

  • chatId (integer): The unique identifier of the chat in the collaboration server.

The following query parameters are supported:

  • limit (integer): The number of items to be returned in the response. If the specified value is greater than 100, then it defaults to 100.
  • offset (integer): The number of items to be skipped in the response. If the parameter is not present in the request, then it defaults to zero.

The following information is returned in the response:

  • totalResults (integer): The total number of items retrieved.
  • limit (integer): The maximum number of items retrieved.
  • offset (integer): The index from which the items are retrieved.
  • items (array): An array of participant entities.

The following participant entities are supported:

  • name (string): The name of the participant.
  • login (string): The login details of the participant.
  • present (boolean): Indicates whether the participant is present in a chat.
  • online (boolean): Indicates whether the participant is online.
  • invitedBy (string): The login details of the user who invited the participant to the chat. This field is present only for the chats started by the user.
  • invitedTime (string): The time when the participant was invited to the chat. The time is in 'YYYY-MM-DD HH:MM:SS' format.
  • leftTime (string): The time when the participant left the chat. The time is in 'YYYY-MM-DD HH:MM:SS' format.

The following response codes are supported:

  • 200 - Indicates that the list of participants is retrieved.
  • 403 - Indicates that the user is not a participant of the chat.
  • 404 - Indicates that the chat ID provided is invalid.

Example Request

Here is an example request

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/123/participants?limit=2&offset=0" -X GET -d

Example Response

Here is an example response:

{

"totalResults": 3,

"limit": 2,

"offset": 0,

"items": [

{

"name": "ARNDT William ",

"login": "william",

"present": true,

"online": true,

"invitedBy": "william",

"invitedTime": "2019-04-01 09:34:44",

"leftTime": ""

},

{

"name": "Rickert Peter",

"login": "peter",

"present": true,

"online": false,

"invitedBy": "william",

"invitedTime": "2019-04-01 09:34:48",

"leftTime": ""

}

],

"links": [

{

"rel": "next",

"href": "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/123/participants?limit=2&offset=2"

},

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/123/participants/?limit=2&offset=0"

}

]

}

INVITE A USER

This operation is used to invite another user to the chat. The users can initiate a conference chat by inviting more users to an existing chat.

The following path parameter is supported:

  • chatId (integer): The unique identifier of the chat in the collaboration server.

The following request parameter is supported:

  • login (string): The login details of the participant.

The following response codes are supported:

  • 204 - Indicates that the user is invited to the chat.
  • 403 - Indicates that the user is not a participant of the chat.
  • 400 - Indicates that the login details provided are invalid.

Example Request

Here is an example request:

curl -s -u "$AUTH" --url "https://api.etadirect.com/rest/ofscCollaboration/v1/chats/{chatId}/participants/invite" -X POST-d

{

"login" : "username"

}

Remember these points:

  • All the APIs that returns a list of items will have a default limit of 10 items. Users can always set the limit in their request also use pagination links to obtain the next / previous set of items.
  • Start Chat response will provide details about the chats like the chatid , type of chat (indicating weather this a direct messaging with another user or conference with multiple users ) , list of participants , chat start time and author .
  • User can receive collaboration notifications using collaboration event APIs . Details on how to receive events available here.

AUTHENTICATION

Oracle Field Service Cloud allows only a registered application to access collaboration functionalities via Collaboration REST API.

Before starting the integration, user application should be registered in Oracle Field Service Cloud using the Configuration > Applications screen for the custom application. Also, the access permission for Field Collaboration API should be enabled. 

Steps to Enable

The User Type that is configured with the Collaboration API must have the Collaboration setting checked on the General Tab.

NOTE: Collaboration REST API supports only OAuth2 based authentication using JWT bearer assertion grant type. 

Key Resources

Metadata API: Support of Forms

Starting with update 19B, a new Metadata API will support the following RESTful operations related to Forms:

  • Retrieve a list of configured forms
  • Retrieve form attributes and content
  • Create or update a form
  • Delete a form

CREATE OR UPDATE A FORM

This operation creates a new form with name and content or updates an existing form.

The following request parameters are supported:

  • label: The label of the form that needs to be created or updated.
  • translations: The list of translations associated with the name of the form. The list is only returned if the language parameter is not specified in the request.

The translations parameter is required for creating a form, but the parameter is optional for updating a form. If the parameter is not specified, then the translations in the response are not changed.

If the parameter is present in the request, then the 'name' attribute is required for English and the attribute cannot be empty. All the translations for the name of the form are replaced in the request.

  • The form content in JSON string format. The form content is validated similar to the Form Import function in OFSC application. When the form content is validated, the following results can occur:
    • Error: The operation cannot be performed.
    • Warning: The operation is successful but additional warning structure is returned.

The following information is returned in the 200 and 201 response if an existing form is created or updated:

  • warning: The list of warnings that occurred while saving the form.
  • object: The specified form content in JSON string format.

Example 1: Create Form Request / Response Example with No Errors or Warnings in Form Content

PUT /rest/ofscMetadata/v1/forms/hit_inv HTTP/1.1

Host: frontend.ofsc.dock

Authorization: Basic c29hcEBwZXRyb2xpYXNoZXZ5Y2gucmVzdDox

cache-control: no-cache

{ "translations": [

{

"language": "en-US",

"name": "Hit Inv"

},

{

"language": "es",

"name": "Hit EQ"

}

],

"content": "{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}"

}------WebKitFormBoundary7MA4YWxkTrZu0gW--

HTTP/1.1 201 Created

Server: nginx

Date: Fri, 08 Mar 2019 08:12:41 GMT

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

Connection: close

{

"label": "hit_inventory",

"name": "Hit Inv.",

"translations": [

{

"language": "en",

"name": "Hit Inv.",

"languageISO": "en-US"

},

{

"language": "es",

"name": "Hit EQ",

"languageISO": "es-ES"

}

],

"content": "{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}",

"links": [

{

"rel": "canonical",

"href": "https://frontend.ofsc.team/rest/ofscMetadata/v1/forms/hit_inventory"

},

{

"rel": "describedby",

"href": "https://frontend.ofsc.team/rest/ofscMetadata/v1/metadata-catalog/forms"

}

]

}

Example 2: Error in Form Content

PUT /rest/ofscMetadata/v1/forms/hit_inv HTTP/1.1

Host: frontend.ofsc.dock

Authorization: Basic c29hcEBwZXRyb2xpYXNoZXZ5Y2gucmVzdDox

cache-control: no-cache

{ "translations": [

{

"language": "en-US",

"name": "Hit Inv"

},

{

"language": "es",

"name": "Hit EQ"

}

],

"content": "{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"sectison\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}"

}------WebKitFormBoundary7MA4YWxkTrZu0gW--

HTTP/1.1 400 Bad Request

Server: nginx

Date: Fri, 08 Mar 2019 09:44:17 GMT

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

Connection: close

{

"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",

"title": "Bad Request",

"status": "400",

"detail": "Unsupported type \"sectison\" is provided for document node."

}

GET FORM DETAILS

This operation retrieves the details of the specified form.

The following request parameters are supported:

  • label: The label of the form.
  • language: The translation language code. Based on the value of this parameter, the translation for the name of the form is returned in the 'name' field.
    • If the value is specified, then the translated value is returned in the 'name' field and the 'translations' field is not returned in the response.
    • If translation for the specified language does not exist, then the value in the 'name' field is returned in English.
    • If the value is not specified, then the 'translations' field is returned in the response and contains the translations to every language in the system.

For the list of supported language codes, see .

The following information is returned in the response:

  • object (form entities): The label of the form, the name of the form in user’s language,
  • object (form content): The specified form content in JSON string format.

EXAMPLES

Example 1: Get Form Details Request / Response Example

GET /rest/ofscMetadata/v1/forms/hit_inventory HTTP/1.1

Host: frontend.ofsc.dock

Authorization: Basic c29hcEBwZXRyb2xpYXNoZXZ5Y2gucmVzdDox

Accept: */*

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 08 Mar 2019 07:52:41 GMT

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

Connection: close

{

"label": "hit_inventory",

"name": "Hit Inv.",

"translations": [

{

"language": "en",

"name": "Hit Inv.",

"languageISO": "en-US"

},

{

"language": "es",

"name": "Hit EQ",

"languageISO": "es-ES"

},

{

"language": "fr",

"name": "11111",

"languageISO": "fr-FR"

}

],

"content": "{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}",

"links": [

{

"rel": "canonical",

"href": "https://frontend.ofsc.dock/rest/ofscMetadata/v1/forms/hit_inventory"

},

{

"rel": "describedby",

"href": "https://frontend.ofsc.dock/rest/ofscMetadata/v1/metadata-catalog/forms"

}

]

}

Example 2: Request / Response Example With Language Parameter

GET /rest/ofscMetadata/v1/forms/hit_inventory?language=en-US HTTP/1.1

Host: frontend.ofsc.dock

Authorization: Basic c29hcEBwZXRyb2xpYXNoZXZ5Y2gucmVzdDox

Accept: */*

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 08 Mar 2019 07:52:41 GMT

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

Connection: close

{

"label": "hit_inventory",

"name": "Hit Inv.",

"content": "{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}",

"links": [

{

"rel": "canonical",

"href": "https://frontend.ofsc.dock/rest/ofscMetadata/v1/forms/hit_inventory"

},

{

"rel": "describedby",

"href": "https://frontend.ofsc.dock/rest/ofscMetadata/v1/metadata-catalog/forms"

}

]

}

GET LIST OF FORMS

This operation retrieves a list of forms in the Oracle Field Service application.

The following request parameters are supported:

  • language: The translation language code. Based on the value of this parameter, the translation for the name of the form is returned in the 'name' field.
    • If the value is specified, then the translated value is returned in the 'name' field and the 'translations' field is not returned in the response.
    • If translation for the specified language does not exist, then the value in the 'name' field is returned in English.
    • If the value is not specified, then the 'translations' field is returned in the response and contains the translations to every language in the system.

For the list of supported language codes, see .

  • limit: The number of form records 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, zero, or if no value is specified, then it defaults to 100.
  • offset: 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.

The following information is returned in the response:

  • hasMore: Contains one of the following values: true or false. If true, then there are more results that can be retrieved with successive paging requests. If false or the value is not present, then there are no more results, or this is the final page. The default value is true.
  • items: The collection of form entities. It is not returned for an empty collection.
  • limit: The limit value specified in the request. If the value is not specified in the request or if the specified value is not accepted, then it defaults to 100.
  • offset: The offset value specified in the request.
  • totalResults: The total number of form records in the collection.

Example 1: Get List of Forms Request / Response Example

GET /rest/ofscMetadata/v1/forms/hit_inventory HTTP/1.1

Host: api.etadirect.com

Authorization: Basic c29hcEBwZXRyb2ZXZ5Y2gucmVzdDox

Accept: */*

HTTP/1.1 200 OK

Server: nginx

Date: Fri, 08 Mar 2019 07:52:41 GMT

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

Connection: close

{

"label":"hit_inventory",

"name":"Hit Inv.",

"translations": [

{

"language":"en",

"name":"Hit Inv.",

"languageISO":"en-US"

},

{

"language":"es",

"name":"Hit EQ",

"languageISO":"es-ES"

},

{

"language":"fr",

"name":"11111",

"languageISO""fr-FR"

}

],

"content":"{\"submit\":{\"visibility\":[]},\"items\":[{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"srtype\",\"name\":{\"en\":\"Request type\",\"es\":\"Tipo de solicitud\",\"fr\":\"Type de demande\",\"de\":\"Anforderungstyp\",\"br\":\"Tipo de Solicita\\u00e7\\u00e3o\",\"ja\":\"\\u8981\\u6c42\\u30bf\\u30a4\\u30d7\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":[\"1\",\"1\"]}]},{\"type\":\"field\",\"dataBinding\":\"serviceRequestField\",\"label\":\"hit_type\",\"name\":{\"en\":\"Hit Type\",\"es\":\"Hit Type\",\"fr\":\"Hit Type\",\"de\":\"Hit Type\",\"br\":\"Hit Tipo\",\"ja\":\"Hit Type\"},\"defaultVisibility\":\"mandatory\",\"valueVisibility\":[{\"values\":\"*\"}]},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"access_hours\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}},{\"type\":\"section\",\"defaultVisibility\":\"readWrite\",\"items\":[{\"type\":\"field\",\"dataBinding\":\"activityField\",\"label\":\"end_time\",\"defaultVisibility\":\"readWrite\",\"defaultValue\":\"v1#\",\"valueValidation\":{\"rule\":\"v1#\",\"errorMessage\":[]}}]}]}]}]}",

"links": [

{

"rel":"canonical",

"href":"https://api.etadirect.com/rest/ofscMetadata/v1/forms/hit_inventory"

},

{

"rel":"describedby"

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

}

]

}

Example 2: Request / Response Example With Language Parameter

GET /rest/ofscMetadata/v1/forms/?language=en-US&limit=2&offset=2 HTTP/1.1

Host: api.etadirect.com

Authorization: Basic c29hcEBwZpYXNoZXZ5Y2gucmVzdDox

Accept: */*

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

{

"hasMore": true,

"totalResults": 10,

"limit": 2,

"offset": 2,

"items": [

{

"label": "mobile_inventory_request#10#",

"name": "Hit Inv.",

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/forms/mobile_inventory_request%2310%23"

},

{

"rel": "describedby",

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

}

]

},

{

"label": "mobile_inventory_request#16#",

"name": "Send Request",

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscMetadata/v1/forms/mobile_inventory_request%2316%23"

},

{

"rel": "describedby",

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

}

]

}

],

"links": [

{

"rel": "canonical",

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

},

{

"rel": "prev",

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

},

{

"rel": "next",

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

},

{

"rel": "describedby",

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

}

]

}

DELETE A FORM

This operation deletes the specified form.

NOTE: You cannot delete a form that is in use.

The following request parameter is supported:

  • label: The label of the form.

This API does not provide any response content on successful deletion.

EXAMPLE FOR FORM DELETION

DELETE /rest/ofscMetadata/v1/forms/hit_inventory HTTP/1.1

Host: api.etadirect.com

Authorization: Basic c29hcEBwZXRybpYXNoZXZ5Y2gucmVzdDox

Accept: */*

HTTP/1.1 204 No Content

Server: nginx

Date: Fri, 08 Mar 2019 07:31:51 GMT

Connection: close

Steps to Enable

You must grant permissions to the Metadata API. You must set Read-Write access to the “Forms” entity in the Configuration, Applications (API permissions) screen.

Key Resources

Property Update Mode in Bulk Update Operations

Starting with 19B, an optional parameter 'inventoryPropertiesUpdateMode' is added to the Bulk Update Resource Inventories and Bulk Update Activities operations. The value of this parameter indicates whether the existing inventory properties should be replaced or retained and updated with the new properties that are sent in the request.

inventoryPropertiesUpdateMode(string):

The possible values of the 'inventoryPropertiesUpdateMode' parameter are as follows:

  • 'keepProperties' - For each inventory item in the 'inventories' array, the inventory properties are updated, and the properties that are not specified in the request are retained.
  • 'eraseProperties' - For each inventory item in the 'inventories' array, the inventory properties are replaced, this means those properties that are not specified in the request are erased. This is the default value of the parameter.

ERROR HANDLING

In case if incorrect value of 'inventoryPropertiesUpdateMode' parameter was sent:

The following response is returned if an incorrect value is specified for the 'inventoryPropertiesUpdateMode' parameter.

Response code: 400

Response body:

{

"type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1",

"title": "Bad Request",

"status": "400",

"detail": "Invalid property value. Path: 'resources/0/inventoryPropertiesUpdateMode'. Value: '<incorrect_value>'. Valid values: 'keepProperties','eraseProperties'"

}

EXAMPLES

Example 1

The following is an example where the optional parameter 'inventoryPropertiesUpdateMode' is used in the Bulk Update Resource Inventories operation.

Example Request 

POST https://api.etadirect.com/rest/ofscCore/v1/resources/custom-actions/bulkUpdateInventories

{

"resources": [

{

"resourceId": "1000000001",

"operationType": "update",

"inventoryPropertiesUpdateMode": "keepProperties",

"inventories": [

{

"quantity": 1,

"inventoryType": "serialized_with_string_model",

"serialNumber": "serialNumber",

"enumeration_combobox_inventory_p": "1",

"integer_text_inventory_property": "5"

},

{

"inventoryId": 2000000,

"quantity": 10,

"inventoryType": "Nonserialized",

"serialNumber": "SerialNumber2000000"

}

]

}

]

}

Example Response

{

"created": 0,

"updated": 2,

"deleted": 0,

"itemsFailed": 0,

"results": [

{

"resourceId": "1000000001",

"created": 0,

"updated": 2,

"deleted": 0

}

]

}

Example 2

The following is an example where the optional parameter 'inventoryPropertiesUpdateMode' is used in the Bulk Update Activities operation.

Example Request

POST https://api.etadirect.com/rest/ofscCore/v1/activities/custom-actions/bulkUpdate

{

"updateParameters": {

"identifyActivityBy": "activityId",

"ifInFinalStatusThen": "createNew",

"inventoryPropertiesUpdateMode": "keepProperties"

},

"activities": [

{

"activityId": 10000,

"customerName": "Updated via Bulk Update",

"string_text_activity_property": "Custom text",

"inventories": {

"items": [

{

"inventoryType": "serialized_with_string_model",

"serialNumber": "Serial Number Serialized"

}

]

}

}

]

}

Example Response

Here is an example response:

{

"results": [

{

"activityKeys": {

"activityId": 10000,

"apptNumber": "ApptNumber",

"customerNumber": ""

},

"operationsPerformed": [

"updateProperties",

"updateInventories"

]

}

],

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/activities/custom-actions/bulkUpdate"

}

]

}

Steps to Enable

Set the value of the inventoryPropertiesUpdateMode parameter in the Bulk Update Resource Inventories and Bulk Update Activities operations. This indicates whether the existing inventory properties should be replaced or retained and updated with the new properties that are sent in the request. See the examples discussed above.

Support Custom Fields in API for Resource Locations

Starting with update 19B, the Core Resource API supports custom properties in resource locations. You can only specify the custom properties that are used in travel key configuration.

The custom properties of type string, enumeration, and integer can be used in these resource location operations:

  • Create a resource location
  • Get a resource location
  • Get resource locations
  • Update a resource location

NOTE: The activity property needs to be present in the activity travel key configuration in order to be used in resource locations. API functions ignore properties that are not present in the travel key and will not return any error.

CREATE A RESOURCE LOCATION 

Example Request

Here is an example request:

POST /rest/ofscCore/v1/resources/{resourceId}/locations

{

"label": "Warehouse EU1",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"propertyKey1":"value1"

"propertyKey2":"value2"

}

Example Response

Here is an example response:

{

"label": "Warehouse EU1",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"locationId": 3,

"propertyKey1":"value1",

"propertyKey2":"value2",

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/resources/{resourceid}/locations/{locationid}"

},

{

"rel": "describedby",

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

}

]

}

GET A RESOURCE LOCATION

GET /rest/ofscCore/v1/resources/{resourceId}/locations/{locationId}

Example Response

Here is an example response:

{

"label": "Warehouse EU1",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"locationId": 3,

"propertyKey1":"value1",

"propertyKey2":"value2",

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/resources/{resourceid}/locations/{locationid}"

},

{

"rel": "describedby",

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

}

]

}

GET RESOURCE LOCATIONS

GET /rest/ofscCore/v1/resources/{resourceId}/locations

Example Response

Here is an example response:

{

"items": [

{

"label": "test1",

"postalCode": "",

"city": "",

"state": "",

"address": "",

"longitude": 0,

"latitude": 0,

"country": "US",

"locationId": 97

},

{

"label": "Warehouse EU1",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"country": "US",

"locationId": 98

},

{

"label": "Warehouse EU2",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"country": "US",

"NEW_CUSTOM _PROPERTY":"test",

"locationId": 99

},

.........

{

"label": "Warehouse EU44",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"BookingStatisticProperty_3": "value",

"country": "US",

"locationId": 172

}

],

"totalResults": 64,

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/resources/{resourceid}/locations"

},

{

"rel": "describedby",

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

}

]

}

UPDATE A RESOURCE LOCATION

PATCH /rest/ofscCore/v1/resources/{resourceId}/locations/{locationid}

Example Request

Here is an example request:

{

"property":"value"

}

Example Response

Here is an example response:

{

"label": "test",

"postalCode": "32817",

"city": "Orlando",

"state": "FL",

"address": "11350-11398 University Blvd, Orlando",

"longitude": -81.22226,

"latitude": 28.59752,

"status": "manual",

"country": "CA",

"property": "value",

"locationId": 201,

"links": [

{

"rel": "canonical",

"href": "https://api.etadirect.com/rest/ofscCore/v1/resources/{resourceid}/locations/{locationid}?"

},

{

"rel": "describedby",

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

}

]

}

Steps to Enable

See the previous sections to learn how to specify the custom properties that are used in travel key configuration.

Key Resources

Capacity Management

Capacity Configuration in Core Application

Starting with update 19B, you can configure a capacity area using Core Application instead of the Legacy Core Manage.

You can configure capacity area buckets on the Quota Configuration screen.

CONFIGURE THE VISIBILITY FOR QUOTA CONFIGURATION TAB

To access the Quota Configuration screen, you must configure the Read-Only or Read-Write visibility for the user type. Use these steps to configure the visibility:

  1. Log in to the application with a user that has permissions to update the Screen Configuration.
  2. Click Configuration, User Types.
  3. Select the required user type and select the Screen Configuration tab.
  4. Select Quota from the Application Screens section.
  5. Add the "Quota configuration" tab to the existing configuration as ReadOnly, ReadWrite:  

Quota Screen Showing Quota Configuration Tab Details

Quota Screen Showing Quota Configuration Tab Details

CONFIGURE THE CAPACITY AREA BUCKETS

Use these steps to add capacity area buckets in the Quota Configuration screen:

  1. Select Quota.
  2. Click the Configuration icon.
  3. Click the + icon (next to the Search field).

The Add Capacity Area window displays the resource tree with the following icons:

  • Double figure: An organization unit or a bucket.
  • Single figure: Field resource.
  • Full blue filling: The resource tree item cannot be added as a capacity area (since it is already present in the capacity areas).
  • Half blue filling: The resource tree item can be added as a capacity area.
  • Grey icons: An item cannot be added as a capacity area (the tree branch already has another capacity area, or the resource type does not allow it).

Add Capacity Area Window

Add Capacity Area Window

  1. In the Add Capacity Area window, select the capacity area or search for the required capacity area and click OK.

The selected capacity area displays in the left pane. If a selected item cannot be used as a capacity area, a popup message displays “Resource already defined as a Capacity Area,”

Resource Already Defined As a Capacity Area Message

  1. Click Stop using as a Capacity Area to disable capacity areas from the resource tree.
  2. Click Save.

REMOVING A CAPACITY AREA

Use these steps to remove a capacity area.

  1. Click Quota.
  2. Click Stop using as a Capacity Area to disable the capacity area from the resource tree.

Quota Configuration Screen

  1. Click Save.

Steps to Enable

No steps are required to enable this feature.

Key Resources

Collaboration

Usability and User Interface Improvements

As part of update 19B, the following usability and UI improvements are made in the Collaboration module:

  • Group Message enhancements
  • Drag and Drop functionality
  • Expiry for Collaboration messages
  • User interface improvement for Collaboration messages
  • New line messages in Collaboration

GROUP MESSAGE ENHANCEMENTS:

Clicking Start Chat link in a user group with one user initiates a one-to-one conversation:

  • If there is only one user present in the User Group, Location, or Activity Broadcast Group message, then the group message is initiated as a one-to-one conversation.
  • If a user group has only user, then you can select the Start Chat link to initiate a one-to-one chat conversation.

NOTE: If there is only one user in a supervisor group, the one-to-one conversation is initiated, only if the user has permission to chat with another user.

  • The Start Chat link is displayed on the User Group and Location Group Message options.
  • If there is only one user available for the Activity Broadcast message, then the conversation is similar to activity transfer between two users.

Here is an example:

Click Start Chat in a group with one user:

Group With One User - Start Chat

Group with One User

This action initiates One-To-One Conversation

One-to-One Conversation initiated

One-to-One Conversation

DRAG AND DROP FUNCTIONALITY

You can drag and drop resources and activities from the Core Application Dispatch Console.

EXPIRY FOR COLLABORATION MESSAGES

Here are some points related to expiry period for collaboration messages:

  • The expiry period for system chats and automatic broadcasting/activity chats is defaulted to 1 day (24 hours).
  • You can change the default value of 1 day (24 hours) based on your preferences only for group message and location broadcasting. However, you cannot change the default value of 1 day (24 hours) for activity broadcasting and automatic activity broadcasting.
  • System and Automatic broadcasting chats delivered to a user is available in active chats for 24 hours from the time of last message received in the same chat. The broadcasting chats are moved to history after the 1-day (24 hours) period.
  • If there is an expired system or a new activity chat present in an active chat window, then all new messages are added to a new system message or to a new activity chat and the user can view both the expired and new system or activity chats in the active chat window.

USER INTERFACE IMPROVEMENT FOR COLLABORATION MESSAGES

A new user interface view to share user information, and share or transfer inventory or activity:

  • Sender Side Sharing/Transferring Inventory Example

Sharing Inventory Example - Sender

Sharing Inventory Example - Sender View

  • Receiver Side Sharing/Transferring Inventory Example

Sharing Inventory Example - Receiver

Sharing Inventory Example - Receiver

  • Sender Side Sharing/Transferring Activity Example

Sharing Activity Example - Sender

Sharing Activity Example - Sender

  • Receiver Side Sharing/Transferring Activity Example

Sharing Activity Example - Receiver

Sharing Activity Example - Receiver

NEW LINE MESSAGES IN COLLABORATION

Collaboration users can add new line messages by pressing Shift+ Enter key combination. Mobile users can use the Enter key to add a new line. Also, the messages are left aligned in the chat window.

Steps to Enable

No steps are required to enable this feature.

Key Resources

Core Application

Automatic Creation of Mass and Repeating Activities

Earlier, mass and repeating activities appeared in the integrated applications, only when instantiated. Typically, the activities were instantiated when an action such as adding another activity to a route or activating a route was performed. As a result, integrated applications received the activity details late.

Starting with update 19B, you can configure the number of days in advance in which the template activities are created in technicians’ routes automatically.

Steps to Enable

  1. Click Configuration, Business Rules.
  2. Enter a value for "Expose mass and repeating activities in API for the following number of days" in the General section. The default value is '0' (zero), and the maximum value is 30. A value of zero means that such activities are not instantiated automatically, but are created only when a route is created. When you modify the value and save it, Oracle Field Service Cloud scans all the technician routes and instantiates the templates for the dates that match the configured period. If you increase the value, then the application includes more dates into consideration for automatic instantiations. If you decrease the value, then the application does not remove the existing instantiated activities, instead processes fewer dates from then on.

When you add a new resource or change the templates and schedules, the application changes the activities accordingly.

NOTE: The default value (0) is the recommended setting and works perfectly for most needs. Instantiating activities may require significant time, especially if you increase the value when there are many technicians in the application. It also generates a significant amount of transactions such as events (routeCreated, activityCreated) and outbound messages for the "Activity is created" launch conditions. Further, be aware that any modification to a template that has many instances of activities causes a chain of updates to those instances and may consume significant time and resources for large amount of updates. Use this functionality only when it is necessary.

This image shows the Expose mass and repeating activities in API for the following number of days setting on the Business Rules screen.

Key Resources

Improvements to Oracle Field Service Cloud Core Application

Starting with update 19B, the following changes are implemented in the Oracle Field Service Cloud Core Application:

  • Responsive Headers
  • Improvements to Resource Tree
  • Navigation to My Route
  • Activity and Resource Hints
  • Resource Name and Date in Activity Details

RESPONSIVE HEADERS

The following screens will have responsive headers:

  • Dispatch Console
  • Routing
  • Quota
  • Forecasting

For larger screens, most options will be displayed upfront, thereby reducing the number of clicks. For smaller devices, many of the options will be available within an Options menu at the right so that the screen is clutter free with a better user experience.

In addition to headers being made responsive, the look and feel of the headers in all screens have also been modified to provide better and consistent user experience across the application.

Dispatch Console

For devices with larger screens (more than 1024 pixels), the user can view most options upfront without having to navigate a lot within the application.

Dispatch Console Screen

If the user has a device with a small screen (768 to 1023 pixels), the Actions and Split-screen menu will not be displayed upfront and it will be displayed within an Options menu.

Activities Drop Down Menu Options

On further smaller screens (481 to 767 pixels), Actions, View, Routing Plans, and the Split screen will be displayed within the Options menu.

View Options

If the user clicks on ‘View’, options related to View will be displayed replacing the existing content on the screen. 

View Drop-Down List

Similarly, if the user clicks on ‘Routing Plans’, the content related to Routing Plans option will replace the existing content on the screen.

For large mobile devices (376 pixels to 480 pixels), except for the date, all other options will be displayed under the Options menu.

For smaller mobile devices (less than 376 pixels), all options are displayed under the Options menu. The user can select Next and Previous set of dates directly using the left and right arrows present with the Date. In addition, the View, Routing Plans, and Date Picker options will be displayed n the full screen.

Small Screen Date Picker

Routing, Quota, and Forecasting Screens

Similar to the Dispatch Console screen, other screens like Routing, Quota, and Forecasting also support responsive headers.

On large screens, all Actions and Options are displayed upfront.

Similar to the Dispatch Console screen, in devices with smaller screens, more and more options will be displayed under the Options menu.

IMPROVEMENTS TO RESOURCE TREE

Users will have the option to either pin the Resource tree or collapse it at the top left corner in order to better utilize screen space. For larger screens, it may be fine with having the Resource tree pinned to the left side. However, for smaller screens, it is recommended to have the Resource tree in the collapsed state and select the required Resource by opening the Resource tree when required.

This image shows the Dispatch Console screen with Resource tree in Collapsed mode:

Dispatch Console Screen - Resource Tree in Collapsed mode

Resource Tree in Collapsed Mode

This image shows the Dispatch Console screen with Resource tree in Expanded mode:

Dispatch Console Showing Resource Tree - Expanded Mode

Resource Tree - Expanded Mode

This image shows the Dispatch Console screen with Resource tree in Pinned state:

Dispatch Console Showing Resource Tree - Pinned

Resource Tree - Pinned

User can view the change in the following screens:

  • Dispatch Console
  • Manage
  • Maps
  • Routing
  • Quota
  • Forecasting
  • Resources
  • Calendars

The user can adjust Groups in Manage, Calendars, and Maps screens as well in a similar manner. This image shows the Group drop-down menu:

Adjust Groups in Manage, Calendars and Maps Screens

In case of the Resources screen, the user can adjust the resource tree when using the Resource View option.

Resources Screen

Resources Screen

NAVIGATION TO MY ROUTE

This feature includes these changes:

  • The left navigation will be displayed for all users irrespective of whether the user has multiple resources assigned or not. All users can view the main menu based on the user type configuration.
  • There will be an additional item My Route that can be configured for users in the main menu. It is similar to other main menu items and can be configured from the Screen Configuration.

Navigation Menu Showing My Route Option

  • If My Route hasn’t been configured (under Configuration, User Types, Screen Configuration section) for those users who have resources under them and have a route of their own then My Route is displayed as the first item on the main menu. If My Route’ is configured then the position of My Route on the main menu will be as per the configuration.

  • Clicking on this icon takes user to the Route screen. If the 'My route' screen is accessed from the main menu, all other items in the main menu will remain displayed as is.

NOTE: Users who do not have multiple resources associated with the user (typically a field resource) can access the main menu only if the 'Field Resource Landing Page' within Configuration, Display is set to My Route. If it is set to Activity List, these users will not have access to other main menu items and the behavior of the application will be similar to how it was earlier.

  • My route or Previous route that was earlier displayed in the top right menu or main menu in classic view has be removed.
  • If the route screen is accessed using Resource hint in Manage or Dispatch Console, the left main menu and hamburger menu will not be displayed; instead, a back button is displayed as it was appearing previously.

NOTE: 'Dashboard' in the 'Field Resource Landing Page' field is renamed as 'My Route'.

  • The users who do not have a route, cannot view the My Route option.

Configure My Route

You can configure an additional item My Route for users in the Main Menu. It is similar to other main menu items. Use these steps to configure My Route from the Screen Configuration.

To add My Route to the Main Menu:

  1. Navigate to Configuration, User Types. 
  2. Select Main Menu under the Screen Configuration tab, Application Screen.
  3. Select Click to Add and add the My Route menu item.
  4. Configure the visibility conditions and close the editor.

ACTIVITY AND RESOURCE HINTS

This feature includes these changes:

  • Activity and Resource hints in Dispatch Console appear similar to how they appear in the Manage screen, thereby, maintaining consistent look and feel of hints across the application.
  • Actions like Route, Resource Info and Chat available in the Resource hint in Manage will also be available, as Resource hint in Dispatch Console.

Activity and Resource Hints

RESOURCE NAME AND DATE IN ACTIVITY DETAILS

In the Activity details screen, the resource name and date of scheduled activity appear on the header. However, the resource name does not appear if the user is looking at their own Activity details.

Activity Details Screen

Steps to Enable

No steps are required to enable this feature.

Key Resources

Improved Map Zoom and Centering

Zooming and centering of maps is improved as follows:

  • The zoom level of the Dispatch map remains the same, even if users change the route. In other words, when an activity is added or removed from a resource, the map does not 'jump' to the new route. The map boundary and zoom level remain the same after the following actions:
    • Activity is moved to/from the Scheduled panel on the map.
    • Activity is assigned from the Dispatch map (by drag and drop or using the Move option).
    • Activity is moved on another panel (list view, time view, map view).
    • Screens are refreshed (when the frequency of refresh is defined on the 'My display' page; this option is applicable only for Legacy Manage).

The map is re-centered if you click a resource in the Resource Tree or the map icon in the Dispatch Console.

  • When there is no data binding for these maps:
    • Team Map: When no activities, start and end resource locations, or home zones centers of resources from group are available
    • Resource Work Zone maps: When no Work Zones are configured for the selected resource
    • Work Zone configuration map: When no shapes are configured for the selected Work Zones
    • Quota map: When no Work Zones with shapes are configured for the selected bucket

Then, the map is centered based on:

  • The activity location statistics of the area where the company operates.
  • The company boundaries as defined in the Business Rules screen.
  • The whole world.

If the company boundaries are set to a country where it is operating then the whole country is displayed when no data binding exists. If several company boundaries are set, for example, the company operates in several countries across Europe then the map includes all binding areas that are added.

  • Dragging of Google map is improved, so a layer with activities and routes 'sticks' to its map tiles. There is no 'jelly' effect when activity markers lag behind the map while scrolling.
  • When you enable the 'Scheduling' layer, activities available for the user are displayed on the Route map. You can view the Activity details screen from the activity hint. After you navigate back from the Activity details screen, the map is focused on the same area, with the hint opened for the selected activity.

Steps to Enable

No steps are required to enable this feature.

Key Resources

Manage Non-Scheduled Activities on Dispatch Map

Earlier, non-scheduled activities were not displayed on the dispatch map; they were displayed in the List View or the Non-Scheduled panel on the right of the map. Now non-scheduled activities are displayed on the Map view in the Dispatch Console in Oracle Field Service Cloud Core Application. The visualization of non-scheduled activities on the map helps you manage them better. You can perform these tasks with non-scheduled activities:

  • View on the dispatch map
  • View activity details
  • Assign to resources
  • Find activities for idle resources

The non-scheduled panel on the right side of the map was removed from both Legacy Core Manage and the Core Application interface. Now, non-scheduled activities are enabled on Dispatch map using 'Show non-scheduled activities' option in View panel in the Dispatch Console. 

NOT ASSIGNED PANEL

A new Not Assigned panel is displayed on the map instead of Scheduled when a Bucket or Group is selected in Resource Tree. The panel displays activities that are assigned to the bucket for the selected date. The panel also supports filters and 'Apply hierarchically' functionality. The panel is hidden when there are no activities to display.

Not Assigned Panel

ACTIVITIES PRESENTATION

Non-scheduled activities are displayed as round markers of yellow, pink and red color on the Dispatch map. The same approach as on Route map in Core Application is used to display these markers:

Non-scheduled activities can be displayed with scheduled activities on the same map view:

  • for a single resource (technician or bucket) selected in Resource tree
  • for multiple resources - when a group or bucket is selected and Apply hierarchically is selected
  • support the Apply hierarchically option - if selected activities are assigned to child resources, the child resources are displayed as well
  • respect filters from View menu 

VIEW AND ASSIGN NON-SCHEDULED ACTIVITIES

Non-scheduled activities are activities that are not assigned to a specific date. You can view them on the dispatch map to assign them to resources.

  1. Open the Dispatch Console and navigate to the Map view.
  2. Select a bucket in the Resource Tree.
  3. Click View and select Show non-scheduled activities. Click Apply. Non-scheduled activities are displayed as yellow, red, or pink round markers. Activities that overlap on the map are clustered into one marker with a thicker broader. Only the activities assigned to the bucket are displayed. Further, the 'Not assigned' panel is displayed on the map, instead of 'Scheduled'.
  4. Click Apply hierarchically. The non-scheduled activities for the bucket and its child resources are displayed.
  5. To assign an activity to a resource, drag it from the map and drop it to a resource in the Resource Tree.
  6. To move an activity to a bucket, drag and drop it to the required bucket in the Resource Tree, or in the List view or Time view.
  7. To assign multiple activities, drag the clustered marker and drop it to the required resource or bucket, or in the List view or Time view.

Non-Scheduled Activities Assigned to Bucket and Children

SINGLE AND MULTI-HINTS

When a non-scheduled activity is clicked on the dispatch map, the activity hint is displayed. For clustered activities, multiple hints are displayed. This hint has the same properties and links that are configured for the activity hint.

FIND ACTIVITIES FOR AN IDLE RESOURCE

Sometimes buckets may have activities in them that do not have a completion time. And, there could be some resources that may be idle at some point. You can find such resources and assign activities to them.

  1. Open the Dispatch Console and go to the Map view.
  2. Select an idle resource or the bucket where the idle resource is located.
  3. Click View and select 'Show non-scheduled activities' and 'Show resource locations on the map'.
  4. Click View and select 'Apply hierarchically', if you have selected a bucket.
  5. Locate the resource on the map.
  6. Observe the nearest non-scheduled activities on the map.
  7. Determine the activity that is suitable for the resource. Check the details in the activity hint, if required.
  8. Drag the activity to the resource in the Resource Tree.

FILTER ACTIVITIES BY SLA EXPIRATION

Sometimes, you may first want to assign activities for which SLA is about to expire. You can use a custom filter to find the activities for which SLA is expiring within a specified number of days.

Prerequisite: Your administrator must create a filter for example, 'Days before SLA'. The field, Field on the Add filter condition dialog must have a value of Calendar Days Before SLA End [calendar_day_to_sla_window_end]. The field Condition must have a value of <=.

  1. Open the Dispatch Console and go to the Map view.
  2. Click View and select Days before SLA.
  3. Add the number of days that are left for the SLA to expire. Activities that match the criterion are displayed.

MONITOR NOT-ASSIGNED ACTIVITIES FOR THE DAY

The 'Not assigned' panel lets you manage activities that are moved or added to a bucket and must be completed the same day.

  1. Open the Dispatch Console and go to the Map view.
  2. Select the required bucket. Activities assigned to the selected bucket and scheduled for the current date are displayed on map and in the Not-assigned panel on the right.
  3. Select 'Apply hierarchically'. The activities for the child resources in the bucket are displayed on the map.
  4. Click View and select 'Show resource locations on the map'. The locations of the resources in the field are marked on the map.
  5. Observe the resources that are located closer to the activities assigned to the bucket. This way you can determine the nearby resources for not-assigned activities.

Steps to Enable

No steps are required to enable this feature.

Key Resources

Multi-Day Activity Improvements

Earlier, you could start, cancel, and complete a multi-day activity. Starting with update 19B, you can Suspend multi-day activity segments. Suspend works in the same way as a non multi-day activity. When you suspend a segment, you provide the time that is required to complete the remaining part of the segment. In this scenario, the application creates a new, duplicate segment (activity) that can be started at any time throughout the day.

NOTE: You can Suspend only Started or Pending multi-day activity segments.

Here is the result of suspending a multi-day activity segment:

If…

Then…

You suspend a started segment

Two segments, Suspended and Pending not-ordered are created. The original segment becomes not-ordered. The duration of the not-ordered segment is reduced by the duration of the Suspended part. For example, the duration of the segment is 60 minutes and you have worked for 10 minutes before suspending the activity. Then, the Pending segment is created for 50 minutes. The final duration of the not-ordered segment is not less than the minimum duration of the segment defined for the activity type. However, the duration of the not-ordered segment can exceed the "Maximum total duration of segments created for a particular day" constraint.

You suspend a pending ordered segment

The current segment becomes non-ordered. The remaining details are same as the previous row.

You do not work on the pending segment for the rest of the day, and the segment is moved to the bucket

The duration of the outdated segments is added to the length of the not-scheduled segment. Let’s say the not-scheduled segment doesn't exist and there is an outdated segment for which the duration has not been distributed. The application adds this not-scheduled segment through a background process.

Steps to Enable

To suspend a multi-day activity segment:

  1. Log in as a field resource.
  2. Go to the List view.
  3. Identify the started or pending segment that you wish to suspend.
  4. Click Suspend. The Suspend Activity window opens.
  5. Add the reason for suspending the segment and click Submit.

Key Resources

Required Inventory Improvements

Currently, users can specify required inventory for an activity using Legacy Manage or Core API. It is not possible to add, edit, or delete required inventory using Oracle Field Service Cloud Core Application. Starting with update 19B, technicians can add, edit, and delete required inventory for an activity, and add the required inventory from the Parts Catalog.

ADD THE REQUIRED INVENTORY TO AN ACTIVITY

You may want to add some required inventory to an activity, before the resource starts working on the activity, or while they are working on the activity.

  1. Open the Activity details page and click Inventory.
  2. Click Add to Required.
  3. Select an inventory item from the list and add the quantity.
  4. Click Submit. The Inventory List displays the Required Inventory.

 Inventory List Showing Required Inventory

Inventory List Showing Required Inventory

ADD THE REQUIRED INVENTORY FROM THE PARTS CATALOG

You add the Required Inventory from the Parts Catalog, if it is mandatory in your organization.

  1. Make sure that Parts Catalog is selected in the Search Preferences.
  2. Open the Dispatch Console.
  3. Go to the resource or bucket to which the activity is assigned.
  4. Open the Activity details page and click Inventory.
  5. Click Add to Required.
  6. Click Search and search for the item in the Parts Catalog.
  7. Review the details of the required part and then click Select.

Add to Required Showing Parts Catalog

Add to Required Showing Parts Catalog

  1. Fill in the quantity and click Submit. The selected inventory is added to the activity.

Add to Required Showing Selected Inventory

Add to Required Showing Selected Inventory

EDIT THE REQUIRED INVENTORY

After you add an inventory item to an activity, you can only change its quantity.

  1. Open the Dispatch Console.
  2. Go to the resource or bucket to which the activity is assigned.
  3. Open the Activity details page and click Inventory.
  4. Click the inventory item that you want to change.
  5. Click Edit required inventory.
  6. Change the quantity and click Submit. The inventory is updated.

Edit Required Inventory Details

Edit Required Inventory Details

DELETE THE REQUIRED INVENTORY

After you add an inventory item to an activity, you can only change its quantity. If you want to change the model of an existing inventory item, you must first delete the existing item and then add the desired model.

  1. Open the Dispatch Console.
  2. Go to the resource or bucket to which the activity is assigned.
  3. Open the Activity details page and click Inventory.
  4. Click the inventory item that you want to delete.

Required Inventory Details

Required Inventory Details

  1. Click Delete required inventory. The selected item is removed from the activity. 

Delete Required Inventory

Delete Required Inventory

Steps to Enable

Administrators must provide access to the desired resources for the Required Inventory screens, so that the resources can add, edit, and delete Required Inventory.

  1. Follow these steps to provide access to the 'Add Required Inventory' screen:
    1. Click Configuration, User Types.
    2. Select the User type for which you want to provide access.
    3. Open to the Screen configuration tab.
    4. Open the Inventory grid context layout.
    5. Click ‘Click to add’. Search for and select Add to Required.
    6. Click OK.
    7. Click Add new visibility and then click Save. The Add to Required button is added to the Inventory list on the Activity details screen.
  2. Follow these steps to provide access to the Edit required inventory and Delete required inventory screens:
    1. Repeat steps a to c mentioned earlier.
    2. Open the 'Edit required inventory' Inventory context layout.
    3. Add a button and select the 'Edit required inventory' screen. Similarly, add a button and select the Delete required inventory screen.
    4. Click OK and then click Save. The Edit required inventory and Delete required inventory buttons are added to the Inventory list on the Activity details screen.

Key Resources

Support for Group Actions for Resources in Core Application

Earlier, you could not perform actions such as activate, unlock, deactivate, delete, and add resources to a Collaboration Group on multiple resources simultaneously in Oracle Field Service Cloud Core Application. Starting with update 19B, you can perform these actions on multiple resources at once. Further, you can configure access to group actions according to your employee’s responsibilities. For example, you can grant the permissions to assign resources to a Collaboration or Helpdesk group only to the employee who is responsible for Collaboration and Helpdesk.

MODIFY MULTIPLE RESOURCES SIMULTANEOUSLY

You can perform actions such as activate, deactivate, unlock, or delete, on multiple resources simultaneously.

  1. Log in to Oracle Field Service Cloud Core Application and go to the Resources screen.
  2. Filter the list to view the resources of your choice.
  3. Select or tap and hold [on a mobile device] all the resources that you want to modify. The options Activate, Deactivate, Delete, Set Collaboration Group, and Unlock are displayed at the top of the list.
  4. Click the button of your choice. A confirmation dialog appears with the count of resources selected for the action.
  5. Confirm your decision. This screenshot shows the desktop version of the Resources screen with group actions:

Resources Screen with Group Actions on Desktop

Resources Screen with Group Actions on Desktop

This screenshot shows the mobile device version of the Resources screen with group actions:

Resources Screen with Group Actions on Mobile Device

Resources Screen with Group Actions on Mobile Device

This screenshot shows the changes that are about to be applied for Collaboration groups:

Resources Screen Showing Changes Applied to Collaboration Groups

Resources Screen Showing Changes Applied to Collaboration Groups

This table describes the visibility of buttons.

Resource Role/ Visible Buttons

Activate

Deactivate

Delete

Set Collaboration Group

Unlock

Field Resource

Visible if at least one of the selected resources is inactive

Visible if at least one of the selected resources is active

 

Visible if collaboration is configured

Visible if at least one of the selected resources is locked

Tool/Vehicle

Visible if at least one of the selected resources is inactive

Visible if at least one of the selected resources is active

     

User (Manager/Dispatcher/Admin)

Visible if at least one of the selected users is inactive                                          

Visible if at least one of the selected users is active

Visible if at least one user is selected

Visible if collaboration is configured

Visible if at least one of  the selected users is locked

Group/Bucket

Visible if at least one of the selected resources is inactive

Visible if at least one of the selected resources is active

     

FILTER RESOURCES BY COLLABORATION, HELPDESK GROUPS AND LAST LOGIN

This enhancement also includes the option to filter resources by Collaboration and Helpdesk groups and filter resources by last login. This screenshot shows filtering by Collaboration groups:

Filter Resources By Collaboration Groups

Filter Resources by Collaboration Groups

This screenshot displays the Show more link when there are more Collaboration groups that can be displayed on the screen:

Filter Resources Screen Showing More Link

Resources Screen with Show More Link 

This screenshot shows filtering by last login:

Filter Resources By Last Login

Filter Resources by Last Login

This screenshot shows inactive users with the 'X' icon on the 'Resources' and 'Resource info' screens.

Resources Screen Showing Inactive Users

Resources List with Inactive Users

This screenshot shows users who are locked with the 'Lock' icon on the 'Resources' screen.

Locked Resources 

Resources List with Locked Resources 

Steps to Enable

You can provide access to users to select multiple users of a user type to perform actions such as deactivate, unlock, delete, or activate.

NOTE: If a user doesn’t have the permissions to change the resources or users of a particular User type, then the user can't select such resources or users. Verify the Can create users of the following user type setting on the Configuration, User Type, General screen.

  1. Click Configuration, User Types.
  2. Select the user type for which you want to provide the access.
  3. Go to the Screen configuration tab and click Resources under Application screens.
  4. Click Click to add and select Activate, Deactivate, Delete, Set Collaboration Group, and Unlock.
  5. For each button that you just added, click Add new visibility and then click Save. The Activate, Deactivate, Delete, Set Collaboration Group, and Unlock buttons are displayed on the Resources screen, when a user with this permission selects a resource.

Key Resources

Unification of Terms

Starting with update 19B, the terms Action, Action link, and Button are referred to as Button throughout the application and in the end-user documentation.

BUTTONS

The term Button will be used for each element that performs an action or opens the next screen.Button as a graphical element appears in different ways

  • Buttons added to the main menu are displayed without a border:

Main Menu Buttons

Main Menu Buttons

  • Buttons added to the screen area are displayed with a border:

Buttons Appearing on the Screen Area

  • Buttons added to the Landing page are displayed with an icon and are of slightly bigger size.

CONFIGURATION SCREENS

Configuration screens appear with the unified terminology

Steps to Enable

No steps are required to enable this feature.

Key Resources

Integration

ChatBots Integration

With update 19B, you can integrate Oracle Field Service Cloud (OFSC) with Oracle Digital Assistant (ODA). ODA is an environment for creating ChatBots and then deploying them on the channel of your choice. Using ChatBots helps engage technicians in their day to day activities and allows them to work smarter and more productively.

This update includes a sample application that can be used as a reference on how to connect OFSC to ODA. This sample application should be posted to OTN shortly after 19B is in production.

Integrating a chatbot into OFSC will act a personal assistant or a virtual helpdesk that can assist a technician with their day to day jobs, by answering questions from technicians or by notifying predefined events in OFSC, Technicians can take appropriate actions when they receive the right data at the right time.

Prerequisites include:

  • Oracle Digital Assistant: Chatbot functionality is offered to Oracle Field Service Cloud users by the integration of Oracle Digital Assistant (ODA).User should purchase Oracle Digital Assistant separately to get the chatbot service in Oracle Field Service Cloud.
  • Oracle Field Service Cloud Chatbot Sample App: This sample app consists of:
    • Sample service that will relay messages between Oracle Field Service Cloud Collaboration channel and Oracle Digital Assistant by making use of OFSC public REST APIs,
    • Configuration files that will integrate Oracle Field Service Cloud with Oracle Digital Assistant.

You can download this application from OTN and can make use this as a reference for creating sample application or directly use this by hosting  this service to connect with ODA & Field collaboration.

  • Oracle Field Service Cloud Pre-built Skills: The pre-built skills will be posted in OTN as a reference, you can download the skills from OTN and can be used as a skill chatbot or can be used as a reference for building new skills based on your specific requirements.

PREBUILT SKILLS

Oracle Field Service Cloud chatbot is configured with these skills:

Usecase Description Chatbot Conversation

Chatbot acts as an assistant to technician during the activity

Technician Started this an activity and opens Helpdesk to start conversation with chatbot:

Tech1: Show service history

Bot : Here is the service history 02 Oct 2018 Installation: HD-DVR installation completed 16 Nov 2018 HD-DVR Upgrade: cables replaced

Technician performs trouble shooting steps and asks the bot about the signal strength:

Tech1: what is the signal level?

Bot: Signal level looks bad (Rx -17 dBmV, SNR 21.3 dB, Tx 58 dBmv) I do not see an Outage with Network Node AD4056

Tech1: Who is working with the node?

Bot: Tech3. He is online now, do you want me to connect him?

Tech1: yes.

Bot: Sure. Connecting

Tech 2 and Tech 1 collaborate and resolve the issue.

Chatbot helps the technician when activity is not started on time

Bot finds that the technician is near to User site but he has not started the activity

Bot initiates a chat with that technician

Bot: I see that you have been at a User location for a while and you have not started an activity. Do you need help to start the activity?

Tech1 : User is not at home

Bot: Ok. Let me try and contact the User for you. Please stand by ...

Bot: Ok. I was able to contact the User. They said "I will be home in 5 minutes, Please wait!"

Other Conversations in Bot

Category Chatbot Conversation

Greetings

Tech: Hi

Bot: Hi, How may I help you?

Unresolved questions

Tech: nearby technicians?

Bot: I’m sorry, I don’t understand.

Steps to Enable

OFSC –ODA Connector Sample App

Bot connector is a NodeJS based sample app that will be available in OTN shortly after 19B is available in your Production instance. This service connects OFSC field collaboration & ODA and enable transferring of messages between ODA & OFSC. As a first step customer should download the bot connector sample app from OTN site and the service should be executed at customer environment.

Key Resources

Mobility

Display Departure Time on Landing Page

Starting with the 19B Update, the Landing page is improved to display the information related to the start of a working day. New data is provided in the Activate route section of the Landing page and is available for the current day until the route is activated.

The displayed phrase [Leave by, Arrive by, Activate by] and suggested time will vary based on the travel and route conditions. These are the available cases:

  • Travel start time estimated before the shift start time = Leave by {suggested departure time}

Time View Before Shift

Time View - Travel Time Starts Before the Shift

Landing Page Belore Shift

Landing Page - Travel Time Starts Before the Shift

  • Travel starts at shift start time = Leave by {suggested departure time}

Time View - Travel Starts at the Shift Start Time

Idle Before Travel

Landing Page - Travel Starts at the Shift Start Time

  • First activity ETA same as shift start time = Arrive by {time}

Time View - First Activity

Time View - First Activity Has No Travel and Starts at Shift Start

Landing Page - First Activity

Landing Page - First Activity Has No Travel and Starts at Shift Start

  • Idle time before start of travel = Activate by {shift start time}

Time View - Idle Time

Time View - Idle Time After the Shift Starts

Landing Page - Idle Time

Landing Page - Idle Time After the Shift Starts

Travel time is based on estimated travel statistics.

  • 'Travel start is estimated before shift start time' case is possible when part of travel time to first activity is not included in working time.
  • 'First activity ETA is the same as shift start time' case is possible when travel time to first activity is not included in working hours.

Both cases are configured in 'Travel allowance' section on Resource type screen.

Steps to Enable

To configure display departure time on landing page, navigate to Configuration, Resources, and select your option under the Resource Types, 'Travel allowance' section.

Key Resources

Plugin Framework

Set Parameters for a Plug-In Button

Earlier, you could add buttons to plug-ins, but you could not configure them for the following scenarios:

  • Use a plug-in that contains several screens and configure links that open different screens of the plug-in.
  • Use data from another plug-in without storing it in activities or the browser's local storage.
  • Configure different icons for different tiles of the plug-in on the Landing page and change the icon of the tile according to the data in the plug-in.

Starting with update 19B, you can configure the plug-in for all these scenarios, using the Parameters option:

  • Configure parameters for a button associated with a plug-in: You can specify custom parameters for each button of a plug-in. For example, when you click the button, you can open a specific screen in the plug-in. You can implement this on multiple screens, by uploading a single plug-in archive.
  • Update icons for a button on the Landing page: You can update the appearance of each button on the Landing Page separately. You can change the icon when you open Oracle Field Service Cloud Core Application ('initEnd'), after closing ('close') a plug-in, or when a plug-in receives new data in the background mode ('sleep'). You can also associate each plug-in's screen or function with its own icon and text. You can update each icon as needed, no matter with which button you open the plug-in.

Consider this example:

  1. There's a plug-in, which implements three screens: "Catalog", "Cart" and "Order List". Each button has a corresponding icon: 

Buttons Associated With a Plug-In

Buttons Associated with a Plug-In

  1. User clicks "Catalog" and the plug-in shows the list of items available for order.
  2. User selects the items to order and closes the plug-in screen.
  3. The plug-in updates the "Cart", so that it shows the count of the items in the cart: 

Cart Button Showing Count of Items

Cart Button Showing Number of Items Added to Cart

  1. User clicks "Cart" and the plug-in shows the list of ordered items.
  2. User confirms the order and closes the plug-in screen.
  3. The plug-in clears the counter on the "Cart" button and updates the "Order List" button so it shows the number of orders for approval:

Order List Button Showing Number of Orders For Approval 

Order List Button Showing Number of Orders for Approval 

  1. The plug-in prompts Oracle Field Service Cloud to run it in the background every five minutes to get the updated information from the server.
  2. The supervisor of the user approves the order.
  3. The plug-in runs in the background and receives the updated status of the order from the server. It clears the counter on the "Order List" button and highlights it: 

Counter Cleared for Order List

Counter Cleared for Order List

  1. The user sees that the order is processed and approved at a glance, without the need to reopen the plug-in.

Steps to Enable

Administrators must configure the parameters for a button so that the plug-in opens a specific screen, or another plug-in. The data sent to the plug-in during initialization includes the list of all buttons configured for each plug-in with the key-value pairs of configured parameters. When a user opens the plug-in, the ID of the button is passed to the plug-in with the parameters configured for this button. When the plug-in is closed, you can redirect the user to another plug-in, as if the plug-in has been opened through a button, and parameters that are configured for this button are passed to the plugin.

  1. To add a plug-in to a screen:
    1. Click Configure, User Types.
    2. Select the user type for which you want to add a plug-in.
    3. Click Screen configuration.
    4. In the Application screens section, click the screen to which you want to add the plug-in. For example, click Edit/view activity.
    5. In the Visual Form Editor, drag and drop the Button element to the required location.
    6. Click the newly added button element.
    7. Click the pencil icon in the Standard action screen field.
    8. Select Plugins and then select the required plug-in in the Screen field.
    9. Click OK.
  2. To configure the parameters:
    1. Click Add new in the Parameters section:
    2. Enter a name for the parameter in the Name field. For example, defaultScreen to define a screen as the default screen in the plug-in. The maximum length of the name that you can enter is 248 characters.
    3. Enter a value for the parameter. For example, part_order to display the Part order screen as the default screen in the plug-in. The maximum length of the value that you can enter is 4000 characters.
    4. Click Save.

Example to Set the Default Screen

  1. Repeat the procedure for all the parameters that you want to configure. The total combined length of all parameter names and values must not exceed 5000 characters.These parameters are not encrypted when sent to the plug-in.

SAMPLE CODE TO CHANGE THE APPEARANCE OF A PLUG-IN TILE

In the example of the catalog and cart, the Order List tile changes its color when the supervisor approves the order. You can implement such changes to the buttons on the Landing Page by sending the 'buttonsIconData' field in the 'initEnd', 'close' and 'sleep' messages. buttonsIconData is an object, where the key is same as the buttonId of the required button and the value has the same format as iconData.

This table shows the data in the 'initEnd', 'close' and 'sleep' messages that is used for changing appearances:

Message

Field

Description

Init

buttons

List of objects that contain the 'buttonId' and 'params' fields.

buttonId: Context layout item id of the button

params:  Object that represents the parameters, configured for the corresponding context layout item

Open

buttonId

Context layout item id of the button that the user clicks to open the plug-in.

openParams

The parameters that are configured for this button.

Close

buttonId

Context layout item id of the button that the user clicks to open the plug-in.

openParams

The parameters that are configured for this button.

backPluginButtonId

 

List of all buttons that are configured for a plug-in is sent to the plug-in in the 'buttons' field of the 'init' message. This field is a list of objects that contain the 'buttonId' and 'params' fields. buttonId is the 'context layout item id' of the button. 'params' is an object that represents the parameters that are configured for the corresponding context layout item.

The 'open' message contains the buttonId and openParams fields. buttonId is the 'context layout item id' of the button that the user clicks to open the plug-in. openParams contains the parameters that are configured for this button.

If a plugin is opened by sending the backScreen: "plugin_by_label" from another plugin, the buttonId and openParams fields are sent in accordance with the backPluginButtonId param of the 'close' message. If the backPluginOpenParams field of the 'close' message contains the key, which is already configured for the button, the openParams field contains the value that's sent in backPluginOpenParams.

If backPluginButtonId was not set, the 'open' message doesn't contain the buttonId and openParams fields.

init Message

{

"apiVersion": 1,

"method": "init",

"attributeDescription": {

"aid": {

"fieldType": "field",

"entity": "ENTITY_ACTIVITY",

"gui": "text",

"label": "aid",

"title": "Activity ID",

"type": "string",

"access": "READ_WRITE"

}

},

"buttons": [

{

"buttonId": "17155",

"params": {

"defaultScreen": "order-part",

"someOptions": "{showCart: true}"

}

},

{

"buttonId": "17156",

"params": {

"defaultScreen": "search-parts"

}

}

]

}

open Message

{    

"apiVersion": 1,

"method": "open",

"entity": "activityList",

"resource":

{

"pid": 8100059   

 },

"activityList":

{        "4225376":

{            "aid": "4225376"        }

},

"inventoryList": {},

"buttonId": "17155",

"openParams": {

"defaultScreen": "order-part",

"someOptions": "{showCart: true}"

}

}

close Message - Navigate to another plug-in

{   

"apiVersion": 1,

"method": "close",

"backScreen": "plugin_by_label",

"wakeupNeeded": false,

"backPluginLabel": "sample_plugin",

"backPluginButtonId": "17155",

"backPluginOpenParams": {

"someOptions": "{ anotherOption: 123 }",

"thirdParam": null   

}

}

close Message - Navigated from another plug-in

{   

"apiVersion": 1,

"method": "open",

"entity": "activityList",

"resource": {        "pid": 3000001    },

"activityList": {},

"inventoryList": {},

"buttonId": "17155",

"openParams": {

"defaultScreen": "order-part",

"someOptions": "{ anotherOption: 123 }",

"thirdParam": null   

}

}

close Message - Update icons

{   

"apiVersion": 1,

"method": "close",

"backScreen": "default",

"wakeupNeeded": false,

"buttonsIconData": {

"17156": {

"color": "highlight",

"text": "123",

"image": {}        },

"17155": {

"color": "default",

"text": null,

"image": {}        }

}

}

Key Resources

Reporting

Multi-Language Support for Reports

With update 19B, the multi-language capabilities for reports have been improved by considering the translatability aspect. The labels on the reports are easy to translate now.

Label Changes:

Reports

Old Text

New Text

Route Statistics "% Activated <="  "% of Activated <="
Route Statistics "% Completed <=" "% of Completed <="
In Time/Late/Early appointments "% Started In Time <="  "% of Started In Time <="
Inactive users "Days since last login >=" "Days since last login >="
Work Statistics  "Activity duration stats fields" "Stats fields for Activity duration"
Transferred calls, Percent of contacted customers, Last message window size, Percent of accurate last messages "From Date" "Start Date"
Transferred calls, Percent of contacted customers, Last message window size, Percent of accurate last messages "To Date" "End Date"
Routing Report "From Date" "Start Date"
Routing Report "To Date" "End Date"
Route Statistics, In Time/Late/Early appointments, Work Order Statistics, Average number of calls per customer, Average travel time, Route time parameters, Activities by statuses, Post appointment survey calls, Number of active users, Post appointment survey calls - Total, File Storage usage "From Date" "Start Date"

Route Statistics, In Time/Late/Early appointments, Work Order Statistics, Average number of calls per customer, Average travel time, Route time parameters, Activities by statuses, Post appointment survey calls, Post appointment survey calls - Total, File Storage usage

"To Date" "End Date"
Average number of calls per customer, Activities by statuses "in" "Search Category"
Messages Report "Trigger" "Launch Condition"

DASHBOARD TITLES

The Dashboard charts now appear in the new title format.

  • Title format when number of elements is mentioned in the title:

'(ID='23755') {CHART_NAME} ({DATE}, {RESOURCE}, {PAGINATION})'   

This image shows the Percent of customer expectations met dashboard chart displaying the new title:

Dashboard Chart Showing New Title Format

  • Title format when number of elements is not mentioned in the title.

'(ID='23754') {CHART_NAME} ({DATE}, {RESOURCE})' 

This image shows the Activities by statuses dashboard chart displaying the title format:

Dashboard Chart Showing Title Format

Steps to Enable

No steps are required to enable this feature.

Key Resources

Number of Active Users Report

The Number of Active Users report shows the count of active users currently present in the application. The option to select a date and view the number of active users option will not be available in the report. Also the test chart displayed on the number of active users report has been removed.

To view the number of active users, click the Navigation button and then select Number of active users. The Number of active users report shows the current count of active users for each user type.

Number of Active Users Report

Steps to Enable

No steps are required to enable this feature.

Key Resources

Routing

Work Skill Ratio for Immediate Routing of Multi-Day Activities

The assignment of multi-day activities using Immediate Routing has been improved to consider Work Skill Ratio, where a Resource with a higher Work Skill ratio is assigned to work over another resource with a lower ratio.

This feature includes these functionalities:

  • Immediate routing of multi-day activities will use the required work skill ratio and not the preferred work skill ratio. This is different from regular activities.

    • If there are multiple resources capable of finishing multi-day activities during the same day, such activities will now be immediately routed to that resource who has better skills.

    • If there are multiple resources with the same skills level then the activities will be routed to that resource who is capable of finishing them faster.

      If they finish the same day for multi-day activities then the priorities are set by work skill ratios. This ensures that all the activities are not assigned to the same resource.

  • Multi-day activity cannot be assigned due to missing required work skills, work zones or mismatch of working calendars.

Error message changes:

The message "Multi-day activity cannot be assigned within the range defined by Future Days limit"will display as "Multi-day activity cannot be assigned due to missing required work skills, work zones or mismatch of working calendars" now.

Steps to Enable

No steps are required to enable this feature.

Key Resources