Application-Level Control of Properties
  • 19 Sep 2023
  • 10 Minutes to read
  • Contributors
  • Dark
    Light

Application-Level Control of Properties

  • Dark
    Light

Article Summary

Mobileforce provides CRM-based solutions, which can be customized to suit the needs of every organization. Additionally, Mobileforce provides many application-level features and properties that may not be applicable for every customer or organization.

Example:

Mobileforce FMS allows dispatchers to select an office from the Schedule & Dispatch page. However, if an organization has only a single location, then they may work with Mobileforce to have the Office property turned off.

If you want any of the properties listed below enabled or disabled, please contact Mobileforce support.

Best Practice:

Mobileforce recommends that organizations take time to review whether these properties are not currently needed, as well as if they will be needed in the future. Some properties cannot be easily enabled or disabled once the Mobileforce application is in use.

Mobileforce Configure, Price, Quote (CPQ) properties

Since Configure, Price, and Quote is a well defined application, its components, structures, and their properties are also well documented. The following API specification provides methods for reading and updating various objects that are manipulated by the CPQ Application: such as Products, Quotes, and Pricing.

The APIs documented here provide the most common operations such as Create, Read, Update, Delete, List, Search. Please contact Mobileforce support for help in setting up various properties relating to the CPQ Application

Best Practice:

Mobileforce recommends that you review the properties described using these APIs, so you understand the capabilities of Mobileforce CPQ before you start using it.

The API documentation is provided to help you understand the Mobileforce application, not to directly use the APIs without consulting Mobileforce Support.

For more information, see Mobileforce CPQ APIs.

Update CRM fields when writing a quote to CRM

Whenever a quote is written back to CRM, you can configure Mobileforce CPQ to indicate the specific properties (fields) of an object that need to be updated.

When a quote is based off of a source CRM Deal or Opportunity object, then you can specify the property: crm-deal-properties-to-update. For example, for Hubspot, the specific property is hubspot-deal-properties-to-update

Here's how you'd use this property (assuming the deal has two fields: Deal Type and Balance Due.

<prop key="hubspot-deal-properties-to-update">{"Deal Type" : "cpq_dealtype", "Balance Due" : "cpq_balance_due)"}</prop>

Mobileforce Field Service Management (FSM) properties

Since Field Service Management (FSM) is rather expansive and includes many (often disjoint) capabilities, the description of the properties that control the behavior of FSM is also expansive and by no means intended to be a complete specification. Listed here are some of the most commonly used properties of Mobileforce FSM application.

Single Office vs Multiple Office

This property affects the Schedule & Dispatch Screen.

If set to Multiple Office, the Schedule & Dispatch Screen at the very top provides a drop down for the Dispatcher to select a specific office (from amongst the many offices that you may have). Alternatively, The Screen can also be customized so specific dispatchers (depending on their level of Access Control) can only see specific Offices. In addition, the selection of the office also determines (a) which service tasks are shown in the service tasks section (these are the tasks assigned to that specific office) and (b) which technicians are shown in the technician/calendar section (these are the technicians assigned to that specific office). In addition the map view also shows a view port around the specific address of the selected office. All these dependent sections of the Schedule and Dispatch screen change when a different office is selected.

If this property is set to single office, then the Schedule & DIspatch screen only shows that single office, with service tasks for that office, and technicians assigned to that office. Additionally, the map view shows a view port of that specific office, along with the surrounding areas.

Please contact Mobileforce Support to customize this setting for your business' specific needs.

Customizing displayed fields

The Schedule & Dispatch screen displays attributes of tasks, technicians, and appointments.
Customers may need to customize 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.

Please contact Mobileforce Support to create a layout specific to your business needs. 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 scheduling and dispatching as well as routing
for a customer. The Schedule & Dispatch screen allows one to add custom
global actions buttons to the top right of the screen, such as "Plug Route", "Smart Route", "Auto Schedule", and "Map Appointments".
This is done via Application Level Properties. Please contact Mobileforce Support to help implement custom global actions for Scheduling and Routing, that address your specific business needs.

Field Service Application Level Properties

The table below lists all supported Field Service properties. Please contact Mobileforce Support for customization of these properties for your needs.

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.
assignable-status-ids1 or 1,2A comma-separated list of service task status IDs for service tasks that one can create appointments for.
calendar-hide-skills0If set to 1, hide the skills column in the calendar section.
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.
calendar-viewby-defaultbyTechDefault View-By mode for the calendar. May be 'byTask' or 'byTech'.
datatable-url../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.
hide-map-default0If 1, the map section will be hidden by default
ignore-to-be-scheduled0If 1, don't check the tasks' to_be_scheduled field when determining which tasks are open.
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.
only-my-office0If 1, if the logged in user has an office, then the scheduler will display only that office. The user will not be able to see tasks for other offices.
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.
tasks-orderbyPriority, Status, ServiceByDateCustom orderby for ServiceTask List at top left

Offline Access Properties

The folllowing properties control the offline capabilities of the Mobileforce Mobile App.

  • offline-enable Enable offline access in Mobile App
  • offline-sync-tables Specify a list of tables that need to be sync-ed for offline access.

For example,

  <prop key="offline-sync-tables">OfflineQuote,OfflineQuoteLineItem,OrderPadBookPrice,OrderPadCSP,OrderPadCustomers,OrderPadLastPriceZLST,OrderPadLastPriceZSSP,OrderPadProducts,OrderPadRangePrice</prop>
  • offline-sync-up-to-date-tables Specific tables from the mobile app that are to be sync-ed back with the backend when the device goes back online.

For example,

    <prop key="offline-sync-up-to-date-tables">OfflineQuote,OfflineQuoteLineItem</prop>
  • offline-cache-sqlite whether (or not) to cache offline data in a sqlite table.

For example,

   <prop key="offline-cache-sqlite">1</prop>

Deleting Quotes

As an Admin, you can enable deletes from the CPQ quotes list screen by setting the ADL property** cpq-list-delete** to 1.

   <prop key="cpq-list-delete">1</prop>

This is a dangerous operation, since deletes are irrevocable. If the user deletes the wrong quote, they will need to call Mobileforce support, in order to restore a backup copy of the entire database server to manually pull the database records for the quote they deleted. This is an expensive operation and will incur additional charges.

Closing/ReOpening Quotes

An admin can enable closing and reopening of quotes from the list screen by setting ADL property cpq-list-close to 1.

   <prop key="cpq-list-close">1</prop>

The close can be thought of as an undoable delete, where the command hides the quote from the list screen instead of removing from the system. Closing a quote is safer than deleting it, and Mobileforce recommends you always close a quote rather than deleting it.

Control of Export of Mobileforce Tables

By default, Mobileforce tables can be exported from the UI (as CSV) whenever the export option is available.However, there can be cases when one would like to suppress the export of tables.

A CPQ Admin can use the following
ADL properties that allow one to enable or
disable the Export as CSV command for datatables tables or tablerefs.

Note that the wider scope property would over-ride the narrower scope property

Prop KeyBehavior
datatable-list-exportEnable Export as CSV for all list screens
datatable-list-export-{table}Enable Export as CSV for the list screens with the given table ID.
datatable-tableref-exportEnable Export as CSV for all tablerefs.
datatable-tableref-export-{table}Enable Export as CSV for the tableref with the given table ID

Was this article helpful?

What's Next