FSM Configuration Settings (Admin)
  • 08 Jun 2022
  • 7 Minutes to read
  • Contributors
  • Dark
    Light

FSM Configuration Settings (Admin)

  • Dark
    Light

Mobileforce Field Service Management (FSM) can be configured with the following settings which govern the behavior of the Schedule and Dispatch screen.

Please note: The settings described herein can only be set and modified by Mobileforce FSM Administrators. For help with these settings, please contact your Mobileforce FSM Administrator.

This screen allows a dispatcher to schedule service tasks within an office. A user-friendly
UI displays these scheduled task in a calendar. Also, the locations of tasks and
technicians are displayed within a google street map.

The key objects used by the Schedule & Dispatch object
are as follows:

Table Description
Office Office(s) owning the tasks and technicians. Scheduling is done in a per-office basis.
ServiceTask A job that needs to be scheduled.
User Technicians that can perform the tasks. Only users of role 'Technician' are considered.
Appointment A scheduled task

UI

There is no top-level screen type because Schedule and Dispatch is designed to be an inner screen that is invoked after selecting an office.

The URL for the dispatch and schedule screen is

scheduledispatch.php?path=...&s=...&officeId=...

It requires three parameters, path, s, and officeId. path and s are the standard
adlwebui parameters. officeId is the ID of the office EasyCLM object to schedule for.

There are two ways one can configurer the schedule & dispatch screen, depending
on whether the application has one office or multiple offices

Configuration for a single office scheduling

For single-office scheduling, the office ID is hard-wired into the URL. The adlwebui-extension
property causes the web screen to go directly to the given URL instead of using an iframe.
Also, it will automatically append the path and s parameters.

<screen type="web" name="Schedule &amp; Dispatch"
        iconportrait="..." iconlandscape="..." acl=""
        url="https://apps.mobileforcesoftware.com/adlwebui/scheduledispatch.php?officeId=1" >
  <data>
    <prop key="screenid">scheddisp</prop>
    <prop key="param-prefix">easyclm-</prop>
    <prop key="adlwebui-extension">1</prop>
    (other props)
  </data>
</screen>

Configuration for multiple office scheduling

For multiple-office scheduling, the top-level Schedule & Dispatch screen is a datatable screen that
displays all offices. It is configured such that clicking on a office will open
the schedule & dispatch screen. Also, updates are disabled for this screen.

<screen type="datatable" name="Schedule &amp; Dispatch"
        iconportrait="..." iconlandscape="..." acl=""
        url="https://apps.mobileforcesoftware.com/adapters/easyclm/schema.php#Office" >
  <data>
    <prop key="screenid">scheddisp</prop>
    <prop key="param-prefix">easyclm-</prop>
    <prop key="listitem-link-template-Office">scheduledispatchscreen.php?[[]]&amp;officeId=[id]</prop>
    <prop key="table-actions-Office">list</prop>
    <prop key="content-body-header">Please select an office.</prop>
    (other props)
  </data>
</screen>

Customizing displayed fields

The Schedule & Dispatch screen displays detailed data from tasks, technicians, and appointments.
Customers may need to change what info is displayed by default, perhaps showing custom fields.
To support this, the Schedule & Dispatch screen uses datatable layouts to allow customization
of list data, popups, and detailed info.

To customize a particular list, popup or object details, create a layout with the layout type set
to 'scheduler'. (This layout type can be changed via the configuration property 'layouttype'). The table
below shows which UI component map to which layouts

UI Component Layout Table Name Layout Action
List of Open Tasks ServiceTask list
Open Task Details ServiceTask read
Technician Popup User list
Appointment Popup Appointment list
Appointment Details Appointment read

Customizing global action buttons

Scheduling often requires customized actions, such as autoscheduling or custom-built tools
for a customer. To support this, the Schedule & Dispatch screen allows one to add custom
global actions buttons to the top right of the screen. This is done via configuration properties
of the form action-button-{id}, where {id} is an unique identifier for the button.
The value of the button is a tuple of value separated via the pipe ('|') char. The values
of this tuple are as follows:

  • Displayed label for the button
  • (optional) Target for the button. Can be 'link', 'tab', or 'window'.
    • If 'window', (the default), a new window will be opened to display the target link.
    • If 'tab', the link will open in a new tab
    • If 'link', the link will open in the current page
  • (optional) Additional CSS class(es) to add to the button.
  • Link to go to when the button is clicked. The path, s, and officeId parameters will be automatically added to this URL.

Some example properties are:

<prop key="scheduler-action-button-plugRoute">Plug Route|https://apps.mobileforcesoftware.com/customers/servicevelocity/servicevelocity/calendar/scheduler/php/plug_route.php</prop>
<prop key="scheduler-action-button-smartRoute">Smart Route|https://apps.mobileforcesoftware.com/customers/servicevelocity/servicevelocity/calendar/scheduler/php/smart_route.php</prop>
<prop key="scheduler-action-button-mapAppointment">Map Appt.|https://apps.mobileforcesoftware.com/customers/servicevelocity/servicevelocity/calendar/scheduler/php/mapAppointment.php</prop>

Configuration properties

The Schedule & Dispatch screen can be customized through several properties that can be either in the screen itself, or in the parent app or applet elements. These properties can also be prefixed either by the screen's parameter-prefix, specified by the param-prefix screen property, or by the global scheduler- parameter-prefix. This parameter prefix is optional when specified within the screen but required in the app or applet elements. For example, the property min-range can be specified as just min-range within the screen element, or as scheduler-min-range or easyclm-min-range when specified within the screen, applet, or app elements. This example assumes that the screen prop param-prefix is set to easyclm-.

The table below lists all supported configuration properties

Property Default Description
all-offices 0 If 1, one can display all tasks, techs, and appts for all offices at once.
action-button-{id} Data for a global action button to display on the top-right of the screen.
appointment-emails 0 If set to 1, emails will be sent whenever an appointment is locked or unlocked.
calendar-max-time 21:00 Maximum time in calendar that one can schedule an appointment
calendar-min-time 06:00 Minimum time in calendar that one can schedule an appointment
calendar-modes timelineDay,timelineWeek,timelineMonth,listWeek List of supported FullCalendar modes.
calendar-modes-default timelineWeek Default selected FullCalendar mode
calendar-schedule-default-day Monday,Tuesday,Wednesday,Thursday,Friday Default list of days that one can schedule an appointment for a technician.
calendar-schedule-default-end-time 17:00 Default start time that one can schedule an appointment for a technician.
calendar-schedule-default-start-time 09:00 Default end time that one can schedule an appointment for a technician.
calendar-snap-duration 00:30 Granularity of time that one can set a start time for an appointment.
datatable-url https://.../adapters/easyclm/schema.php EasyCLM adapter schema URL.
datatable-{tableName}-listinfo List of fields to display for the table if it doesn't have a layout.
datatable-{tableName}-marker-listinfo List of fields to display for the marker popup for the table if it doesn't have a layout.
datatable-{tableName}-screenid ID of ADL screen to go to when opening an external window to display details for the named table.
datatable-{tableName}-layouttype Datatable layout type to use when opening an external window to display details for the named table.
date-displayformat PHP date format to use for date fields
datetime-displayformat PHP date format to use for date and time fields
email-server local Type of email server to use to send invitation emails. May be local, smtp, or adapter.
estimated-hours-default 1 Number of hours that a task is estimated to take if the task does not provide an estimate.
industry service Industy that this screen is scheduling for. Used to determine the displayed text in this screen.
layouttype scheduler Datatable layout type to use to fetch layouts for this screen
multi-assign 0 If set to 1, multiple techs can be assigned to the same task.
multi-day 0 If set to 1, the scheduler will allow one to create multi-day appointments
multi-day-split 1 If set to 1, multi-day appointments are split into multiple single-day appointments.
office-check-disable 0 If set to 1, checking that the technician is the in the same office as the task is disabled.
office-id Office ID to use if not specified in the URL.
param-prefix easyclm- Parameter prefix to use for this screen and for calls to the EasyCLM adapter.
range-default 25 Default range one can select for filtering in-range technicians
range-max 150 Maximum range one can select for filtering in-range technicians
range-min 2 Minimum range one can select for filtering in-range technicians
service-status-filter-default 1 Specifies the default value for the task status filter. It may be set to either the ID or the label of the status.
service-type-filter-default *any* Specifies the default value for the task type filter. It may be set to either the ID or the label of the type.
show-assigned-appointment-markers 0 If set to 1, markers for all appointments will be displayed on the map.
show-only-schedulable 1 If set to 1, only open or assigned tasks with field 'to_be_scheduled' set to 1 will be displayed. This flag has no effect on tasks that are not open or assigned.
show-service-status-filter 0 If set to 1, a task filter dropdown is displayed that filters tasks by their status.
show-service-type-filter 1 If set to 1, a task filter dropdown is displayed that filters tasks by their type.
smtp-email From address to send emails when using SMTP. Used only when email-server is set to 'smtp'.
smtp-host Host name of SMTP server. Used only when email-server is set to 'smtp'.
smtp-port 587 Port number of SMTP server. Used only when email-server is set to 'smtp'.
smtp-username User name used to access SMTP server. Used only when email-server is set to 'smtp'.
smtp-password Password used to access SMTP server. Used only when email-server is set to 'smtp'.
technician-role-ids 4 Comma separated list of EasyCLM Role object IDs for technician roles. This is used to determine which users are technicians.
timezone (server timezone) Server timezone to use for this page.

Was this article helpful?