- Print
- DarkLight
FSM Configuration Settings (Admin)
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 & 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 & 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?[[]]&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
, andofficeId
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. |