> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.2cloudnine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Field Service Extension Configuration and Implementation Guide

### **Packages Included in Field Service Extension**

This Configuration Guide to the 2cloudnine Payroll Field Service Extension covers the Field Service
Extension package, which must be installed only after you have successfully completed the
Pre-Installation checklist, detailed later in this document. Following this guide in sequence will ensure
the correct installation and configuration of the Field Service Extension Package.

| Package                                    | Version | Latest Release Date |
| ------------------------------------------ | ------- | ------------------- |
| 2cloudnine Payroll Field Service Extension | v1.25   | 02/09/2025          |

**Important Information**

Only an authorised Salesforce System Administrator, 2cloudnine Consultant or 2cloudnine Partner should
be actioning any installation, configuration items, and/or related tasks.

There may be compulsory and optional configuration items and tasks that need to be completed pre and
post-installation of the package. These will be highlighted in the checklists provided in this document,
with further details given within this document.

It is required that you complete the installation and configuration of the main 2cloudnine Payroll
packages before attempting to install the Field Service Extension Package. You can do so by following
[the steps given in the Configuration Guide To 2cloudnine Payroll Suite. This will ensure that any](https://drive.google.com/open?id=1RtdfwMuXvCelhvZ8Vw63Soi26EUP8z5n)
prerequisite/base configuration needed for the Field Service Extension has also been completed.

The installer will be responsible for ensuring all these configuration items and tasks are completed within
a reasonable timeframe of the package being installed. Please ensure you have familiarised yourself with
all of the requirements before installing the package and ensure you have sufficient time and resources
available. Failing to do so can negatively impact the User experience and stability of 2cloudnine Payroll
and Field Service Extension

This guide should always be accessed from Salesforce and used via your web browser. This will ensure
you are viewing the most recent version of the document. Further, downloading the document and
opening it within desktop programs, such as Adobe, has been found to cause errors when copying and
using the scripts provided for data updates. These errors do not occur when viewed through a browser.

## Read First: How to Use this Configuration Guide

### **What is covered by this Configuration Guide?**

This Configuration Guide outlines the ‘out of the box’ setup of 2cloudnine Field Service Extension.

During the sales process and discovery, where it is identified that the need for further customisations
outside of those built by the 2cloudnine Field Service Extension will be required, this would not be
covered by this Configuration Guide.

### **Task Types**

* General Salesforce Setup
* Custom Settings, Metadata Types, and Setting Configuration
* Wizards and Scripts
* Schedule Jobs
* Records Creation
* Page Layouts and Other User Interfaces
* Base Data / Records Set Up
* Baseline Testing
* Security Set Up
* Data Migration

### **Tasks**

This Configuration Guide is made up of a series of tasks that are either compulsory or optional, that must
be completed to successfully use the 2cloudnine Field Services. Each task is allocated 1 of 3 possible
classifications which are:

* **Compulsory** must be completed regardless of whether the organisation will use the related
  functionality.
* **Conditionally Compulsory** must be completed if the organisation is choosing to use a specific
  functionality within 2cloudnine Field Services. When a task is Conditionally Compulsory we will
  detail the condition(s) that makes it compulsory. If an Org will not be using the specified
  functionality, they will not have to complete the task.
* **Optional** tasks will only need completing to use an optional feature of 2cloudnine Field Services.

In these cases there is often a Default behaviour(s) built into 2cloudnine Field Services and, if the
organisation wishes to use the Default behaviour(s), they don’t have to do anything else. Where
an organisation is not to use the Default behaviour(s), an optional task will be set.

### ### **Responsible Parties**

Due to the nature of the Field Service Extension, the responsibility of completing the tasks outlined may
fall to either Field Service Partners, or 2cloudnine Consultants.

Successful Field Service data integration requires Object configuration and Record maintenance be
completed for both Field Service and 2cloudnine Payroll data. The Installation and Configuration checklist
provides an overview of each task required, as well as identifying the responsible party.

* **Field Service Partners** are responsible for the Field Service Object configuration, Record creation,
  and Record maintenance activities necessary to enable integration.
* **2cloudnine Consultants** are responsible for the Payroll and Field Service Extension Object
  configuration, Record creation, and Record maintenance activities necessary to enable
  integration.

## 1. Pre-Installation

If you are installing into a pre-existing Salesforce org or creating a new Salesforce org, there are
pre-installation tasks that must be completed before the 2cloudnine Field Service Extension package is
installed.

The following checklist summarises the tasks that are to be performed. A higher level of detail on what is
required can be found by following the link to each specific task.

| Task                                                                        | Assignee                  | Requirement    | Completed |
| --------------------------------------------------------------------------- | ------------------------- | -------------- | --------- |
| **Field Service Prerequisites**                                             |                           |                |           |
| ☐ Field Service Licence Provision Check                                     | **2cloudnine Consultant** | **Compulsory** |           |
| ☐ Field Service Enabled Check                                               | **2cloudnine Consultant** | **Compulsory** |           |
| ☐ Install the Field Service Managed Package                                 | **Field Service Partner** | **Compulsory** |           |
| ☐ Configure & Implement the Field Service Manage Package                    | **Field Service Partner** | **Compulsory** |           |
| **2cloudnine Prerequisites**                                                |                           |                |           |
| ☐ Install & Configure 2cloudnine Payroll                                    | **2cloudnine Consultant** | **Compulsory** |           |
| ☐ Install & Configure 2cloudnine Payroll Time2Pay Extension                 | **2cloudnine Consultant** | **Compulsory** |           |
| ☐ Install & Configure 2cloudnine Payroll Communities / Experience Extension | **2cloudnine Consultant** | **Compulsory** |           |
| ☐ Install & Configure 2cloudnine General Ledger                             | **2cloudnine Consultant** | **Compulsory** |           |

### **Field Service Prerequisites**

Once Field Service is enabled, you gain access to a suite of standard objects that you can find in Setup
and as Tabs within Salesforce. These objects contain the core Field Service features, including Work
Orders and Service Appointments.

The Field Service Managed Package builds on these core features and includes:

* A Guided Setup tool that assists creating Field Service records and customising settings.
* A dynamic scheduling console that gives dispatchers and supervisors a bird’s-eye view of all team
  members and scheduled appointments.
* A scheduling optimizer that allocates resources to appointments in the most efficient way
  possible by accounting for worker skill level, travel time, location, and other factors.
* Scheduling policies and triggers that help you customise your scheduling model and display
  preferences.

For instructions on how to configure Field Service for use, please reference this [Salesforce Trailhead and](https://trailhead.salesforce.com/content/learn/projects/install-the-field-service-lightning-managed-package/install-the-field-service-lightning-experience-managed-package)
accompanying [Help guide](https://help.salesforce.com/s/articleView?id=service.fs_set_up.htm\&type=5) to complete the following required tasks:

* Enable Field Service
* Install the Field Service Managed Package
* Manage Field Service Permissions

### **Field Service Licence Provision Check**

Field Service Licences need to be provisioned in the Production Org before the Field Service Extension
Package is installed. You might also require a Sandbox refresh if installing into a Sandbox created before
the Community Licences were provisioned.

Go to **Setup > Company Information**

1. Scroll down to ‘User Licences’.
2. Confirm ‘Field Service’ is listed, the number provisioned, used, and remaining.

### **Field Service Enabled Check**

Please review the Org to ensure Field Service is enabled by following the steps below:

Go to **Settings >** **Field Service Settings**

* The screen should indicate that Field Service is enabled.

### **2cloudnine Prerequisites**

Before you can install the 2cloudnine Field Service Extension package, you must (at a minimum) already
have 2cloudnine Payroll, 2cloudnine Time2Pay Extension, 2cloudnine Payroll Communities/Experience
Extension and the 2cloudnine General Ledger Extension packages installed and configured. Refer to the
Configuration Guide for these here:

| Package                               | Configuration Guide                                        |
| ------------------------------------- | ---------------------------------------------------------- |
| 2cloudnine Payroll                    | Configuration Guide To 2cloudnine Payroll                  |
| 2cloudnine Payroll Time2Pay Extension | 2cloudnine Payroll Time2Pay Extension                      |
| 2cloudnine General Ledger             | Configuration Guide To 2cloudnine Payroll - General Ledger |

## 2. Installation and Configuration Checklist

The following checklist summarises the tasks that are to be performed to install and configure
2cloudnine Payroll. A higher level of detail on what is required can be found by following the link to each
specific task. Each task should be completed in the sequence below to ensure seamless installation and
configuration of the packages.

<table className="pdf-checklist-table">
  <thead>
    <tr>
      <th>Task</th>
      <th>Requirement</th>
      <th>Completed</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td colSpan={3}><strong><a href="#3-package-installation">Package Installation</a></strong></td>
    </tr>

    <tr>
      <td>Install 2cloudnine Field Service Extension</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Installation Process</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#4-custom-settings">Custom Settings</a></strong></td>
    </tr>

    <tr>
      <td>Configure Field Service Custom Settings</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#5-custom-metadata">Custom Metadata</a></strong></td>
    </tr>

    <tr>
      <td>Create New Managed Records for Field Service Permission<br />Sets</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#6-update-field-service-page-layouts">Update Field Service Page Layouts</a></strong></td>
    </tr>

    <tr>
      <td>Expense</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Resource Absence</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Service Resource</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Time Sheet</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Time Sheet Entry</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>User</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#7-update-2cloudnine-page-layouts">Update 2cloudnine Page Layouts</a></strong></td>
    </tr>

    <tr>
      <td>Contact</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Leave Rule</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Payee</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Payee Leave Event</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Timesheet</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Timesheet Entry</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td>Timesheet Item</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#8-scheduled-jobs">Scheduled Jobs</a></strong></td>
    </tr>

    <tr>
      <td>Integration for Field Service Time Sheets</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong><a href="#9-assign-field-service-permissions">Assign Field Service Permissions</a></strong></td>
    </tr>

    <tr>
      <td>Assign User Permissions</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-compulsory"><strong>Compulsory</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>

    <tr>
      <td colSpan={3}><strong>Sandbox Refresh</strong></td>
    </tr>

    <tr>
      <td>Sandbox Refresh</td>
      <td className="pdf-checklist-requirement pdf-checklist-requirement-optional"><strong>Optional</strong></td>

      <td className="pdf-checklist-completed">
        <span className="pdf-checklist-box" aria-hidden="true" />
      </td>
    </tr>
  </tbody>
</table>

## 3. Package Installation

### **Installing Packages**

Please make sure to install the required packages now before completing any further configuration. You
must only proceed further once all the required packages have been installed.

| Package                 | Version | Installation Link                                  |
| ----------------------- | ------- | -------------------------------------------------- |
| Field Service Extension | 1.25    | packaging/installPackage.apexp?p0=04tJ20000 004faZ |

### **Installation Process**

When you install a managed package, you need to select the correct option of either a), b) or c) below, to
ensure access to the Package is provided to the Profiles as needed:

1. Install for Admins Only
2. Install for Specific Profiles - To manually select which Profiles you will be applying the security to.

Please note, you must choose the required option carefully as this step can not be repeated.

To proceed further, you must tick the checkbox ‘I acknowledge that I’m installing a Non-Salesforce
Application that is not authorised for distribution as part of Salesforce’s AppExchange Partner Program.’
After this, you will need to select the **Upgrade** button, which will commence the installation of the
package.

<Frame>
  <img src="https://mintcdn.com/2cloudnine-2edf05eb/1TEygQHVPV4UC-ab/images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-6-1.png?fit=max&auto=format&n=1TEygQHVPV4UC-ab&q=85&s=2f893684965530899766818ba4d2df16" alt="Screenshot from 2cloudnine Field Service Extension Configuration and Implementation Guide" width="410" height="234" data-path="images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-6-1.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/2cloudnine-2edf05eb/1TEygQHVPV4UC-ab/images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-6-2.png?fit=max&auto=format&n=1TEygQHVPV4UC-ab&q=85&s=1998db0820ac042887bd2d14ab434235" alt="Screenshot from 2cloudnine Field Service Extension Configuration and Implementation Guide" width="374" height="368" data-path="images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-6-2.png" />
</Frame>

Salesforce will begin to install the package. If you are presented with dialogue informing you the
installation is taking a while, you can accept and this will return you to the Installed Packages page.
Salesforce will send an email advising when the installation has been completed and the package will be
listed if you refresh the page.

## 4. Custom Settings

Within the 2cloudnine packages are a variety of Custom Settings which enable Users to have a smoother
experience of switching functionality on or off as required in an Org, or to provide required data as
needed for some components to work.

### **Populate Field Service Integration Custom Settings**

Go to **Setup > Custom Settings > Field Service Integration Configuration > Manage**

1. Click on the **New** button to update the values for the Field Service Integration Configuration at an
   Org Wide level (selecting the New button underneath the black line will only apply changes to
   the logged in User).
2. Populate the Field Service Integration Configuration Information fields as follows:
   * **Default** : TRUE
   * **Exclude First Travel of the Day** : \[TRUE/FALSE]
   * **Exclude Last Travel of the Day** : \[TRUE/FALSE]
   * **Owner of Service Resource:** When populated with a valid 18 character User Id the Owner
     of any inserted/updated Service Record will be populated with this value.
   * **Payee Owner is Service Resource Owner:** If checked, the Service Resource Owner will be
     set to be the same as the Payee Owner.

If unchecked the Service Resource Owner will default as the User that has created the
Service Resource record (ie. standard Salesforce).

* **Profile Name** : Nominate the preferred Profile Name, according to Client requirements (i.e.
  ‘Standard Platform User’ or ‘Service Resource - Mobile User (Community Plus)’.
* **Resource Abscence Record Type** : A valid Developer Name of the Record Type for the
  Resource Absence set during the integration of the 2cloudnine Payee Leave Events.
* **Resource Absence End Time** : The default End Time of a Resource Absence (in the format
  \{HH: MM})
* **Resource Absence Start Time** : The default Start Time of a Resource Absence (in the
  format \{HH: MM})
* **Timesheet Entry Break Threshold** : The break threshold for joining Timesheet Entries
  during the integration process in minutes.
* **Timesheet Entry Gap Threshold** : The threshold for joining Timesheet Entries during the
  integration process in minutes.
* **Travel Merge Threshold** : The travel threshold for joining Timesheet Entries during the
  integration process in minutes.
* **Use Existing User** : If set to TRUE, integration will perform validation each time a new
  Service Resource is created. If an existing User is identified for the Service Resource via a
  lookup to the Contact, the records will be automatically related.

3. Once you’ve updated the necessary fields, click on the **Save** button.

## 5. Custom Metadata

### **Create New Managed Records for Field Service Permission Sets**

Go to **Setup > Custom Metadata Types > FS Permission Set > Manage Records**

1. Click on the **New** button and create two new records according to the following values:

Record 1

* **Label** : 2cloudnine Field Service Integration - Base
* **FS Permission Set Name** (API Name of the Permission Set):
  X2cloudnine\_Field\_Service\_Integration (this auto populates)
* **Permission Set Id** : \[the record Id of the X2cloudnine\_Field\_Service\_Integration]
* **Permission Set Name** (API Name of the Permission Set):
  X2cloudnine\_Field\_Service\_Integration

Record 2

* **Label** : 2cloudnine Field Service Integration - Full Access
* **FS Permission Set Nam** e (API Name of the Permission Set):
  X2cloudnine\_Field\_Service\_Integration\_Full\_Access (this auto populates)
* **Permission Set Id** : \[the record Id of the
  X2cloudnine\_Field\_Service\_Integration\_Full\_Access]
* **Permission Set Name** (API Name of the Permission Set):
  X2cloudnine\_Field\_Service\_Integration\_Full\_Access

2. Click on the **Save** button.

### **Configure Field Service Batch Size**

1. Go to **Setup > Custom Metadata Types > Field Service Batch Size > Manage Records**
2. Click on the **New** button and populate the following fields:
   1. **Label** : Batch\_TimesheetIntegration
   2. **Field Service Batch Size Name** : Batch\_TimesheetIntegration
   3. **Batch** **Size** : 50
3. Click on the **Save** button.

## 6. Update Field Service Page Layouts

Updates to Field Service Page Layouts are required for the following Objects, to ensure the Field Service
Extension is able to reference the necessary fields during data integration.

Due to the inherent variance between each implementation of the Field Service package, 2cloudnine
Administrators will need to work with Field Service Partners to identify which specific Page Layouts
require update for each Object.

Failing to add the necessary 2c9 fields to the correct Page Layouts for each of the following Objects will
cause data integration to fail, as the required data will not be available for reference. Please ensure fields
are added to ALL Page Layouts containing Field Service data referenced during integration.

For a comprehensive list of all data referenced by the Field Service Extension, and the corresponding
functionality, please refer to the Field Mapping tables available in the Field Service Extension
Administrator Guide.

### **Expense**

Go to **Setup > Object Manager > Expense** (Standard Object, not Custom Object) **> Page Layouts**

1. Select **Expense Layout** from the list of available Page Layouts.
2. Add the following Related List to the Page Layout:
   * **Pay Condition Allocation**
3. Click on the **Save** button.
4. Repeat for all remaining Page Layouts as required.

### **Resource Absence**

Go to **Setup > Object Manager > Resource Absence > Page Layouts**

1. Select **Resource Absence Layout** from the list of available Page Layouts.
2. Add a new **Section** to the bottom of the Page Layout.
3. In **Section Name**, enter **2cloudnine Information** .
4. Select the **OK** button.
5. Add the following fields to the new Section on the Page Layout (see Figure 1):
   * **Payee Leave Event** (tc9\_efs\_\_Payee\_Leave\_Event\_\_c)
   * **Leave Rule** (tc9\_efs\_\_Leave\_Rule\_\_c)
   * **Leave Type** (tc9\_efs\_\_Leave\_Type\_\_c)
   * **Start Date** (tc9\_efs\_\_Start\_Date\_\_c)
   * **End Date** (tc9\_efs\_\_End\_Date\_\_c)
   * **2c9 Integration Status** (tc9\_efs\_\_Integration\_Status\_\_c)
   * **Last Integration Time** (tc9\_efs\_\_Last\_Integration\_Time\_\_c)
   * **2cloudnine Timesheet Entry** (tc9\_efs\_\_Timesheet\_Entry\_Id\_\_c)
   * **Local Start Time** (tc9\_efs\_\_Local\_Start\_Time\_\_c)
   * **Local End Time** (tc9\_efs\_\_Local\_End\_Time\_\_c)
6. Click on the **Save** button.
7. Repeat for all remaining Page Layouts as required.

<Frame>
  <img src="https://mintcdn.com/2cloudnine-2edf05eb/1TEygQHVPV4UC-ab/images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-9-figure-1.png?fit=max&auto=format&n=1TEygQHVPV4UC-ab&q=85&s=fdd7a4e11a60f6d3ab930d7e0fb5cdcd" alt="Screenshot from 2cloudnine Field Service Extension Configuration and Implementation Guide" width="976" height="292" data-path="images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-9-figure-1.png" />
</Frame>

### **Service Resource**

Go to **Setup > Object Manager > Service Resource > Page Layouts**

1. Select **Service Resource Layout** from the list of available Page Layouts.
2. Add the following field to the Information section of the Page Layout:
   * **Employee** (tc9\_efs\_\_Employee\_\_c)
3. Click on the **Save** button.
4. Repeat for all remaining Page Layouts as required.

<Note>
  **Important Notes**

  *(Service Resource Page Layout Updates)*

  *For Orgs using LWC Page Layouts, please ensure this field is added to the Custom LWC.*
</Note>

### **Time Sheet**

Go to **Setup > Object Manager > Time Sheet > Page Layouts**

1. Select **Time Sheet Layout** from the list of available Page Layouts.
2. Add a new **Section** to the bottom of the Page Layout.
3. In **Section Name**, enter **2cloudnine Information** .
4. Select the **OK** button.
5. Add the following fields to the new Section on the Page Layout (Figure 2):
   * **Do Not Send to 2c9** (tc9\_efs\_\_Do\_Not\_Send\_\_c)
   * **2cloudnine Timesheet** (tc9\_efs\_\_Timesheet\_\_c)
   * **2c9 Integration Status** (tc9\_efs\_\_Integration\_Status\_\_c)
   * **Last Integration Time** (tc9\_efs\_\_Last\_Integration\_Time\_\_c)
6. Click on the **Save** button.
7. Repeat for all remaining Page Layouts as required.

<Frame>
  <img src="https://mintcdn.com/2cloudnine-2edf05eb/1TEygQHVPV4UC-ab/images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-10-figure-2.png?fit=max&auto=format&n=1TEygQHVPV4UC-ab&q=85&s=a36b3a5d9993505714733f74f1370ef7" alt="Screenshot from 2cloudnine Field Service Extension Configuration and Implementation Guide" width="976" height="262" data-path="images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-10-figure-2.png" />
</Frame>

### **Time Sheet Entry**

Go to **Setup > Object Manager > Time Sheet Entry > Page Layouts**

1. Select **Time Sheet Entry Layout** from the list of available Page Layouts.
2. Add a new **Section** to the bottom of the Page Layout.
3. In **Section Name**, enter **2cloudnine Information** .
4. Select the **OK** button.
5. Add the following fields to the new Section on the Page Layout:
6. Add the following fields to the Information section of the Page Layout (Figure 3):
   * **2cloudnine Timesheet Entry** (tc9\_efs\_\_X2c9\_Timesheet\_Entry\_\_c)
   * **Timesheet Entry Type** (tc9\_efs\_\_Timesheet\_Entry\_Type\_\_c)
   * **Resource Absence** (tc9\_efs\_\_Resource\_Absence\_\_c)
   * **Do Not Send to 2c9** (tc9\_efs\_\_Do\_Not\_Send\_\_c)
   * **Start Date** (tc9\_efs\_\_Timesheet\_Entry\_Type\_\_c)
   * **End Date** (tc9\_efs\_\_Timesheet\_Entry\_Type\_\_c)
   * **Local Start Time** (tc9\_efs\_\_Timesheet\_Entry\_Type\_\_c)
   * **Local End Time** (tc9\_efs\_\_Timesheet\_Entry\_Type\_\_c)
   * **Paid Break** (tc9\_efs\_\_Paid\_Break\_\_c)
7. Click on the **Save** button.
8. Repeat for all remaining Page Layouts as required.

<Frame>
  <img src="https://mintcdn.com/2cloudnine-2edf05eb/1TEygQHVPV4UC-ab/images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-11-figure-3.png?fit=max&auto=format&n=1TEygQHVPV4UC-ab&q=85&s=052a14a815547c4d686ba9e84c296f57" alt="Screenshot from 2cloudnine Field Service Extension Configuration and Implementation Guide" width="976" height="296" data-path="images/generated/configuration-guides/2cloudnine-field-service-extension-configuration-and-implementation-guide/2cloudnine-field-service-extension-configuration-and-implementation-guide-pdf-11-figure-3.png" />
</Frame>

### **User**

Go to **Setup > Object Manager > User > Page Layouts**

1. Select **User Page Layouts** from the list of available Page Layouts.
2. Add the following Related List to the Additional Information section of the Page Layout:
   * **Employee Id** (Employee\_Id\_\_c)
3. Click on the **Save** button.

## 7. Update 2cloudnine Page Layouts

Updates to 2c9 Payroll Page Layouts are required for the following Objects, to ensure the Field Service
Extension can reference the necessary fields during data integration.

For a comprehensive list of all data referenced by the Field Service Extension, and the corresponding
functionality, please refer to the Field Mapping tables available in the Field Service Extension
Administrator Guide.

### **Contact**

Go to **Setup > Object Manager > Contact > Page Layouts > Page Layout Assignment**

1. Select the Page Layout used for the Record Type **Employee**
2. Add the following Related Lists to the Page Layout:
   * **Service Resources**
3. Click on the **Save** button.
4. Repeat for any remaining Page Layouts, as required

### **Leave Rule**

Go to **Setup > Object Manager > Timesheet Entry > Page Layouts**

1. Select **TC9PR Leave Rule Layout** from the list of available Page Layouts.
2. Add the following field to the Information section of the Page Layout:
   * **Leave Type** (tc9\_efs\_\_Leave\_Type\_\_c)
3. Click on the **Save** button.
4. Repeat for any remainingPage Layouts, as required.

### **Payee**

Go to **Setup > Object Manager > Payee > Page Layouts**

1. Select **TC9PR Payee Layout** from the list of available Page Layouts.
2. Add the following required field to the Information section of the Page Layout:
   * **Service Resource** (tc9\_efs\_\_Service\_Resource\_\_c)
3. Add the following optional field to the Information section of the Page Layout:
   * **Create Service Resource** (tc9\_efs\_\_Create\_Service\_Resource\_\_c)
4. Click on the **Save** button.
5. Repeat for any remaining Page Layouts, as required.

### **Payee Leave Event**

Go to **Setup > Object Manager > Payee Leave Event > Page Layouts**

1. Select **TC9PR Payee Leave Event Layout** from the list of available Page Layouts.
2. Add the following field to the Information section of the Page Layout:
   * **Field Service Last Integration Time** (tc9\_efs\_\_Field\_Service\_Last\_Integration\_Time\_\_c)
3. Click on the **Save** button.
4. Repeat for any remaining Page Layouts as required, EXCLUDING the Community User Page
   Layout.

### **Timesheet**

Go to **Setup > Object Manager > Timesheet > Page Layouts**

1. Select **Time2Pay Timesheet** from the list of available Page Layouts.
2. Add the following Field to the Page Layout:
   * **FS Timesheet Id**
3. Add the following Related List to the Page Layout:
   * **Time Sheets**
4. Click on the **Save** button.
5. Repeat for any remaining Page Layouts, as required.

### **Timesheet Entry**

Go to **Setup > Object Manager > Timesheet Entry > Page Layouts**

1. Select **Time2Pay Timesheet Entry** from the list of available Page Layouts.
2. Add the following field to the Information section of the Page Layout:
   * **Leave Type** (tc9\_efs\_\_Leave\_Type\_\_c)
3. Add the following Related Lists to the Page Layout:
   * **Resource Absences**
   * **Time Sheet Entries**
4. Click on the **Save** button.
5. Repeat for any remaining Page Layouts, as required.

### **Timesheet Item**

Go to **Setup > Object Manager > Timesheet Item > Page Layouts**

1. Select **TC9ET Timesheet Item Layout** from the list of available Page Layouts.
2. Add the following Related Lists to the Page Layout:
   * **FS Timesheet** (tc9\_efs\_\_FS\_Timesheet\_\_c)
   * **FS Expense** (tc9\_efs\_\_FS\_Expense\_\_c)
   * **Pay Condition** (tc9\_efs\_\_FS\_Pay\_Condition\_\_c)
3. Click on the **Save** button.
4. Repeat for any remaining Page Layouts, as required.

## 8. Scheduled Jobs

### **Integration for Field Service Time Sheets**

Below is the script required to integrate Field Service Time Sheets. If it is not already configured, it must
be manually set as a Scheduled Job.

To schedule scripts:

1. Copy the block of script to be scheduled.
2. Select **Setup > Developer Console**
3. Select **Debug > Open Execute Anonymous Window**
4. Delete or comment out any code that is in the window
5. Paste in the copied script from below.
6. Click the **Execute** button.

### **Script for Integration of Field Service Time Sheets**

```apex theme={null}
System.schedule('ScheduleBatch_TimesheetIntegration 10', '0 10 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
System.schedule('ScheduleBatch_TimesheetIntegration 20', '0 20 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
System.schedule('ScheduleBatch_TimesheetIntegration 30', '0 30 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
System.schedule('ScheduleBatch_TimesheetIntegration 40', '0 40 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
System.schedule('ScheduleBatch_TimesheetIntegration 50', '0 50 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
System.schedule('ScheduleBatch_TimesheetIntegration 00', '0 00 * * * ?', new tc9_efs.ScheduleBatch_TimesheetIntegration());
```

### **Script for Bulk Creation of Resource Absences**

```apex theme={null}
System.schedule('ScheduleCreateResourceAbsence 20', '0 20 * * * ?', new tc9_efs.ScheduleBatch_CreateResourceAbsence());
```

## 9. Assign Field Service Permissions

Permissions for Field Service Objects should be managed by the Field Service Implementation Partner,
and are not maintained by 2cloudnine. Please refer to Pre-Installation activity Manage Field Service
Permissions for more information on this subject.

### **Assign Field Service Permissions**

To provide suitable access for troubleshooting and general support of the Field Service Extension, assign
one of the following Permission Sets to the appropriate 2cloudnine User:

1. Base Access
   * **Permission Set** : 2cloudnine Field Service Integration - Base
   * **Description** : Provides the base level required access to use 2cloudnine Field Service
     Integration. This Permission Set assumes that you have the 2cloudnine Time2Pay and
     2cloudnine Payroll Permission Set assigned.
2. Full Access
   * **Permission Set** : 2cloudnine Field Service Integration - Full Access
   * **Description** : Provides the full access to use 2cloudnine Field Service Integration. You do
     not need any other Permission Set assigned to the User to use 2cloudnine Field Service
     Integration.

Go to **Setup > Permission Sets > 2cloudnine Field Service Integration - Base > Manage Assignments >**

### **Add Assignments**

1. Select the checkboxes next to the appropriate User(s)
2. Select the **Next** button.
3. Select the radio button of No Expiration, or Specify the expiration date and select the expiration
   period from the available options.
4. Select the **Assign** button.
5. Select the **Done** button.

Go to **Setup > Permission Sets > 2cloudnine Field Service Integration - Full Access > Manage**

### **Assignments > Add Assignments**

1. Select the checkboxes next to the appropriate User(s)
2. Select the **Next** button.
3. Select the radio button of No Expiration or Specify the expiration date and select the expiration
   period from the available options.
4. Select the **Assign** button.
5. Select the **Done** button.
6. Sandbox Refresh\*\*

It is recommended for each Org’s Sandbox to be refreshed at this time, so that suitable testing can be
performed within the Sandbox when required. For comprehensive steps on how to create or refresh the
Sandbox and ensure 2cloudnine Payroll continues to work successfully within there, please refer to the
[2cloudnine Sandbox Creation & Refresh Guide.](https://drive.google.com/file/d/158l7iBc57n1vHDs2575nJtEBit2F4i5z/view?usp=sharing)

In addition to the steps detailed within the above guide, please ensure that the script mentioned in Step
8 above, required for Integration of Field Service Timesheets, is also rescheduled in the Sandbox, to
ensure it continues to work successfully.
