Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

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 3.15.0+
 {
	"Dashboard": ["Info", "Alerts", "InProgress", "UserStatus", "Schedule", "TimeEntry", "Inventory", "ComStatus"],
	"NavModules": ["Schedule", "Inventory", "TimeEntry", "Social"],
	"weekStartDay": "Monday",
	"gpsPollingInternval": 60000,
	"pingInternvalInSeconds": 300,
	"logLevel": "4",
	"cachedPasswordTimeout": "240",
	"WebSocketsUrl": "${WS}//${HOST}:61614/fieldservice",
	"useIndexedDB" : false,
	"autoPoll": "-10",
	"DXTimeout": "14400",
	"DataRefreshQ": "UserDataRefreshRequest",
	"msgRetryTimeout": "5000",
	"msgMaxRetryCount": "3",
	"largeMsgSize": "50000",
	"allowTimeEntryOverlap": "false",
	"mapKey": "AIzaSyBkBUlyUbe0cGsFG4fbzDjiGV7Dh23uV08",
	"DiagnosticsUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v1/diagnostics",
	"SupportPhoneNumber": "000-555-1212",
	"SupportEmail": "",
	"photoCacheSize": "5",
	"dataUpdateNotificationsEnabled": "false",
	"imageBaseUrl": "https://s3.amazonaws.com/SPMobility/",
	"imageKeyUrl": "{module_id}/{entity_pkey}/{biz_key}/{image_name}",
	"paymentUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/Payment/Charge?format=json",
	"partRequestQty": 10,
	"partRequestUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/query/Products?q={0}::in:ProdNum,Desc&filter=DGroupID:{1},IsOffLine:0&start={2}&limit={3}&sort=ProdNum&format=json",
	"userStatusEnabled": true,
	"purgeValues": {
		"workOrder": "7",
		"inventory": "7",
		"timeEntry": "30",
		"logEntries": "14"
	},
	"guidCache": {
		"requestThreshold": "900"
	},
	"TimeEntry": {
		"timecardEnabled": "true"
	},
	"WorkOrder": {
		"allowCreate": "false",
		"createPartsEnabled": "true",
		"allowInvOverage": "true",
		"photosEnabled": "true",
		"pauseTravelEnabled": "true",
		"travelEnabled": "true",
		"mappingEnabled": "true",
		"lineItemsEnabled": "true",
		"assetsEnabled": "true",
		"remarksEnabled": "true",
		"signatureEnabled": "true",
		"estimatesEnabled": "true",
		"paymentsEnabled": "true",
		"showPrice": "true",
		"refundReturns": "true",
		"showLocation": "true",
		"requireServiceCodes": "false",
		"reuseOrderNumbers": "false",
		"partOrderingUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/PartsOrdering",
		"partmapLookupUrl": "${PROTOCOL}//${HOST}:${PORT}/assets/{0}.json.txt",
		"defaultCloseCodes": {
			"Status": "4097",
			"Reason": "1001"
		}
	},
	"ThirdPartyNav": [
		{
			"Label": "Apple Maps",
			"NavigationURI": "http://maps.apple.com/?daddr=+%daddr%,+%dcity%,+%dstate%",
			"SpaceReplace": "+"
		},
		{
			"Label": "Google Maps",
			"NavigationURI": "comgooglemaps://?daddr=+%daddr%,+%dcity%,+%dstate%&directionsmode=driving",
			"SpaceReplace": "+"
		},
		{
			"Label": "Waze",
			"NavigationURI": "waze://?q=%daddr%,%dcity%,%dstate%&navigate=yes",
			"SpaceReplace": "%20"
		},
		{
			"Label": "CoPilot Live v9",
			"NavigationURI": "copilotv9://?q=%daddr%,%dcity%,%dstate%&navigate=yes",
			"SpaceReplace": "%20"
		},
		{
			"Label": "TomTom",
			"NavigationURI": "tomtomhome://?navigateto=%daddr%,%dcity%,%dstate%",
			"SpaceReplace": "%20"
		}
	]
}
JSON Format v1.0.0 through 3.14.1
{   
	"Settings":
	{
		"typeName" : "Object",
		"fields":
		[			
			{ "Dashboard" : ["Info", "InProgress", "Schedule", "TimeEntry", "Inventory", "ComStatus"] },
			{ "NavModules" : ["Schedule", "Inventory", "TimeEntry", "Social"] },
			{ "weekStartDay" : "Monday" },
			{ "gpsPollingInternval" : 60000 },
			{ "logLevel" : "4" },
			{ "cachedPasswordTimeout" : "240" },
			{ "WebSocketsUrl" : "${WS}//${HOST}:61614/fieldservice" },
			{ "WebSocketsFailoverUrl" : "${WS}//${HOST}:61614/fieldservice" },
			{ "useWebSockets" : "true" },
			{ "autoPoll" : "-10" },
			{ "DXTimeout" : "14400" },
			{ "DXRetryDelay" : "5" },
			{ "DataRefreshQ" : "UserDataRefreshRequest" },
			{ "msgRetryTimeout" : "5000" },
			{ "msgMaxRetryCount" : "3" },
			{ "largeMsgSize" : "50000" },
			{ "allowTimeEntryOverlap" : "false" },
			{ "MapServerUrl" : "https://maps.servicemobility.com"},
			{ "MapAuthenticationUrl" : "https://maps.servicemobility.com"},
			{ "MapLocalUrl" : "http://localhost:8080"},
			{ "DiagnosticsUrl" : "${PROTOCOL}//${HOST}:${PORT}/seiapi/v1/diagnostics" },
			{ "SupportPhoneNumber" : "000-555-1212" },
			{ "SupportEmail" : "" },
			{ "photoCacheSize" : "5" },
			{ "dataUpdateNotificationsEnabled" : "false" },
			{ "imageBaseUrl" : "https://s3.amazonaws.com/SPMobility/" },
			{ "imageKeyUrl" : "{module_id}/{entity_pkey}/{biz_key}/{image_name}" },
			{ "paymentUrl" : "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/Payment/Charge?format=json" },
			{ "partRequestQty": 10},
			{ "partRequestUrl": "${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" },
			{ 
                "purgeValues" : { 
					"workOrder" : "7",
					"inventory" : "7",
					"timeEntry" : "30",
					"logEntries" : "14"
				}
			},
			{ 
                "guidCache" : { 
					"requestThreshold" : "900",
					"memoryCache" : "10"
				}
			},
			{ 
                "WorkOrder" : { 
					"allowCreate" : "false",
					"createPartsEnabled" : "true",
					"allowInvOverage": "true",
					"photosEnabled": "true",
					"isSigReq": "false",
					"pauseTravelEnabled": "true",
					"travelEnabled": "true",
					"mappingEnabled": "true",
					"lineItemsEnabled": "true",
					"assetsEnabled": "true",
					"remarksEnabled": "true",
					"signatureEnabled": "true",
					"estimatesEnabled": "true",
					"paymentsEnabled": "true",
					"showPrice": "true",
					"refundReturns": "true",
					"showLocation": "true",
					"requireServiceCodes": "false",
					"reuseOrderNumbers": "false",
					"partOrderingUrl": "${PROTOCOL}//${HOST}:${PORT}/seiapi/v3/mobile/PartsOrdering",
					"partmapLookupUrl": "${PROTOCOL}//${HOST}:${PORT}/assets/{0}.json.txt",
					"defaultCloseCodes": {
						"Status": "4097",
						"Reason": "1001"
					}
				}
			},
			{ 
                "ThirdPartyNav" : [
                {
					"Label" : "Apple Maps",
					"DisplayURI" : "http://maps.apple.com/?daddr=+%daddr%,+%dcity%,+%dstate%",
					"NavigationURI" : "http://maps.apple.com/?daddr=+%daddr%,+%dcity%,+%dstate%",
					"SpaceReplace" : "+"
				},
				{
					"Label" : "Google Maps",
					"DisplayURI" : "comgooglemaps://?center=%long%,%lat%&zoom=14&views=traffic",
					"NavigationURI" : "comgooglemaps://?daddr=+%daddr%,+%dcity%,+%dstate%&directionsmode=driving",
					"SpaceReplace" : "+"
				},
				{
					"Label" : "Waze",
					"DisplayURI" : "waze://?ll=%long%,%lat%&z=10",
					"NavigationURI" : "waze://?q=%daddr%,%dcity%,%dstate%&navigate=yes",
					"SpaceReplace" : "%20"
				},
				{
					"Label" : "CoPilot Live v9",
					"DisplayURI" : "copilotv9://",
					"NavigationURI" : "copilotv9://?q=%daddr%,%dcity%,%dstate%&navigate=yes",
					"SpaceReplace" : "%20"
				},
				{
					"Label" : "TomTom",
					"DisplayURI" : "tomtomhome://showonmap?long=%long%&lat=%lat%",
					"NavigationURI" : "tomtomhome://?navigateto=%daddr%,%dcity%,%dstate%",
					"SpaceReplace" : "%20"
				}
			]}
		]
	}
}

Standard Application Properties

(info) Required properties are in bold.

PropertyTypeDescription
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.

 

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"
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.
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.

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.

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)
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.
logEntries14

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

 

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.
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
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
assetsEnabledboolean

Specifies if the asset sub-module is enabled.

Valid values are:

  • true (default) - The asset sub-module is enabled
  • false  - The asset sub-module is 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)
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:

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
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
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
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.

pauseTravelEnabledboolean

Specifies if pausing travel is allowed.

Valid values are:

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

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

If enabled, work orders must still have the CollectPayment (see: REST Object Definitions Work Order Activity Related Objects 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
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
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
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
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
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
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
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
travelEnabledboolean

Specifies if tracking travel is enabled.

Valid values are:

  • true (default) - Tracking travel is enabled
  • false  - Tracking travel is disabled
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

 

  • No labels