Mobility Application Configuration Object


The Mobility Application Configuration object defines configuration settings used by the mobile application. 

On this page:

Related pages:

Mobility Application Configuration Object Formats

JSON Format
 {
    "_default": "Default",
    "Dashboard": [
        "Info",
        "Alerts",
        "InProgress",
        "UserStatus",
        "Schedule",
        "TimeEntry",
        "Inventory",
        "ComStatus"
    ],
    "NavModules": [
        "Schedule",
        "Inventory",
        "TimeEntry",
        "Social"
    ],
    "weekStartDay": "Tuesday",
    "gpsPollingInternval": 15000,
    "pingIntervalInSeconds": 30,
    "gpsPingPrivacyEnabled": true,
    "logLevel": "4",
    "WebSocketsUrl": "${WS}//${HOST}:61614/fieldservice",
    "authConfigUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/AuthorizationCfg",
    "autoPoll": "-10",
    "DXTimeout": "14400",
    "DataRefreshQ": "UserDataRefreshRequest",
    "msgRetryTimeout": "5000",
    "msgMaxRetryCount": "3",
    "largeMsgSize": "50000",
    "allowTimeEntryOverlap": "false",
    "DiagnosticsUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v1/diagnostics",
    "SupportPhoneNumber": "000-555-1212",
    "SupportEmail": "",
    "photoCacheSize": "5",
    "dataUpdateNotificationsEnabled": "true",
    "imageBaseUrl": "https://s3.amazonaws.com/SPMobility/",
    "imageKeyUrl": "{module_id}/{entity_pkey}/{biz_key}/{image_name}",
    "videoKeyUrl": "{module_id}/{entity_pkey}/{biz_key}/videos/{image_name}",
    "paymentUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/Payment/Charge?format=json",
    "productSearchThreshold": 250,
    "productSearchDefaultFilters": [
    ],
    "inventorySearchThreshold": 250,
    "partRequestQty": 10,
    "partRequestUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/query/Products?q={0}::in:ProdNum,Desc&filters=IsOffLine==0&start={1}&limit={2}&sort=ProdNum",
    "partsLocatorUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/PartsLocator",
    "userStatusEnabled": true,
    "largeFormFactorEnabled": true,
    "enableTextSelect": true,
    "barcodeSymbologies": [
        "code_39_reader",
        "code_128_reader",
        "upc_reader"
    ],
    "emailValidationRegex": "/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i",
    "phoneValidationRegex": "^[2-9]\\d{9}$",
    "scanCameraIdx": 1,
    "messageboxTimeoutInSeconds": 20,
    "defaultUITemplateType": "SERVICEPOWER_FIELDSERVICE",
    "systemAlertsEnabled": true,
    "dataSyncTimeoutInMilliseconds": 2000,
    "dataIntegrity": {
        "dataIntegrityVerificationEnabled": true,
        "fixEnabled": true,
        "warnEnabled": true
    },
    "purgeValues": {
        "workOrder": "7",
        "inventory": "7",
        "timeEntry": "7",
        "systemAlerts": "7",
        "logEntries": "2",
        "stockLevels": "-1"
    },
    "TimeEntry": {
        "timecardEnabled": "true"
    },
    "Inventory": {
        "editDispositionEnabled": true,
        "loadReminderInDays": 31,
        "canDismissLoadReminder": false,
        "verifyTransfers": false,
        "defaultTransferRMADisposition": "1001",
        "transferRMADispositionFilterEnabled": false,
        "transferRMADispositionFilter": [
            "1002"
        ],
        "stockLevelRecommendationEnabled": true,
        "adjustInventoryEnabled": true,
        "defaultLoadListFilter": "all"
    },
    "Activity": {
        "menuTabs": [
            "Remarks",
            "Overview",
            "Forms"
        ],
        "previewTabs": [
            "Remarks",
            "Overview",
            "Forms"
        ],
        "previewNotesEnabled": true,
        "editStartEndTimeEnabled": true
    },
    "WorkOrder": {
        "menuTabs": [
            "Overview",
            "Assets",
            "History",
            "LineItems",
            "Tasks",
            "Forms",
            "Remarks",
            "Alerts",
            "Estimate",
            "Media"
        ],
        "previewTabs": [
            "Overview",
            "Assets",
            "History",
            "LineItems",
            "Tasks",
            "Forms",
            "Remarks",
            "Estimate"
        ],
        "newWorkOrderFields": [
            "Type",
            "Description",
            "Location",
            "Asset",
            "LineItems"
        ],
        "defaultPartsDelivery": "1002",
        "createPartsEnabled": "true",
        "hideTimeBanner": "false",
        "saveRejected": "true",
        "editStartEndTimeEnabled": true,
        "warrantyReasonRequired": "true",
        "rejectThresholdInMinutes": 1600,
        "openWorkOrderThresholdInMinutes": 1600,
        "followupReturnDays": 10,
        "followupPartsAvailableDatePadding": 5,
        "allowInvOverage": "false",
        "pauseWorkOrderEnabled": true,
        "pauseTravelEnabled": "true",
        "pauseTaskEnabled": false,
        "travelEnabled": "true",
        "mappingEnabled": "true",
        "returnsEnabled": "true",
        "orderedItemsEnabled": "true",
        "assetDiagramsEnabled": "false",
        "assetHistoryEnabled": "true",
        "assetCharacteristicsEnabled": "true",
        "assetServiceCodesEnabled": "true",
        "signatureEnabled": "true",
        "paymentsEnabled": "true",
        "warrantyDiscountsEnabled": "true",
        "showPrice": "true",
        "refundReturns": "true",
        "showLocation": "true",
        "showDescription": "true",
        "reuseOrderNumbers": "false",
        "audibleAlert": -1,
        "creditCardPaymentsEnabled": "false",
        "checkPaymentsEnabled": "false",
        "phonePaymentsEnabled": "true",
        "invoicePaymentsEnabled": "true",
        "unableToCollectEnabled": "true",
        "unableToCollectPattern": "^ab.*cd$",
        "dispositionLineItemsEnabled": "true",
        "previewNotesEnabled": "true",
        "hideActions": "false",
        "canModifyPartsBeforeOpen": false,
        "autosaveOutboundNotesMessage": "true",
        "resendInvoiceEnabled": true,
        "autoOnsiteAfterTravelCompleteEnabled": false,
        "payByPhoneRefCodeMaxLength": 80,
        "partOrderingUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/PartsOrdering",
        "partmapLookupUrl": "${PROTOCOL}//${HOST}:${PORT}/assets/{0}.json.txt",
        "openSlotsUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/Appointments/OpenSlots",
        "followupApptUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Followup",
        "siteHistoryUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/Account/{0}/Location/{1}/History",
        "assetHistoryUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/Assets/{0}/History",
        "estimateHistoryUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/Account/{0}/Location/{1}/EstimateHistory",
        "photosUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Photos",
        "videosUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Videos",
        "photosDeleteUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Photos/{1}",
        "videosDeleteUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Videos/{1}",
        "invoiceRequestUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/Payment/SendInvoice",
        "sendInvoiceEmailUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/trans/WorkOrder/{0}/Invoice/SendEmail",
        "defaultCloseCodes": {
            "Status": "",
            "Reason": ""
        },
        "deleteFollowupEnabled": "true",
        "overrideEstimateFields": [
            "Credits",
            "UserName",
            "PrimaryUserName",
            "Extensions"
        ],
        "collectFullDepositIfCreditExists": "false",
        "orderedPartsWarningEnabled": true,
        "multiEditOptions": [
            "LineItemType",
            "OrderOptions",
            "PricingOptions"
        ],
        "promoteEstimateOrderedItemsToWorkOrderLineItemsEnabled": "true",
        "promoteEstimatePreserveAdvancedShipPartsEnabled": false,
        "requireParentWorkOrderClosedBeforeCreatingNewWorkOrder": "false",
        "updateFlexFormsAndFlexAttrsOnClosedWorkOrdersEnabled": "true",
        "overdueWorkOrdersEnabled": "true",
        "incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification": {
            "method": "include",
            "reasonCodes": [
                "1001",
                "Reason5"
            ]
        },
        "invoicePreviewEnabled": true,
        "advShipUnusedPartsEnabled": true,
        "returnReasonToDispositionMap": {
            "1001": "1001",
            "1002": "1002",
            "1003": "1001",
            "1004": "1002"
        },
        "receiveAdvShipInventory": true,
        "laborCoveredByDepositEnabled": true,
        "techNotesPattern": "\\?|@|\\[|!|-|_|\\+|=|\\.|,|#|\\||\\^|%|\\$|<|>|/|&|\\\\|\"|'|@|\\(|\\)|~|\\]|\\*",
        "revisionsAfterPaymentEnabled": false,
        "advShipAutoLoadWorkOrderRefProperty": "OrderNum",
        "photosEnabled": "true",
        "lineItemsEnabled": "true",
        "formsEnabled": "true",
        "assetsEnabled": "true",
        "tasksEnabled": "true",
        "remarksEnabled": "true",
        "estimatesEnabled": "true",
        "cancelFollowupOnOrderItemChange": "true",
        "hidePreviewActions": "false",
        "allowCreate": "false",
        "requireServiceCodes": "true",
        "canCloseWorkOrderWithNegativeBalance": "true",
        "canCloseWorkOrderWithNegativeOrderTotal": "true"
    },
    "hereMap": {
        "appId": "",
        "appCode": "",
        "matrixAPI": ""
    },
    "ThirdPartyNav": [
        {
            "Label": "Google Maps",
            "NavigationURI": "http://maps.apple.com/?daddr=+%daddr%,+%dcity%,+%dstate%",
            "SpaceReplace": "+"
        }
    ],
    "guidCache": {
        "requestThreshold": "900"
    },
    "useIndexedDB": true,
    "mapKey": ""
}


Standard Application Properties

(info) Required properties are in bold.

PropertyTypeDescription
ActivityObject
PropertyDescription
menuTabs
Menu TabDescriptionDefault Value
OverviewThe Overview menu option provides an an overview of the activity detailsAvailable

Forms

The Forms menu option allows the user to view and interact with FlexForms associated with the activity.Available

Remarks

The Remarks menu option allows the user to view and interact with activity remarks.Available

previewTabs
Preview TabDescriptionDefault Value
OverviewThe Overview menu option provides an an overview of the activity details when in preview modeAvailable

Forms

The Forms menu option allows the user to view and interact with FlexForms associated with the activity when in preview mode.Available

Remarks

The Remarks menu option allows the user to view activity remarks when in preview mode.Available

previewNotesEnabled

When true, allows the user to modify the notes when in preview mode.


editStartEndTimeEnabled

When true, allows the user to edit the start time of the activity.  This is captured within a user modified field.




allowTimeEntryOverlapstring

This property controls whether multiple time entry records can overlap each other.

Valid values are:

  • true - Time entry records can overlap
  • false - The application will not allow overlapping time entries to be created.

The default value is false.

autoPollinteger

Specifies the polling internal, in minutes, for establishing a connection to the server. The polling process is only used when the application is idle and has nothing to send to the server.

(warning) Notes:

  • Any time the mobile application generates a transaction that needs to be sent to the server, a connection will automatically be attempted regardless of the polling setting.
  • Once the application is connected to the server, it will keep the connection opened allowing the server to push real-time data to the client. Only in the event that the network connection is lost will the auto polling be used.


barcodeSymbologies

collection

Specifies the symbologies utilized when scanning a barcode.

Example:

"barcodeSymbologies": [
"code_39_reader",
"code_128_reader",
"upc_rea

]

cachedPasswordTimeoutintegerSpecifies the application idle timeout, in milli-seconds, at which point the user will automatically be logged out of the application
Dashboardcollection

This property configures the dashboard panels that are available to be displayed on the mobile application. Panels that are added to this property are considered enabled. An enabled panel may have additional visibility rules, please review the Visibility column in the table below.

The order of the panels in this property controls the order in which they will be displayed on the dashboard.

Available panels:

PropertyVisibilityDescription
InfoIf enabled, this panel is always visible
  • Displays the currently logged on user
InProgressThis panel is displayed when a work order is in progress
  • Displays the current work order that is in progress
  • Clicking on this panel will automatically navigate to the work order summary screen for the work order in progress
UserStatusIf enabled, this panel is always visible.
  • Displays the checkin status of the user
  • Clicking on this panel allows the user to change status (check in, check out, start break, end break)
ScheduleIf enabled, this panel is always visible.
  • Displays the total number of events scheduled for the day
  • Displays to total number of events on the device for all calendar days
  • Clicking on this panel will navigate to the schedule list
TimeEntryIf enabled, this panel is always visible.
  • Displays the total number of hours logged for the current day
  • Displays the total number of hours logged for the current week. See
  • Clicking on this panel will navigate to the time entry module
Inventory

If enabled, a separate panel will be visible if one of the following conditions is true:

  • A physically inventory count request needs to be completed
  • A inventory load needs to be completed
  • Displays the number of physical inventory count requests that are pending to be completed
  • Displays the number of inventory loads that need to be completed
  • Clicking on the physical inventory count panel will navigate to the physical inventory module
  • Clicking on the inventory load panel will navigate to the inventory load module
ComStatusIf enabled, this panel is always visible.

This panel displays the current status of the network, the status of the connection to the ServiceMobility backend, the number of pending messages to be sent to the ServiceMobility backend system.

Icon Colors

ColorDescription
Red
  • There is no connection to the ServiceMobility Server
  • If device does not have any available network such as WiFi or cellular, then the text "Device is offline" will be displayed in the panel.
  • Any transaction created on the mobile application will automatically be queued and saved locally on the device.
  • The server will queue up any changes to be pushed to the mobile application
Green
  • The device has an active connection to the ServiceMobility backend server
  • Any transaction created on the mobile application will automatically be uploaded to the server
  • The server will automatically push any updates to the mobile device
dataUpdateNotificationsEnabledstring

Specifies if global popup notifications should be displayed to the user when any of the following events occurs:

  • An existing work order has been updated
  • An existing work order has been canceled
  • A scheduled activity has been updated
  • A scheduled activity has been canceled
  • An inventory load request has been canceled
  • A physical inventory count request has been canceled


Default value is: "false"

Valid values:

  • "false"
  • "true"

defaultUITemplateType

string

Specifies the UI template to be utilized by the mobile application

Valid Values:

  • SERVICEPOWER_FIELDSERVICE

  • SERVICEPOWER_INSURANCE

DXTimeoutstringSpecifies the data exchange idle timeout, in seconds. During an active connection to the server, if no data has been sent or received within the timeframe specified by this property then the network connection will be dropped.

emailValidationRegex

regexSpecifies valid character set to validate against for any email address collected in the mobile application.

enableTextSelect

booleanWhen true, the user will be able to highlight text within the application so that it can be copied.

gpsPingPrivacyEnabled

booleanWhen true, audit records and breadcrumb data containing GPS information will only be captured when a user is actively working on a work order (work order status is en route or onsite). 
gpsPollingIntervalintegerSpecifies the GPS sampling internal, in milli-seconds. This sampling only occurs when the application is running in the foreground and is not meant to create a try breadcrumb trail. For full breadcrumb tracking, please see our ServiceGPS product.



guidCacheobject

This object contains properties related to the GUID cache. GUIDs or Globally Unique Identifies are used by the mobile application when generating transactions and messages to be sent to the server. GUIDs protect against duplicate keys colliding when data is being sent in from thousands of mobile devices that may have been running in an offline mode.

Property NameDefault ValueDescription
requestThreshold900

If the number of cached GUIDs drops below this level, the mobile application will automatically request additional GUIDs from the server.

Inventory

object
Property NameDescriptionDefault Value

editDispositionEnabled

booleanWhen true, the user may edit the disposition quantity associated with an item in inventory.

loadReminderInDays

integer

When 0 or -1, the functionality is considered disabled.

When > 0, once a shipment is overdue by that amount of days, a nag screen appears each time the user reaches the home screen reminding them of overdue shipments.

canDismissLoadReminder

booleanWhen true, the user may dismiss a reminder when shipments are overdue.  if false, they may not dismiss the reminder and must navigate to the shipments screen.

verifyTransfers

booleanWhen true, the each party (inbound/outbound) must input the code provided on the screen of the other party.  This ensures that the data input by each party correctly corresponds with what the other individual input.  This functionality is fully offline capable.

defaultTransferRMADisposition

stringWhen populated, the warehouse transfer screen is pre-populated with the disposition associated with the value.  Inventory dispositions are specified within the system categories, where the category ID is 715.

transferRMADispositionFilterEnabled

booleanWhen true, enables filtering of DispositionReasons for Warehouse Transfers.  When false, all DispositionReasons (for which there are Disposition Qtys in Inventory) are displayed.

transferRMADispositionFilter

arrayIncludes all Disposition ReasonCodes to be displayed for Warehouse Transfers.  This works in conjunction with transferRMADispositionFilterEnabled = true.

stockLevelRecommendationEnabled

boolean

When true, stock level recommendation functionality within ServiceMobility is enabled.

When false, stock level recommendation functionality within ServiceMobility is disabled.

adjustInventoryEnabled

booleanWhen true, the user may adjust inventory levels.

defaultLoadListFilter

string

Specifies the default filter when visiting the inventory shipments list screen.

Valid values:

  • 1001 - not received
  • 1002 - received
  • pastdue - past due shipments
  • all - all shipments

inventorySearchThreshold

integer

Specifies the minimum number of inventory records that must be returned from a search to enable the user to view those products rather in the list rather than provide more information to narrow the list down further.

largeMsgSizestring

This property specifies the size, in bytes, at which point a messages will be stored in the local database prior to be sent to the server.

Under normal conditions, all messages are queued in local storage prior to sending to the server. However, browsers set different restrictions on the maximum amount of local storage can be used. Taking multiple photos can quickly consume the amount of local storage available so this setting is used to queue large messages in the local database. Note, the local database also has a maximum amount of offline storage available.

largeFormFactorEnabledboolean

Specifies if the application will utilize the large form factor design for large form factor devices

Valid Values:

  • true
  • false (default)

messageboxTimeoutInSeconds

integer

When specified, a message box will automatically be dismissed after this number of seconds if not dismissed manually by the user.

NavModulescollection

This property configures which main application modules are enabled for the application.

ModuleDescription
ScheduleEnables the schedule and work order modules
InventoryEnables all of the inventory modules
TimeEntryEnables the time entry module
SocialEnables the social network module
partRequestQtyinteger

Specifies how many items should be returned at a time when an online parts/product catalog lookup is made.

The default value is: 10

photoCacheSizestring

This property specifies the maximum number of photos that can be captured while offline disconnected from any network. Under normal usage when a network connection is available photos will automatically be uploaded to the server as soon as they are taken.

(warning) Caution should be used when changing this value as too high a number could quickly cause the application to run out of available local storage.

userStatusEnabledboolean

Specifies whether the User Status (Check In, Check Out) functionality is enabled. If enabled, certain actions like opening a WorkOrder are blocked until the user checks in.


Valid values are:

  • true
  • false (default)

phoneValidationRegex

regex

Specifies a valid character set for all phone numbers to be validated against within the mobile application.

productSearchThreshold

integer

Specifies the minimum number of product records that must be returned from a search to enable the user to view those products rather in the list rather than provide more information to narrow the list down further.

productSearchDefaultFilters

object

Provides the ability to specify default search filters shown to the user so that they can quickly narrow a product list down.  This will filter the product list by the product.Tag field. 

purgeValuesobject

This property contains a collection of data purge values. These values are used by the mobile application to automatically cleanup data on the mobile device.

(warning) If the values are too high the mobile application may run out of available offline local storage.

Property NameDefault ValueDescription
workOrder7Remove all work orders older than the specified number of days.
inventory7Remove all completed inventory transactions older than the specified number of days.
timeEntry30Remove all time entry records older than the specified number of days.
system alerts7Remove all system alert records older than the specified number of days.
logEntries14

Remove all log entries older than the specified number of days.


stockLevels7

Remove all stock level recommendation values older than the specified number of days.

scanCameraIdx

integer

Specifies the camera index for advance camera selection when scanning barcodes.  For example, on devices with multiple cameras, this will allow organizations to utilize the back or front facing cameras by default.

SupportEmailstringThis property specifies the support email address that will be displayed on the support dialog. The support dialog is accessed by clicking the support link on the logon screen.
SupportPhoneNumberstringThis property specifies the phone number that will be displayed on the support dialog. The support dialog is accessed by clicking the support link on the logon screen.

systemAlertsEnabled

booleanWhen true, system alerts will be enabled within the mobile application.  When false, system alerts are hidden (disabled).
TimeEntryobject
PropertyTypeDescription
timecardEnabledboolean

This property controls whether or not the time card module is enabled.

Valid values are:

  • true - The time card module is enabled
  • false - The time card module is disabled
WebSocketsUrlstring

Specifies the URL used to connect to the ServiceMobility ESB.

Multiple URL can be added, separated by a semicolon, for client-side failover.

WorkOrderobject

This property contains many other properties related to the work order module.

Property NameTypeDescription

advShipAutoLoadWorkOrderRefProperty

string

When automatically receiving an inventory load (shipment) for advance ship parts associated with a work order, this field provides a mechanism to specify a RefNum within the Inventory Load based on any field within the work order payload that will help the organization tie the receipt of the inventory load to a purchase order, order number, or similar in their back-office.

By default, the order number is provided as a reference within the Inventory Load transaction for advance ship parts.

advShipUnusedPartsEnabled

boolean

Specifies whether or not advance ship parts functionality is enabled within the application.

Valid values:

  • true (default) - Advance Ship Parts functionality enabled
  • false - Advance Ship Parts functionality disabled
allowCreateboolean

Specifies if the mobile worker can create new work orders in the field.

Valid values are:

  • true
  • false (default)
allowInvOverageboolean

Specifies if the mobile application allows inventory overages. If enabled (true), then the mobile application will only warn the user if they are using more parts than the system thinks is in their inventory. If disabled (false), the mobile application will only allow the mobile worker to use parts that are identified in their active inventory.

Valid values are:

  • true (default)
  • false

assetServiceCodesEnabled

boolean

Specifies whether or not asset Service Codes within the work order asset tab is enabled

Valid values are:

  • true (default) - asset Service Codes are enabled
  • false - asset Service Codes are disabled

assetDiagramsEnabled

boolean

Specifies whether or not asset diagrams within the work order asset tab is enabled

Valid values are:

  • true (default) - asset diagrams are enabled
  • false - asset diagrams are disabled

assetHistoryEnabled


boolean

Specifies whether or not asset history within the asset tab is enabled

Valid values are:

  • true (default) - asset history is enabled
  • false  - asset history is disabled

assetHistoryUrl

URL

Specifies the URL that the mobile application calls when retrieving asset history.

audibleAlert

integer

Specifies whether or not an audible alert is provided when a work order is added or removed from the schedule.

Valid values are:

  • -1 (default) - no alert is provided
  • > 0  -  an alert is provided when a work order is added or removed from the schedule.

autoOnsiteAfterTravelCompleteEnabled

boolean

Specifies whether or not the tapping the complete travel button will automatically put the work order onsite.

Valid values:

  • true - user automatically goes onsite after completing travel
  • false (default) - user must manually put work order onsite after completing travel

autosaveOutboundNotesMessage

boolean

Specifies whether or not autosave notes messages get queued up as a work order export message.  This enables back-office solutions to get real-time changes to the work order remarks.

Valid values are:

  • true (default) - autosave messages for work order remarks are queued up with work order export transactions to the customer back-office.
  • false  - autosave messages for work order remarks are not queued up with work order export transactions to the customer back-office.

canCloseWorkOrderWithNegativeOrderTotal

boolean

When true, work orders can be closed with a negative order total. 

When false, work orders cannot be closed when there is a negative order total.

canCloseWorkOrderWithNegativeBalance

boolean

When true, work orders can be closed with a negative balance. 

When false, work orders cannot be closed when there is a negative balance.

cancelFollowupOnOrderItemChange

boolean

Specifies whether or not the follow-up appointment is deleted if ordered items are modified after the appointment has been created but before the work order has been closed.  This is especially important when parts orders need to be placed for the follow-up call.

Valid Values:

  • true - Upon modifying ordered items, any follow-up call booked will be deleted.
  • false (default) - Follow-up calls will remain even after modifying ordered parts required for the follow-up visit.

canModifyPartsBeforeOpen

boolean

Specifies whether or not line items can be added to the work order while in preview mode (prior to going onsite).

Valid values are:

  • true (default) - ability to add line items prior to work order being onsite enabled
  • false  - ability to add line items prior to work order being onsite disabled.
createPartsEnabledboolean

Specifies if the mobile worker can add parts to a work order that are not in the default catalog. This is typically used in cases where a mobile worker goes to a local store to purchase a part required to complete the service.

Valid values are:

  • true
  • false (default)

creditCardPaymentsEnabled

boolean

Specifies whether a user can take a credit card payment as a valid form of payment associated with the work order.

Valid values are:

  • true - user may take a credit card payment
  • false (default) - user may not take a credit card payment 

checkPaymentsEnabled

boolean

Specifies whether or not a check is a valid form of payment on a work order

Valid values are:

  • true - check payment enabled
  • false (default) - check payment disabled

collectFullDepositIfCreditExists

boolean

If false, use the existing functionality where the Deposit Amount is limited by the total value of Ordered Parts (i.e. if the ReqDeposit is $50, and there is one OrderedItem for $5, the Deposit Amount is $5)

If true, and a positive credit exists on the WorkOrder, charge the full Deposit amount. (i.e. if the ReqDeposit is $50, and there is one OrderedItem for $5, the Deposit Amount is $50)

defaultCloseCodesobject

If parts are ordered the default work order closed status and reason code will be setup to these values.

PropertyDefault Value
Status4097
Reason1001

Related pages:

defaultPartsDelivery

string

The default parts delivery field represents the default value selected when ordering parts for a consumer.  The parts delivery locations are setup via the System Categories API with the Category = 50.

deleteFollowupEnabled

boolean

Specifies whether or not the follow-up appointment can be manually deleted by the user.

Valid Values:

  • true - Allows a follow-up call to be manually deleted by the user.
  • false (default) - Once a follow-up call is created, it may not be manually deleted by the user.

editStartEndTimeEnabled


boolean

The edit start time enabled property allows the user to edit the work order's start time after the work order has been completed.  The edited value will be stored in the  UserAdjustedStartUTC of the work order

estimateHistoryUrl

URL

Specifies the URL called by the mobile application when retrieving estimate history.

estimatesEnabledboolean

Specifies if the Estimates sub-module is enabled

Valid values are:

  • true (default) - The Estimates sub-module is enabled
  • false  - The Estimates sub-module is disabledorders

followupApptUrl

URL

Specifies the URL the mobile application calls when scheduling a follow-up call (after selecting the appointment slot).

followupReturnDays

integer
  • If no Parts ETA (ordered parts), the preferred date of return is WorkOrder.followupReturnDays 
  • If parts ETAs are available for ordered parts, the preferred date of return is the latest ETA date (from the ordered parts) + WorkOrder.followupPartsAvailableDatePadding (from MobileCfg)

followupPartsAvailableDatePadding

integer
  • If no Parts ETA (ordered parts), the preferred date of return is WorkOrder.followupReturnDays 
  • If parts ETAs are available for ordered parts, the preferred date of return is the latest ETA date (from the ordered parts) + WorkOrder.followupPartsAvailableDatePadding (from MobileCfg)

hideActions

boolean

Specifies whether or not the actions panel is displayed within the LFF overview tab.

Valid values are:

  • true (default) - the actions panel is hidden within the LFF overview tab.
  • false  - The action panel is displayed within the LFF overview tab.

hidePreviewActions

boolean

Specifies whether or not the actions panel is displayed when in preview mode.

Valid values are:

  • true (default) - the actions panel is hidden when in preview mode.
  • false  - The action panel is displayed when in preview mode.
hideTimeBannerboolean

The hide time banner property provides a mechanism to hide the bottom time banner during the work order process.

incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification

object

Incomplete ReasonCodes are included or excluded from the ApptSearchRequest field verification on WorkOrder Close.
 
"incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification" is a compound setting with two sub-properties: "method" and "reasonCodes"; it looks like this:

"incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification": {
	"method": "exclude",
	"reasonCodes": ["1005"]
}
  • Valid values for the "method" field are "include" or "exclude".  If the field is omitted or not one of the valid values, it defaults to "exclude".
  • The "reasonCodes" field is an array of Closed Incomplete Reason Codes (System Category 16) (string values).  If the field is omitted, or not an array, it defaults to an empty array
  • If the "incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification" setting is omitted, then all WorkOrders with the "IsFollowUpRequestObjectReq" set will be verified (this is the current default behavior).

If the new setting is defined, then it will be used to decide whether to include or exclude the WorkOrder ApptSearchRequest field from being verified on Close (The verification is still enabled/disabled by the WorkOrder Rule "IsFollowUpRequestObjectReq").
 
If the method is "include", and the selected Close Status is Closed Incomplete and the selected Incomplete Reason Code is in the "reasonCodes" array, then it will be verified that the ApptSearchRequest field exists.  If the selected Incomplete Reason Code is not in the "reasonCodes" array, then the ApptSearchRequest verification is skipped.
 
If the method is "exclude", and the selected Incomplete Reason Code is in the "reasonCodes" array, then the ApptSearchRequest verification is skipped.  If the selected Incomplete Reason Code is not in the "reasonCodes" array, then it will be verified that the ApptSearchRequest field exists.
 
If the "incompleteReasonCodesToIncludeOrExcludeFromFollowUpVerification" is not set, then all WorkOrders, regardless of selected Incomplete ReasonCode, will have the ApptSearchRequest verified if the WorkOrder Rule "IsFollowUpRequestObjectReq" is set.|

invoicePaymentsEnabled

boolean

Specifies whether or not a pay-by-link payment is a valid form of payment for a work order

Valid values are:

  • true - pay-by-link payment enabled
  • false (default) - pay-by-link  payment disabled

invoicePreviewEnabled

boolean

When true, the user may generate an invoice preview.

invoiceRequestUrl

URL

Specifies the URL the mobile application calls when sending a pay-by-link invoice to a customer.

isSigReqboolean

Specifies the global setting for requiring signature capture.

Valid values are:

  • true (default) - Signature capture is required for all work orders
  • false  - Signature capture is optional for all work orders

laborCoveredByDepositEnabled

boolean

When true:

  • If a labor item is added, and the Work Order contains an ordered Item, then the labor item will utilize the same logic as an ordered part.
  • If a labor item is added, and the work order contains an ordered item but parts deposit is not selected, then the pricing should be consistent with standard line item pricing and the customer will be charged for the labor (if chargeable)
  • If a labor item is added, and the work order does not contain a Ordered Item then the pricing should be consistent with standard line item pricing.
lineItemsEnabledboolean

Specifies if the Line Items sub-module is enabled. The Line Items sub-module includes adding parts, returning parts, and ordering parts.

Valid values are:

  • true (default) - Line Items module is enabled
  • false - Line Items module is disabled



mappingEnabledboolean

Specifies if the internal mapping module is enabled.

Valid values are:

  • true (default) - The internal mapping module is enabled
  • false  - The internal mapping module is disabled
menuTabscollection

Work Order Menu Options provide a mechanism to configure the work order functionality available to a user. 


Menu TabDescriptionDefault Value
OverviewThe Overview menu option provides an an overview of the call detailsAvailable
AssetsThe Assets menu option provides the user with all information associated with the assets associated with a work orderAvailable

History

The History menu option provides the user with all history associated with the service location.  By default, this is retrieved using a combination of the Account Number and Location NumberAvailable

Line Items

The Line Items menu option allows the user to view, add, and remove line items (parts used, parts returned, parts ordered).Available

Tasks

The Tasks menu option allows the user to view and interact with tasks sent down with the work order.Available

Forms

The Forms menu option allows the user to view and interact with FlexForms associated with the work order.Available

Remarks

The Remarks menu option allows the user to view and interact with work order remarks and tech notes.Available

Alerts

The Alerts menu option allows the user to view and interact with work order alerts associated with the work order.Available

Estimate

The Estimate menu option allows the user to view and interact with newly and previously created work order estimates.Available

Media

The Media menu option allows the user to view, add, and delete photos and videos associated with the work order.Available

multiEditOptions

collection

This collection specifies the values allowed to be utilized and the order they appear within the multi-edit functionality.

Valid values within the collection are as follows:

  • LineItemType
  • OrderOptions
  • PricingOptions

openSlotsUrl

URL

Specifies the URL the mobile application utilizes to retrieve open appointment slots when a follow-up call is required.

openWorkOrderThresholdInMinutes

integer

Specifies the number of minutes in advance of the planned start time a user may begin traveling or mark the work order onsite.

orderedItemsEnabled


boolean

Specifies if ordered items can be added to a work order

Valid values are:

  • true (default) - Ordered items may be added to a work order
  • false - Adding an ordered item to the work order is disabled

orderedPartsWarningEnabled

boolean

When true, the user will not be able to add ordered parts to a work order and mark the call as closed-complete when the part's shipping location is anything but to the consumer's home.

overdueWorkOrdersEnabled

boolean

When true:

  • All overdue work orders will be displayed on the home screen, before today's work orders, and will have a header stating 'Overdue Work Orders'.
  • Today's work orders will follow in the list, and will contain a heading 'Today's Work Orders'.
  • A new toggle button will be added to allow the user to hide/show overdue work orders
    • When overdue are visible the button is named 'Hide Overdue Work Orders'
    • When overdue are not visible the button is named 'Shown Overdue Work Orders'

When false:

  • Overdue Work Orders will not be displayed on the home screen.
  • The new toggle button will not be visible.
  • There will be no header for 'Today's Work Orders' on the home page.

Default Value: false

overrideEstimateFields

collection

Specifies a list of fields that will remain as part of the work order upon promoting an estimate.  This is important to keep certain fields such as credits, order numbers, username, etc when a technician promotes a work order to the current order. 

partOrderingUrlstring

Specifies the URL used for ordering parts.

Default value
${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/PartsOrdering
partmapLookupUrlstring

Specifies the URL used to locate and download asset schematic diagrams.

pauseTaskEnabled

boolean

Specifies if pausing a task is allowed.

Valid values are:

  • true (default) - pausing a task is allowed
  • false - pausing a task is not allowed
pauseTravelEnabledboolean

Specifies if pausing travel is allowed.

Valid values are:

  • true (default) - pausing travel is allowed
  • false - pausing travel is not allowed
pauseWorkOrderEnabledboolean

Specifies if pausing a work order is allowed.

Valid values are:

  • true (default) - pausing a work order is allowed
  • false - pausing a work order is not allowed

payByPhoneRefCodeMaxLength

integer

Specifies the maximum length of the pay by phone validation code.

paymentsEnabledboolean

Specifies if the Payments Collection sub-module is enabled at a global level.

If enabled, work orders must still have the CollectPayment (see: Work Order Object) flag set to true.

Valid values are:

  • true (default) - The Payments Collection sub-module is enabled
  • false - The Payments Collection sub-module is disabled at a global level

phonePaymentsEnabled

boolean

Specifies whether or not a phone payment is a valid form of payment for a work order

Valid values are:

  • true - phone payment enabled
  • false (default) - phone payment disabled
photosEnabledboolean

Specifies if the photo capture module is enabled at a global level. Note, even if photos are enabled, it can be overridden (disabled) at an individual work order level.

Valid values are:

  • true (default)
  • false

photosDeleteUrl

URL

Specifies the URL called by the mobile application when deleting photos associated with the work order.

photosUrl

URL

Specifies the URL called by the mobile application when retrieving and saving photos associated with a work order.

previewNotesEnabled

boolean

Specifies whether or not the user may edit work order remarks prior to getting onsite.

Valid values are:

  • true (default) allows user to edit work order remarks prior to marking work order onsite.
  • false prevents the user from editing work order notes in preview mode. 
previewTabscollection

Work Order Preview Menu Options provide a mechanism to configure the functionality the user is able to interact with prior to arriving onsite.

TabDescriptionDefault Value
OverviewThe Overview menu option provides an an overview of the call detailsAvailable
AssetsThe Assets menu option provides the user with all information associated with the assets associated with a work orderAvailable

History

The History menu option provides the user with all history associated with the service location.  By default, this is retrieved using a combination of the Account Number and Location NumberAvailable

Line Items

The Line Items menu option allows the user to view, add, and remove line items (parts used, parts returned, parts ordered).Available

Tasks

The Tasks menu option allows the user to view and interact with tasks sent down with the work order.Available

Forms

The Forms menu option allows the user to view and interact with FlexForms associated with the work order.Available

Remarks

The Remarks menu option allows the user to view and interact with work order remarks and tech notes.Available

Alerts

The Alerts menu option allows the user to view and interact with work order alerts associated with the work order.Available

Estimate

The Estimate menu option allows the user to view and interact with newly and previously created work order estimates.Available

Media

The Media menu option allows the user to view, add, and delete photos and videos associated with the work order.Available

promoteEstimateOrderedItemsToWorkOrderLineItemsEnabled

boolean
  • When promoteEstimatePreserveAdvancedShipPartsEnabled is true, retain all IsAdvShip parts on the current WorkOrder, when promoting from Estimate
  • When both promoteEstimateOrderedItemsToWorkOrderLineItemsEnabled and promoteEstimatePreserveAdvancedShipPartsEnabled AppSettings are true, and an Estimate is Promoted to WorkOrder:
    • If there are IsAdvShip line items on the currently opened WorkOrder, and there are matching OrderedParts on the Estimate, the matching OrderedParts will be skipped, and the IsAdvShip line item will be kept on the WorkOrder.
      • The OrderedPart from the Estimate is completely ignored in this case, no fields from the Estimate OrderedParts (Qty, Taxable flag, IsChargeable flag, etc) will be carried over when the Estimate is Promoted.
    • A serialized OrderedPart on the Estimate may have a Qty of 2, and on the WorkOrder the same serialized part may exist as two (or more, or less) IsAdvShip line items with SerialNums.  The IsAdvShip items will be preserved on the promoted WorkOrder, and the Estimate OrderedItem will be ignored.

promoteEstimatePreserveAdvancedShipPartsEnabled

boolean

When true and promoteEstimateOrderedItemsToWorkOrderLineItemsEnabled is also true, Advance Ship items are kept as advance ship items on the work order.

receiveAdvShipInventory

boolean

When false:

    • Do not include Advance Ship non-Return parts in the WorkOrder Inventory Usage transaction
    • Receive Advance Ship Return parts into inventory, as we do with regular returns
      • Advance Ship Returns may have been Dispositioned due to ReturnReasonCode mapping.  The parts should be received into inventory as dispositioned, or if not dispositioned, will be received into the usable Inventory Qty.

rejectThresholdInMinutes

integer

Specifies the number of minutes in advance of the planned start time that the user may reject a work order.

refundReturnsboolean

Specifies if returned items should be refunded to the customer.

Valid values are:

  • true (default) - Refunding returned is enabled
  • false - Refunding returns is disabled
remarksEnabledboolean

Specifies if the Remarks sub-module is enabled. Remarks include mobile worker remarks and customer remarks.

Valid values are:

  • true (default) - The Remarks sub-module is enabled
  • false - The Remarks sub-module is disabled

requireParentWorkOrderClosedBeforeCreatingNewWorkOrder

boolean

When true, the primary WorkOrder must be closed prior to the ability to create a new work order.  Default value is false.  If the setting is enabled, and the WorkOrder is not closed when tapping the "New" button, display a message to the user that the WorkOrder must be closed before creating a new WorkOrder.  

requireServiceCodesboolean

Specifies if service codes are required to be completed.

Valid values are:

  • true - Service code information must be completed for each asset on the work order
  • false (default) - Service codes are optional

resendInvoiceEnabled

boolean

Specifies whether or not the user has the ability to resend the invoice (service delivery report) to the customer after the work order has been closed.

Valid values are:

  • true - resend invoice (service delivery report) enabled
  • false (default) - resend invoice (service delivery report) disabled

returnReasonToDispositionMap

object

Allows returned parts to be mapped to inventory disposition codes.  

Example:

"returnReasonToDispositionMap": {
"1001": "1001",
"1002": "1002",
"1003": "1001",
"1004": "1002"
},

Inventory Dispositions are setup via the System Category - category = 715

revisionsAfterPaymentEnabled

boolean

Default value: true

When false, any action that affects the work order total to change is disabled.

reuseOrderNumberboolean

Specifies if work order numbers can be reused. Typically, once a work order is closed it can no longer be modified. However, some customers may reuse work order numbers so setting this value to true will allow work order numbers to be reused.

Valid values are:

  • true - Work order numbers can be reused. (warning) Not recommended.
  • false (default) - Work order numbers can not be reused
saveRejectedboolean

The save rejected property provides a way for rejected work order records to remain on the schedule for the technician to view. 

Valid values are:

  • true - Upon rejecting a work order, the record will be removed from the device (as well as the schedule list)
  • false (default) - Upon rejecting a work order, the rejected work order record will remain on the device and also still be presented on the schedule list.

sendInvoiceEmailUrl

URL

Specifies the URL called by the mobile application when resending an invoice to a customer.

showLocationboolean

Specifies if the delivery location, for ordered parts, should be displayed.

Valid values are:

  • true (default) - Display delivery location
  • false - Do not display delivery location

showDescription

boolean

Specifies whether or not the work order description is shown in the preview and order summary screens.

Valid values are:

  • true (default) - Display work order description
  • false - Do not display work order description
showPriceboolean

Specifies is pricing should be presented to the mobile worker and customer.

Valid values are:

  • true (default) - Pricing is enabled
  • false - Pricing is disabled
signatureEnabledboolean

Specifies if signature capture is enabled.

Valid values are:

  • true (default) - Signature capture is enabled
  • false - Signature capture is disabled

siteHistoryUrl

URL

Specifies the URL that the mobile application calls when retrieving site history for a customer.

techNotesPattern

regex

Tech notes are validated against the specified regular expression.

travelEnabledboolean

Specifies if tracking travel is enabled.

Valid values are:

  • true (default) - Tracking travel is enabled
  • false  - Tracking travel is disabled

unableToCollectEnabled

boolean

Specifies whether or not a user may specify that they are unable to collect payment on a work order

Valid values are:

  • true - Able to specify that they are unable to collect payment
  • false (default) - Ability to specify unable to collect disabled

unableToCollectPattern

regex

When unabletoCollectEnabled is true, this optional parameter allows an organization to specify a regex that can be used to validate a code showing that the unable to collect amount has been authorized.

updateFlexFormsAndFlexAttrsOnClosedWorkOrdersEnabled

boolean

When true, Flex Forms and Flex Fields may be updated after the work order is closed.  Otherwise, when false, nothing on the work order may be updated after the work order is closed.

videosDeleteUrl

URL

Specifies the URL called by the mobile application when deleting photos associated with the work order.

photosUrl

URL

Specifies the URL called by the mobile application when retrieving and saving videos associated with a work order.

warrantyDiscountsEnabled

boolean

Specifies whether warranty discounts are enabled:

Valid values are:

  • true (default) - warranty discounts are enabled
  • false  - warranty discounts are disabled

warrantyReasonRequired

boolean

Specifies whether the user must provide a reason when changing a work order from not in warranty to in warranty.

Valid Values:

  • true - The user is required to provide a reason for changing a work order from not in warranty to in warranty
  • false (default) - The user is not required to provide a reason for changing a work order from not in warranty to in warranty.



ThirdPartyNavcollection

This property contains a collection of third party mapping applications. Clicking on an address in the mobile application will cause a pop-up to be displayed with the mapping applications that are defined below. This list should be modified to include only the mapping applications that should be displayed.

Each entry in the collection contains a definition for a single application.

PropertyTypeDescription
LabelstringSpecifies the name of the mapping software. This is the field that will be displayed to the mobile worker.
NavigationURIstringSpecifies the URL and parameters used to launch the mapping application to a specific address

Supported Third Party Mapping Software

ApplicationSettings
Apple Maps

Label - "Apple Maps"

NavigationURI - "http://maps.apple.com/?daddr=+%daddr%,+%dcity%,+%dstate%"

SpaceReplace - "+"

Google Maps

Label - "Google Maps"

NavigationURI - "comgooglemaps://?daddr=+%daddr%,+%dcity%,+%dstate%&directionsmode=driving"

SpaceReplace - "+"

Waze

Label - "Google Maps"

NavigationURI - "waze://?q=%daddr%,%dcity%,%dstate%&navigate=yes"

SpaceReplace - "%20"

CoPilot Live v9

Label - "CoPilot Live"

NavigationURI - "copilotv9://?q=%daddr%,%dcity%,%dstate%&navigate=yes"

SpaceReplace - "%20"

TomTom

Label - "TomTom"

NavigationURI - "tomtomhome://?navigateto=%daddr%,%dcity%,%dstate%"

SpaceReplace - "%20"

Advanced Properties

These following advanced property values should only be changed when instructed by a ServicePower support representative.

Changing any of these properties to incorrect values could render the application inoperable.

PropertyTypeDescription
DiagnosticsUrlstring

This property specifies the URL where the mobile application diagnostics should be uploaded to.

guidCacheobject
guidCache.requestThresholdstring

This property contains a number that controls when the mobile application will request additional GUIDs from the server. If the number of GUIDs available in the local cache drops below this number the mobile application will automatically generate a request for additional GUIDs.

In the event the mobile application is out of network coverage and all caches GUIDs are depleted, then the mobile application will automatically switch to a local algorithm for generating GUIDs until network connectivity is restored. This will ensure that the mobile application continues to operate properly.

imageBaseUrlstring

Specifies the URL where images and photos are accessed from.

Default value
https://s3.amazonaws.com/SPMobility/
imageKeyUrlstring

Specifies the format of the image URL.

Default value
{module_id}/{entity_pkey}/{biz_key}/{image_name}
largeMessageSizestringSpecifies the limit, in bytes, at which point a large message will be persisted to the database rather than local storage.
logLevelstring

Sets the application logging level.

Valid values are:

ValueDescription
"1"None
"2"Error
"3"Warn
"4"Info
"5"Debug
MapAuthenticationUrlstring

This property specifies the URL used to authenticate with the mapping provider.

mapKeystring

The map authorization key used to access the mapping server.

MapServerUrlstring

This property specifies the URL used for in application mapping.

useIndexedDBboolean

Identifies if IndexedDB should be used for offline storage. The default option is to use WebSQL as iOS still has some bugs with their IndexedDB implementation.

Valid values are:

  • true - Use IndexedDB for offline storage
  • false - Use WebSQL for offline storage

The default value is false.

partRequestUrlstring

Specifies the URL used for online parts/product catalog lookups.

Default value
${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/query/Products/search?q={0}::in:ProdNum,Desc&filter=DGroupID:{1},IsOffLine:0&start={2}&limit={3}&sort=ProdNum&format=json
paymentUrlstring

Specifies the URL used to access the payment processing proxy server.

Default value
${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/Payment/Charge?format=json