ServiceMobility and ServiceScheduling Integration
This document describes the configuration steps required for integrating ServiceMobility with ServiceScheduling.
Configure ServiceMobility with ServiceScheduling Settings
Edit sql/EntitySSIntegration.sql and update the following variables based on the ServiceScheduling installation
Variable Name | Description | Example Value |
---|---|---|
@EntityName | Identifies an existing ServiceMobility Entity. This Entity must have already been setup during the ServiceMobility installation process. | ABCCorp |
@SchedulingEnabled | Enable SchedulingService Integration | true |
@SchedulingHost | Identifies the ServiceScheduling API Host URL, including port number. | http://10.1.1.10:6502 |
@SchedulingDBUser | Identifies the the ServiceScheduling database user id.
| dbuser |
@SchedulingExtObjName | External Data Object name used to store Mobility logon info for Technicians. | Overview |
@SchedulingUser | Identifies the user name used to connect to the ServiceScheduling API. | username |
@SchedulingPassword | Identifies the password used to connect to the ServiceScheduling API. | password |
2. Execute the sql/EntitySSIntegration.sql script on the ServiceMobility
database to set the configurations for the specified entity.
Enable UTC timezone for ServiceScheduling APIs used by ServiceMobility
ServiceMobility requires all dates and times to be stored in UTC format. ServiceScheduling must be configured to provide UTC dates on the specific APIs called by ServiceMobility.
Execute the following query on the ServiceScheduling database to specify UTC dates and times.
select * from SP083_system_parameters where name in ('tz_CJS', 'tz_GJAPI', 'tz_GAAPI', 'tz_disp_api')
Mapping JobTypes from ServiceScheduling to ServiceMobility system:
JobTypes that are defined in ServiceScheduling system need to be mapped and setup in the ServiceMobility system manually; as they are separate systems and JobTypes are not exchanged automatically between the 2.
Export JobTypes from ServiceScheduling database in JSON snippet:
select '{"SysActID": "' || analysis_ref || '",' || '"Desc": {"en": "' || description || '"}},' from sp070_activity_standards order by analysis_no
sample output{"SysActID": "1","Desc": {"en": "Printer Install"}}, {"SysActID": "63","Desc": {"en": "PC Email Setup and Configuration"}}, {"SysActID": "64","Desc": {"en": "PC Hardware Install / Data Transfer"}},
Combine the export JSON snippet from above step to the following final API payload for Importing to ServiceMobility system:
Trailing comma
Remember to remove the last comma ',' character from the export JSON snippet when combining to the final API payload, as defined below.
Sample final payload{ "SysCatID": "9", "Desc": { "en": "WorkOrder Type" }, "SysActs": [ {"SysActID": "1","Desc": {"en": "Printer Install"}}, {"SysActID": "63","Desc": {"en": "PC Email Setup and Configuration"}}, {"SysActID": "64","Desc": {"en": "PC Hardware Install / Data Transfer"}} ], "SubCats": [] }
Use the JSON payload from step 2 to import JobTypes to ServiceMobility system by using the SystemCategory API with PUT method.
SystemCategory API
https://[hostname]/seiapi/v3/trans/SystemCategory/Default/9?format=json&customerid=[customerid]&customercode=customercode
- This completes the import process of JobTypes into ServiceMobility system.
DispatchClient
All Job related activities are dispatched to ServiceMobility system through ServiceScheduling DispatchClient module, and please refer to ServiceScheduling installation guide to setup DispatchClient in the environment based on the following information for DispatchClient runtime parameters:
Parameter | default value |
---|---|
-u | http://[hostname]:9191 |
-C | @EntityName |