Service Optimization Employee Daily Routine App Subcomponent For use with ClickMobile Touch ClickSoftware Confidential Legal Notice The software with this guide is furnished under a license agreement and may be used only according to the terms of that agreement. Copyright Copyright © ClickSoftware Technologies Ltd. All rights reserved. No part of this publication may be copied without the express written permission of ClickSoftware Technologies Ltd. Patent and Trademark US Patent Number 6,985,872 B2 ClickAnalyze, ClickFix, ClickForecast, ClickMobile, ClickPlan, ClickRoster, ClickSchedule, and ClickSoftware are registered trademarks of ClickSoftware Technologies Ltd. Contact Information Contact information is available from the ClickSoftware web site: http://www.clicksoftware.com. For general information, email to sales@clicksoftware.com. For ClickSoftware Worldwide Support, email to support@clicksoftware.com or see the support page on the ClickSoftware web site. For Partner Enablement, email to partnerenablement@clicksoftware.com. Publication Notice This guide has been carefully compiled. The information in this guide does not constitute a warranty of performance. Furthermore, ClickSoftware reserves the right to revise this publication and make changes from time to time in the content thereof, without obligation to notify any person of such revisions or changes. ClickSoftware assumes no liability for losses incurred as a result of out-of-date or incorrect information in this guide. Version Employee Daily Routine App version: 1.0 Date: August 2015 Employee Daily Routine 3 Contents EMPLOYEE DAILY ROUTINE .......................... 4 Use ............................................................................................................. 4 Prerequisites .............................................................................................. 5 Installation .................................................................................................. 5 Configuration .............................................................................................. 6 Step 1. Configure the Agents Manager ................................................ 6 Step 2. Enabling Server-Side Event ..................................................... 6 Step 3. Configure Loading Criteria ....... Error! Bookmark not defined. Step 4. Configure an EmployeeDailyRoutine Business ViewError! Bookmark not define Reference Information: Object Model ................................................... 7 Reference Information: Components Imported by the Configuration Installer Tool .................................... Error! Bookmark not defined. Comments .................................................................................................. 9 4 Employee Daily Routine Employee Daily Routine Employee Daily Routine is an app subcomponent that collects and stores important data about an employee's daily work schedule, such as constraints on the employee's working hours. ClickMobile apps can use the collected data, for example, to verify that the app output conforms with the constraints. Use ClickMobile users do not use Employee Daily Routine directly. Rather, Employee Daily Routine is a back-office component that collects employee schedule data and sends the data to ClickMobile. Employee Daily Routine 5 The output of the component is an EmployeeDailyRoutine business object that contains the collected data. It contains information collected from the Calendar and Contract objects, for example: The starting time of the employee's regular work The starting time of the employee's overtime The ending time of the work day Compulsory break times In addition, EmployeeDailyRoutine contains the time at which the employee starts travel to the first assignment of the day. The system creates an independent EmployeeDailyRoutine object for each employee on each day, and it sends the object to the ClickMobile client where the employee is logged on. This approach enables apps that run on the ClickMobile client to obtain the required employee data efficiently. Prerequisites This app runs on ClickMobile Touch. For information about the certified versions, see the ClickSoftware AppStore page of this app. Before you install Employee Daily Routine, you must install the Timesheets (Touch) app, version 2.0 or later (app #1175). Employee Daily Routine requires the ActivityType dictionary that is installed with Timesheets (Touch). Installation 1. On one computer where you run the Mobility Studio, download the Employee Daily Routine app subcomponent and extract the compressed file. 2. Use the Configuration Installer Tool (build 79 and later) to load and import the following file. Note: To verify the version build of the Configuration Installer Tool, right-click C:\Program Files (x86)\ClickSoftware\Service Optimization\Bin\W6ConfigurationInstaller.exe and select Properties > Details. In the filename, V.V is the script version number. Employee Daily Routine App (V.V).xml 3. After the script is imported: a. If the Service Optimization Remote Administration is open, close it. 6 Employee Daily Routine b. Open the Service Optimization Structure and re-start the server. 4. Use the App Installer to import the following app file, where V.V is the app version number: Employee Daily Routine App (V.V).wcma For instructions, see the Building and Installing Apps chapter of the ClickMobile Configuration Guide. When complete, the app icon is displayed in the Available Apps pane. Configuration To configure Employee Daily Routine, you must perform the following steps: 1. In the Service Optimization Administration tool, configure the Agents Manager to run the Create EmployeeDailyRoutine agent. 2. Configure a server-side event. 3. Define employee breaks. The following sections provide detailed instructions for each step. The instructions are for ClickMobile version 8.3 Patch 003. The instructions might vary slightly for other versions. Step 1. Configure the Agents Manager The app supplies a Proactive Business Monitoring agent configuration called Create Daily Routine. The agent is designed to run daily. For each engineer, the agent collects the required schedule data for the next day, and it enters the data in the EmployeeDailyRoutine object. Configure the Agents Manager to run the Create Daily Routine agent at least once a day. For detailed instructions, see the Service Optimization Administrator's Guide. Step 2. Enabling Server-Side Event You must enable an event on the EmployeeDailyRoutine collection: 1. In the Service Optimization Administration tool, edit the following setting: Central Settings/Parameters/Events/System Events/EventSystem 2. In the settings window, click Add, and configure an event with the following options: Employee Daily Routine 7 Collection EmployeeDailyRoutine Type W6CMServer.W6CMGenericObjectEvent, W6CMServer Active Select this option. Step 3. Define Employee Breaks You must define employee breaks. In the Breaks user-defined property of the ContractInfo object, define breaks that the employee must take during the day. For information about the ContractInfo object and the Breaks user-defined property, see Contract and ContractInfo Objects. Reference Information: Object Model Calendar Object The Calendar object records the employee's working hours. For a description, see Calendars in the ClickPlatform Configuration Guide. From the Calendar, Employee Daily Routine copies data such as the engineer's working hours on a specific day. Contract and ContractInfo Objects The Contract object records information about contractual constraints on the employee's work, such as minimum and maximum working time. Employee Daily Routine copies data from the nested ContractInfo object pertaining to the specific day. For a description of these objects, see Business Objects in the Service Optimization Web Service API Reference. The app adds the following user-defined properties to ContractInfo: Breaks (Multivalue) Breaks that the employee must take during the day. Note: You must define employee breaks. Breaks are not defined by default. See Step 3. Define Employee Breaks. Each element of the multivalue has the following nested properties: 8 Employee Daily Routine ActivityType (Key to ActivityType dictionary) The activity type of the break, such as Break or Idle. For an explanation of activity types, see the Timesheets (Touch) documentation (app #1175). BreakName (String) A name for the break, such as Lunch, Coffee, or Rest. MaximumBreakDuration MinimumBreakDuration (Duration) The required break duration in seconds. MaximumTimeFromPreviousBreak MinimumTimeFromPreviousBreak (Duration) The required break start time, in seconds from the start time when the employee actually took the previous break. MaximumTimeFromStartOfDay MinimumTimeFromStartOfDay (Duration) The required break start time, in seconds from the start of the employee's working day as defined in the Calendar object. BreaksDefined (Boolean) True if the Breaks property has been assigned. If false, Employee Daily Routine ignores the property. MinimumWorkPerDay (Duration) The minimum working time in seconds. MinimumWorkPerDay (Boolean) True if the MinimumWorkPerDay property has been assigned. If false, Employee Daily Routine ignores the property. EmployeeDailyRoutine Object The EmployeeDailyRoutine object stores the collected employee data for a single day. The object has the following properties: Breaks (Multivalue) Breaks that the employee must take during the day, copied from the ContractInfo object. CalendarEndOfDay CalendarStartOfDay (Date) The employee's working period on the specific day, copied from the Calendar object, including both regular and optional work time. Employee Daily Routine 9 CalendarStartOfOvertime (Date) The time at which the employee's regular hours end and overtime starts, as defined in the Calendar object. District Region (Key to District or Region dictionary) The region and district where the employee is located. Employee (Key to Engineer collection) The engineer to whom the data applies. EntryDate (Date) The start of the day (midnight) to which the EmployeeDailyRoutine object applies. All the EmployeeDailyRoutine properties refer to this day. ExpectedStartOfTravel (Date) The time when the employee must start travelling from the employee's homebase to the first assignment of the day. The system computes this time by subtracting the travel time from the start time of the employee's first assignment on that day. LastUpdate (Date) The time when the EmployeeDailyRoutine object was created or last updated. MaximumWorkPerDay MinimumWorkPerDay (Duration) The required working time of the employee, copied from the ContractInfo object. MobileKey (String) An identifier assigned by ClickMobile. Comments The ClickMobile appearance is configurable. The layout might differ on your device.