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

FSM Configuration Settings (Admin)

  • Dark
    Light

Article Summary

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:

TableDescription
OfficeOffice(s) owning the tasks and technicians. Scheduling is done in a per-office basis.
ServiceTaskA job that needs to be scheduled.
UserTechnicians that can perform the tasks. Only users of role 'Technician' are considered.
AppointmentA 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 ComponentLayout Table NameLayout Action
List of Open TasksServiceTasklist
Open Task DetailsServiceTaskread
Technician PopupUserlist
Appointment PopupAppointmentlist
Appointment DetailsAppointmentread

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

PropertyDefaultDescription
all-offices0If 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-emails0If set to 1, emails will be sent whenever an appointment is locked or unlocked.
calendar-max-time21:00Maximum time in calendar that one can schedule an appointment
calendar-min-time06:00Minimum time in calendar that one can schedule an appointment
calendar-modestimelineDay,timelineWeek,timelineMonth,listWeekList of supported FullCalendar modes.
calendar-modes-defaulttimelineWeekDefault selected FullCalendar mode
calendar-schedule-default-dayMonday,Tuesday,Wednesday,Thursday,FridayDefault list of days that one can schedule an appointment for a technician.
calendar-schedule-default-end-time17:00Default start time that one can schedule an appointment for a technician.
calendar-schedule-default-start-time09:00Default end time that one can schedule an appointment for a technician.
calendar-snap-duration00:30Granularity of time that one can set a start time for an appointment.
datatable-urlhttps://.../adapters/easyclm/schema.phpEasyCLM adapter schema URL.
datatable-{tableName}-listinfoList of fields to display for the table if it doesn't have a layout.
datatable-{tableName}-marker-listinfoList of fields to display for the marker popup for the table if it doesn't have a layout.
datatable-{tableName}-screenidID of ADL screen to go to when opening an external window to display details for the named table.
datatable-{tableName}-layouttypeDatatable layout type to use when opening an external window to display details for the named table.
date-displayformatPHP date format to use for date fields
datetime-displayformatPHP date format to use for date and time fields
email-serverlocalType of email server to use to send invitation emails. May be local, smtp, or adapter.
estimated-hours-default1Number of hours that a task is estimated to take if the task does not provide an estimate.
industryserviceIndusty that this screen is scheduling for. Used to determine the displayed text in this screen.
layouttypeschedulerDatatable layout type to use to fetch layouts for this screen
multi-assign0If set to 1, multiple techs can be assigned to the same task.
multi-day0If set to 1, the scheduler will allow one to create multi-day appointments
multi-day-split1If set to 1, multi-day appointments are split into multiple single-day appointments.
office-check-disable0If set to 1, checking that the technician is the in the same office as the task is disabled.
office-idOffice ID to use if not specified in the URL.
param-prefixeasyclm-Parameter prefix to use for this screen and for calls to the EasyCLM adapter.
range-default25Default range one can select for filtering in-range technicians
range-max150Maximum range one can select for filtering in-range technicians
range-min2Minimum range one can select for filtering in-range technicians
service-status-filter-default1Specifies 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-markers0If set to 1, markers for all appointments will be displayed on the map.
show-only-schedulable1If 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-filter0If set to 1, a task filter dropdown is displayed that filters tasks by their status.
show-service-type-filter1If set to 1, a task filter dropdown is displayed that filters tasks by their type.
smtp-emailFrom address to send emails when using SMTP. Used only when email-server is set to 'smtp'.
smtp-hostHost name of SMTP server. Used only when email-server is set to 'smtp'.
smtp-port587Port number of SMTP server. Used only when email-server is set to 'smtp'.
smtp-usernameUser name used to access SMTP server. Used only when email-server is set to 'smtp'.
smtp-passwordPassword used to access SMTP server. Used only when email-server is set to 'smtp'.
technician-role-ids4Comma 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?