Sei sulla pagina 1di 229

Workforce Central ®

API Quick Start Guide

An introduction to the Workforce Central API

Kronos, Workforce Central suite version 8.1.4


The information in this document is subject to change without notice and should not be construed as a commitment by Kronos
Incorporated. Kronos Incorporated assumes no responsibility for any errors that may appear in this manual. This document or
any part thereof may not be reproduced in any form without the written permission of Kronos Incorporated. © 2019 Kronos
Incorporated. All rights reserved.
CardSaver, Gatekeeper, Gatekeeper Central, Keep.Trac, Kronos, Kronos InTouch, Kronos Touch ID, the Kronos logo, Kronos
Workforce Ready, My Genies, OptiLink, ShiftLogic, ShopTrac, Timekeeper Central, TimeLink, Unicru, Visionware, Workforce
Accruals, Workforce Central, Workforce Genie, and Workforce TeleTime are registered trademarks of Kronos Incorporated or a
related company. ACA Manager, CMS, Comm.Mgr, CommLink, DKC/Datalink, eDiagnostics, FasTrack, Hireport, HR and Payroll
Answerforce, HyperFind, iBid, Kronos 4500, Kronos 4500 Touch ID, Kronos 4510, Kronos Acquisition, Kronos ByDemand, Kronos
e-Central, Kronos Efficient, Kronos Enterprise Archive, Kronos Essentials, Kronos for Dining Accelerated, Kronos for Retail
Accelerated, Kronos KnowledgePass, Kronos Paragon, Kronos TechKnowledgy, KronosWorks, KVC ByDemand, KVC OnDemand,
Labor Plus, MedSched, MPPXpress, Overall Labor Effectiveness, Schedule Assistant, Smart Scheduler, Smart View, StaffEasy,
Start Quality, Start WIP, Starter Series, StartLabor, Stromberg, Timekeeper Decisions, Timekeeper Web, VisionPlus, WebStaff,
webTA, webTA Mobile, Winstar Elite, WIP Plus, Workforce Absence Manager, Workforce Acquisition, Workforce Activities,
Workforce Analytics, Workforce Attendance, Workforce Auditor, Workforce Budgeting, Workforce Central Portal, Workforce
Connect, Workforce Device Manager, Workforce Dimensions, Workforce Employee, Workforce ESP, Workforce Forecast
Manager, Workforce HR, Workforce Innovation That Works, Workforce Institute, Workforce Integration Manager, Workforce
IntegrityScreen, Workforce Leave, Workforce Manager, Workforce Mobile, Workforce MobileTime, Workforce Operations
Planner, Workforce Payroll, Workforce Record Manager, Workforce Recruiter, Workforce Scheduler, Workforce Scheduler with
Optimization, Workforce Selection, Workforce Smart Scheduler, Workforce Sourcing Analytics, Workforce Tablet, Workforce
Tablet Analytics, Workforce Talent Acquisition, Workforce Task Management, Workforce Tax Filing, Workforce TeleStaff,
Workforce TeleTime IP, Workforce Timekeeper, Workforce View, and Workforce Worksheet are trademarks of Kronos
Incorporated or a related company.
For a complete list of Kronos trademarks, please visit the "trademarks" page at www.kronos.com. The source code for Equinox
is available for free download at www.eclipse.org. All other trademarks or registered trademarks used herein are the property of
their respective owners and are used for identification purposes only. All specifications are subject to change.
When using and applying the information generated by Kronos products, customers should ensure that they comply with the
applicable requirements of all applicable law, including federal and state law, such as the Fair Labor Standards Act. Nothing in
this Guide shall be construed as an assurance or guaranty that Kronos products comply with any such laws.
Published by Kronos Incorporated
900 Chelmsford Street, Lowell, MA 01851 USA
Phone: 978-250-9800, Fax: 978-367-5900
Kronos Incorporated Global Support: 1-800-394-HELP (1-800-394-4357)
For links to information about international subsidiaries of Kronos Incorporated, go to
http://www.kronos.com

Document Revision History


Document Revision Release Date
A December 2019
Contents

Overview of the API and Guides 9


Introduction 10
How tags are described in the DTK 10
Audience 11
Conventions 12
The basics 12
The server 12
Well-formed XML requests 13

XML Tags 15
What is a tag? 16
Root, request, and transaction elements 16
XML actions 17
Root-level and nested tags 17
Root-level tags 17
Nested tags 18
Differences between XML tags and the user interface 18
Scheduling: Pay code 18
Punch: Pay from schedule 18
Utilities to Post the XML API 19
Send your request to the server 20
Check the response 20

Application Program Interfaces 23


Build an interface 24
Java example 24
Visual Basic example 26
JavaScript example 27
Example Time Card Editor 27
Application overview 27
System requirements 28
Source code 28
Considerations 36
Troubleshooting 36

Code Samples 38
Introduction 39
Platform 39
Log in 39
Log out 40
Ping — Keep a session active 40
GetServerTime 41
LoadLogonProfile 41
LoadMenu 41
Kronos XML Test 42
Access control 43
IsPermitted 44
LoadAccessProfile 44
LoadAccrualData 45
LoadAllAccessControlPointNames 46
LoadAllActionNames 55
LoadAllowedPermissions 56

4
LoadAllSuiteProductNames 69
LoadWorkflowAccessAssignment 70
Accruals 70
LoadAllAccrualCodes 71
UpdateEarnedAccrual 71
LoadAccrualProfile 72
LoadAllAccrualProfiles 73
UpdateAccrualProfileName 74
LoadAllPayCodes 75
LoadAllTimeFrames 75
LoadAllWorkRules 76
LoadAllEvalRuleType 76
LoadLocationRuleSet 76
UpdateResetAccrual 77
HyperFind query 78
GetQueryCount 78
LoadAllQueries 78
LoadAllQueriesPrivate 80
LoadAllQueriesPublic 80
RunQuery 81
Labor levels 83
CreateAdHocLaborAccountName 83
LoadLaborAccount 83
UpdateLaborAccountName 84
AddOnlyLaborAccountSet 85
UpdateLaborAccountSet 86
UpdateOnlyLaborAccountSet 87
LoadAllDefinitions — Labor Levels 88
NumberOfLaborLevels 89
AddLaborLevelEntry 89
GetCountsByLaborLevel 90
LoadByWildcard — Labor Level Entries 91

5
LoadLaborLevelEntry 94
UpdateOnly — Labor Level Entry 95
Person information 96
AddOnlyPersonality 96
LoadPersonality 97
UpdateAccessProfileName 100
UpdateBadgeAssignments 102
UpdateBaseWageHourly 103
UpdateCustomData 104
UpdateDeviceGroupName 106
UpdateCustomDates 107
UpdateEmailAddress 109
UpdateEmploymentStatus 110
UpdateExpectedHours 111
UpdateHomeAccounts 114
UpdateLicenseType 115
UpdatePhoneNumber 118
UpdatePostalAddress 120
UpdateSupervisor 121
UpdateTimeZoneName 124
UpdateUserAccountStatus 127
Process profiles 128
Load — Process Profile 129
LoadAllProcessProfiles 129
LoadById — Process Profiles 130
Scheduling 130
AddEmployees — to Schedule Group 130
AddNew — Shift Code 131
AddNewtoMoreThanOneEmployee 134
AddNewWithBreakType 136
AddNewWithLaborAccountTransfer 139
AddNewWithOffType 141

6
AddNewWithTransferType 143
AddScheduleItems 146
DeleteShiftCode 146
LoadAllGroups 147
LoadAllPatterns 148
LoadAllShiftCodes 158
LoadGroups 159
LoadPattern 161
LoadSchedule 162
LoadTemplatePatterns 165
LoadAllCertifications 168
RemoveEmployees from and AddEmployees to a Schedule Group 168
UpdateandDeletePattern 170
UpdateGroup 172
UpdateGroupShiftwithShiftCode 176
UpdatePayRuleName 182
UpdateSkill 185
UpdateUserData 186
UpdateWithAShiftCode 187
Timekeeping 188
AddCommentToPCE 188
AddCommenttoWorkedDuration 190
AddOnlyPunch 191
AddPayCodeEdit 192
AddPayCodeMove 193
AddPunchWithLaborAccountTransfer 194
AddPunchWithWorkRuleTransfer 194
AddStraightPunch 195
AddWithAdHocLaborAccountTransfer — Pay Code Edit 196
AddWithAdHocLaborAccountTransfer — Punch 196
AddWorkedDuration 197
ApproveSignOff 198

7
CancelDeduct 198
CheckStatus — PunchStatus 200
Delete and AddOnly Punch 201
DeletePayCodeEdit 202
DeleteWorkedDuration 203
InsertHistoricalPayCodeEdit 204
InsertHistoricalPayCodeMove 205
kindredTest 206
LoadDailyTotals 207
LoadPeriodTotals 208
LoadTimesheetInCurrentPayPeriod 210
LoadTimesheetInPeriodDateSpan 219
PeriodIsSignedOffByDateRange 221
PeriodIsSignedOffByPayPeriod 222
UpdateMarkForTotalization 223
Glossary 225

8
Overview of the API and Guides

9
Introduction
You can interact with Workforce Central as follows:
l From the user interface
l As a batch job: Setup > System Configuration > Batch Action Sets
l From the XML Application Programming Interface (API)
This Workforce Central API Quick Start Guide describes how to get started and use the XML API.
However it does not cover all the ways you can use or misuse XML requests.
For full reference documentation for the XML API, refer to the Workforce Central Developers Toolkit
Reference Guide (DTK) for the product that you are using.

How tags are described in the DTK


The XML tag <name> includes the technical name, or how the code refers to the tag, and the non-
technical name, or how the XML Import and Export Guides and the user interface refer to the tag.
The Workforce Central Developers Toolkit Reference Guides describe all of the Workforce Central APIs
in detail as follows.

Tag name
l Example technical name: BudgetEngineOptionAssignment
l Example non-technical name: Assign Budget Engine Option to Forecast Category
l Example interface location: Setup > Budgeting Setup > Budgeting Option Sets > Assign tab.

Tag description
The XML tag <description> gives an overview of the uses of the XML tag and specifies whether it can be
used by another XML tag.

Function access control point


The Function Access Control Point identifies the functional area that you must be able to access in order to
use the XML tags within that functional area.
Example: For the <AvgPayrateSet> tag, the function access control point is Budgeting. This means
that you must have access to Budgeting in order to use this tag.
l To configure access rights, select Setup > Access Profiles > Function Access Profiles.
l To check which function access profile is assigned to you, check your Access Profiles on the Job
Assignment tab of the People Editor.

10
Versions
The Introduced in v#.# version information specifies the Workforce Central version number when the tag
was introduced or last modified.
Versions specifies if the tag will be deprecated in the next major release.

Syntax
The Syntax shows the legal inclusions for that tag.
l Request — Shows the basic format of all XML API Requests. Actions and Parameters
appear inside the <Request> start tag, but Properties appear between the <Request> start tag
and the </Request> end tag.
l Actions — Shows the actions that are associated with the tag. The tag can only be included in a
<Request> that has one of the listed actions specified. If no action is listed, the tag cannot be
included as a root-level tag in a <Request>.
l Parameters — Shows the parameters that can be included as part of the <Request> start tag, so
long as a specified action is included.
l Properties — Shows the properties that can be included within the <Request> start tag, and the
tags and that can be nested between the start tag and the end tag.

Action Descriptions
Action Descriptions explains the function executed by each Action, and can include access control and
version information.

Property Descriptions
Property Descriptions defines each Property of the tag, and can include access control and version
information.

Audience
Readers should be familiar with:
l Distributed client-server environments
l Tag-based markup languages such as Hypertext Markup Language (HTML) and XML
l Data transfer protocols such as Transmission Control Protocol/Internet Protocol (TCP/IP), Hypertext
Transfer Protocol (HTTP), and Hypertext Transfer Protocol Secure (HTTPS)
l High-level programming languages
l The Workforce Central Graphical User Interface (GUI)

11
Caution: Incorrect use of APIs can result in data loss or a destabilized system. If you are not sure about
a method or a process, ask for help.

Conventions
l Examples in this guide always use a url_prefix of “wfc”. The prefix may vary for different application
instances.
l Monospace is used for all examples, Uniform Resource Locators (URL), and directory names:
<Request Action="Load">
https://server_name/url_prefix/webservice/WFCWebServices?WSDL
l Italic monospace is used for values that are specified as variables. Example:
Username="username"
l "Tag" represents a named collection of properties. Example:
<tag>
<property1>
<property2>
</tag>
l Actions can be associated with a tag. Example:
<Request Action="Load">
l The returned response to any <Request> in this guide can be spaced differently from the example.

The basics
To send a <Request> through the XML API, you need:

The server
A Workforce Central server is the machine that you log into when you want to run the program. It is
typically located apart from your computer and it provides an XML API.
To identify the server:
1. Open a web browser.
2. In the Address bar, enter a URL that starts https://server_name/url_prefix/...
o Substitute the name of your actual Workforce Central server, followed by its URL prefix, for the
text server_name/url_prefix.
o Example: https://server_name/url_prefix/XmlService
o Depending on configuration, your server may use the https or http protocol.

12
3. Press Enter.
o If you receive a response in XML format that starts with <Response Status=Success, the
URL is correct.
o If you receive an error message, find the correct URL for your server’s XML API.

Well-formed XML requests


An XML Request is formatted text that is posted to the server, instructing Workforce Central to perform an
action or return data.
A well-formed XML document is one that conforms strictly to a rule-based syntax. The following are the
basic rules governing the creation of a well-formed XML document.
For up-to-date information about XML, refer to http://www.w3.org/XML/.

Declaration and Kronos_WFC element


An XML document always starts with an XML declaration and includes a <Kronos_WFC> element that
contains all other elements:
<xml version="1.0" encoding="UTF-8"?>
<Kronos_WFC>
<all_other_elements/>
</Kronos_WFC>

Start and end tags


XML does not tolerate elements with misplaced or missing start or end tags.
Correct example:
<Request Action="NameOfAction">
<ElementName>
</ElementName>
</Request>
Incorrect examples:
<Request Action="NameOfAction">
<ElementName>
</Request>

<Request Action="NameOfAction">
<ElementName>
</Request>
</code>ElementName>

13
Empty elements
An empty element is an element which if formatted with start and end tags, would contain no other
elements between the start and end tags. A properly formatted empty tag has no separate end tag, but the
start tag ends in a slash.
Example:
<Request Action="Ping" Object="System" />

XML parser
You can use an XML parser to examine the basic format of your statements, to determine if they are well
formed. This can save time by catching basic formatting errors.
After you run the XML Request, the server sends a response to the originating utility. Check the response
to see if your Request was accepted, or to obtain the requested data.

14
XML Tags

15
What is a tag?
Tag is the Workforce Central name for a standard XMLelement that contains properties and is associated
with actions.
Tags represent a functionality of the software. In general, a tag corresponds to a specific functionality of a
control or a set of controls in the user interface. The properties and parameters of a tag correspond to the
options for that control or set of controls.

Root, request, and transaction elements


The root element for Workforce Central XML is always the <Kronos_WFC> tag. All other tags are
contained within <Kronos_WFC>.

Description Format
A <Kronos_WFC> start <?xml_version="1.0" encoding="UTF-8"?>
tag immediately follows <Kronos_WFC>
the XML declaration. <contents_of_the_XML_file/>
A </Kronos_WFC> end </Kronos_WFC>
tag closes the XML file.
A <Request> element is <Kronos_WFC>
nested directly in a <Request Action="YourAction">
<Kronos_WFC> element <YourElements/>
or <Transaction>
</Request>
element.
A <Request> tag </Kronos_WFC>
identifies exactly one
action.
A <Transaction> tag <Kronos_WFC>
delimits an element that is <Transaction>
nested directly in a  <Request Action="YourAction1">
<Kronos_WFC>
  <YourElements/>
element.
A <Transaction>  </Request>
element contains multiple <Request Action="YourAction2">
<Request> elements.
If any request in the   <YourElements/>
transaction fails, the entire  </Request>
transaction is backed out.
</Transaction>
</Kronos_WFC>

16
XML actions
An Action is an attribute of a Request element.
Every Workforce Central XML <Request> must contain one and only one Action attribute. Example:
<Request Action=”AddOnly”/>

Although that Action must be directly associated with a root-level tag, its effects pertain to the root-level
tag and all nested tags. Example:
<Request Action="some_action">
<associated_tag>
</associated_tag>
</Request>

Some tags can be directly specified with several actions. Example: The <Personality> tag can
contain AddOnly, Delete, DeleteOnly, Update, UpdateOnly, and Load actions.
In general, the actions defined for various tags in the Workforce Central XML API operate in similar
ways. Example: The Delete action usually marks an object for deletion. However, actions with the same
name can behave differently in different tags. Refer to the Reference Guides to make sure that a tag
produces the expected behavior.

Root-level and nested tags


Tags can be at the root level or nested.

Root-level tags
A root-level — or actionable — tag is specified directly in a <Request> statement. A root-level tag is
always associated with an action and is used to operate on data.
Example: Specify the <VolumeDriver> tag in a <Request> tag because the <VolumeDriver> tag
is associated with the RetrieveAllNames action:
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="RetrieveAllNames" >
<VolumeDriver/>
</Request>
</Kronos_WFC>

The system responds:


<?xml version='1.0' encoding='UTF-8' ?>
<Kronos_WFC version="1.0" WFCVersion="6.4.0.466"

17
TimeStamp="2/05/2013 10:43AM GMT-05:00">
<Response Status="Success" Action="RetrieveAllNames">
<NameList PropertyName="VolumeDriverName">
<Names>
   <SimpleValue Value="Sales"/>
   <SimpleValue Value="Customers"/>
   <SimpleValue Value="Items"/>
   <SimpleValue Value="Flowers"/>
   <SimpleValue Value="Transactions"/>
   <SimpleValue Value="Weights"/>
   <SimpleValue Value="Cases"/>
</Names>
</NameList>
</Response>
</Kronos_WFC>

Nested tags
A nested tag is always specified as a property of the tag that uses it.
Example: The <SimpleValue> tag is used by the <Names> tag in the preceding <Response>. The
only valid property of the <Names> tag is the <SimpleValue> tag.
If no actions are associated with a tag, that tag can be used only as a property of another tag.

Differences between XML tags and the user interface


In most cases the XML tags have all of the same functionality as commands from the user interface.
However, exceptions include:

Scheduling: Pay code


When importing a schedule pay code edit, the SchedulePayCodeEdit XML tag requires that you specify the
start time of the pay code edit in the DisplayTime property. It will always add an explicit pay code amount,
not a full- or half-day scheduled pay code amount. The accrual takings are based on the explicit pay code
amount.

Punch: Pay from schedule


In the time card, you can edit Pay From Schedule punches after they have been added. You cannot edit
these punches when you import them using the Punch XML tag.

18
Utilities to Post the XML API

19
Send your request to the server
To send a <Request> to the Workforce Central server, you need to use an XML HTTP utility or an add-
on for a web browser so that it can send an http post to the server.
Examples:
l Firefox: Poster extension
l Chrome: DevHTTP Client app
This utility sends your <Request> to the server by way of the HTTP Post command.
A <Request> can send data to the server, or it can retrieve data from the server.
l If you send data, the server sends a <Response> to confirm reception to the utility.
l If you retrieve data, the server sends a <Response> that contains the requested data to the utility.
Instructions vary depending on the utility, but you enter the following requirements:
l The server name
l Your login name and password
With some utilities, you provide these by filling in text fields in the utility; with other utilities, you log in
by posting the <Request> below.
l Some way to enter the <Request> and any applicable data
Typically this is the path to an XML file, but can also be text in a text field in the utility.
l The content type of the XML file must be set to “text/xml”
l The Post command
l Establish an HTTP session from your client machine to a Workforce Central application server by
connecting to the following URL:
http://server_name/url_prefix/XmlService
Example: If the server name is MyServer and the prefix is wfc:
http://MyServer/wfc/XmlService

Check the response


After you post an XML <Request> to a server, the utility displays a response. Check the response to see
if the server correctly processed the <Request>.
The general format of most responses:
<?xml_version="1.0" encoding="UTF-8" ?>
<Kronos_WFC TimeStamp="time" WFCVersion="product_version" version="1.0">
<Response Status="SuccessOrFailure">
{Response_information}
</Response>

20
</Kronos_WFC>
Check for errors or warnings in the response and investigate as needed. A response that includes
<Response Status="Success" ... indicates that the Request was correctly formatted and
posted.

21
22
Application Program Interfaces

23
Build an interface
This topic explains how to interface your Workforce Central XML with other application programs and
create Web-based applications that transmit and receive real-time information from the Workforce Central
system.
To develop an interface to a Workforce Central system, do one of the following:
l Embed the XML statements in an application program that is written in a high-level language such as
Java, JavaScript, C++, or VBscript. During compilation, the compiler uses a preprocessor to
dynamically deconstruct the XML into a Document Object Module (DOM). The programming
languages can then access and manipulate XML objects within the DOM.
l Support XML in Visual Basic with Active Server Pages (ASP).
l Use a high-level language to programatically convert XML API tags to XML strings that are
temporarily stored in one or more files. Because you store each XML string in a file, you can
dynamically specify properties by binding properties to specified values before passing each string to
the Workforce Central server as an XML request stream.
l Use a programming language, such as JavaScript, to convert your XML statements into JavaScript
code equivalents.
l Embed the XML statements in an HTML page. Then, use a high-level language to handle the output.
l Run any of the examples in this topic, statically or dynamically, in an HTML page.
l Workforce Central has a user interface that converts the user’s requests into XML statements. Other
integration tools may have similar interfaces.
Because HTTP sends XML data in one text string, any program that embeds XML sends requests and
receives responses in string format.
You can dynamically modify the XML statements by providing values for variables. Example: If you use
information from your human resources system to update information about people in the Workforce
Central system, the program can loop through all of the modifications in the human resources system and
submit XML updates to Workforce Central.

Java example
This Java example shows the steps to log on to Workforce Central, establish an HTTP connection, and use
cookies to maintain the session.
1. Open an HTTP connection from your client machine to an application server with the following URL
string:
URL url =
new URL(“http://MyHost/1/XmlService”);
HttpURLConnection
conn = (HttpURLConnection)url.openConnection();
2. Configure the connection so that the HTTP method is set to “POST” and the type of content is set to

24
“text/xml”:
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-type","text/xml");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
3. The HTTP connection you establish is synchronous.
Because each response must immediately follow a request, ensure that no proxy server or intermediate
gateway attempts to cache the request or the response. If any possibility of caching exists, place a
sequence number in each request and confirm that the response contains the same sequence number.
The first XML request is to log on. The HTTP response will contain a cookie that you need to save for
each subsequent HTTP request. Record all cookies.
Vector cookies = new Vector();
//set the cookie values - if available
for (int i=0; i <cookies.size(); i++)
{ String cookie = (String)cookies.elementAt(i); if (cookie.startWith
("JSESSIONID=")) ( oconn.setRequestProperty("Cookie", cookie); }
4. Write your XML statements as a single HTTP text string:
String
xml_send = “<?xml version="1.0">
<Kronos_WFC>
[XML statements]
</Kronos_WFC>”

PrintWriter out = new PrintWriter


(new outputStreamWriter
{conn.getOutputStream()));
out.println(xml_send);
out.close();
5. Connect to the server:
conn.connect();
6. When you receive an HTTP response from the application server, open the response:
InputStream = conn.getInputStream();
7. The HTTP response from the server contains the XML response. For the XML Logon request, the
string xml_recv contains the following HTTP response:
int size = conn.getContentLength();
byte[] dataBytes = new byte[size];
int bytesRead = 0;
int pos = 0;

25
//read stream into byte array
while ( (bytesRead >= 0) && (pos < size)) {
if ((bytesRead = is.read(dataBytes, pos,
size-pos)) >= 0) {
pos = pos + bytesRead;
}
}

String xml_recv = new String(dataBytes, 0, size);


is.close();
8. Store the cookie:
int j = 1; //
while (true) {
String key = conn.getHeaderFieldKey(j);
if (key==null)
break;
else if (key.equals("Set-Cookie")) {
String value = conn.getHeaderField(j);
cookies.addElement(value);
}
j++;
}

Visual Basic example


This Visual Basic example shows the steps to log onto Workforce Central, establish an HTTP connection,
and use cookies to maintain the session. Visual Basic internally manages cookies and much of the HTTP
connection handling.
The following Inet1 COM object handles the invocation of the HTTP request:
Dim sPost As String
Dim sAction As String
Dim sXMLData As String
Dim sHTTPHeaders As String

sPost = "POST"
sAction = "http://MyHost/1/XmlService"
sXMLData = "<xml ..> <request …….. /></xml>"

26
sHTTPHeaders = "Content-type: text/xml"

' Inet1 object is an instance


' of the msinet.ocx control
' placed on the current form
Inet1.Execute sAction, sPost, sXMLData, sHTTPHeaders

JavaScript example
This example API shows the use of JavaScript and HTML to build a graphical user interface that opens in
a browser for the Workforce Central server.

Example Time Card Editor


This example is provided for instructional purposes only and is not supported by Kronos.

Application overview
l The XML tags used in this example are converted to a format consistent with JavaScript. Each tag's
corresponding object definition is in a file with the tag’s name and a .js extension.
l This application uses the XML service to provide a user interface for Workforce Central. A JavaScript
object, XML HTTP that is defined in the API.js file, transfers the data between the Web browser

27
and Workforce Central.
l The logon username and password are hard-coded into the source code as DEFAULT_USER =
"superuser" and DEFAULT_PSWD = "<superuser password>". Change the password to match the one
used at your site.

System requirements
This example requires MS XML version 2.0 or greater with Service Pack 4 (SP4) or later.
This application uses the following source code files:
l API.js
API.js defines the converted JavaScript methods and objects for logging on and off, and for passing
XML Requests to Workforce Central.
l Comment.js
l Cookies.js
l DateFormat.js
l DropdownList.js
l HyperFindQuery.js
l PayCode.js
l readme.htm
l Recordset.js
l timecardeditor.htm
l Timesheet.js
l Tooltip.js
l Transactions.js

Source code
The following is the source code in the API.js file.
l The values returned by this application are not those returned by XML. Example: The login and logout
methods return true or false, depending on the status that is returned from XML.
l Substitute the actual superuser password used at your site for <superuser password>.
/*
Copyright:Kronos, Inc. 2001

Description:
This file provides the basic methods and objects needed to login, logout, and
send xml requests to WFC v4.0 xml api gateway.

28
Methods:
Logon(username,password[,url]) return true or false
logoff([url]) return true or false
execute(dom,url,action)
return response dom if Status="Success",
else returns null

Object:
XMLHTTP([url]) send and receive xml streams from any
given url
XMLHTTP.send(xml)send the xml stream to the given
url and returns the response

Object:
Request([url][,dom][,parent]) default dom is created
with Kronos_WFC/Request node path
Request.getAction() returns the action attribute
value
Request.setAction(str) sets the action attribute
value
Request.getObject() returns the contained node
Request.setObject(obj) sets the contained node
Request.getNode() returns the current dom
Request.execute([action][,obj]) returns the response
node on success otherwise null
Request.getResponse() returns the full response dom
returned from server after execute()
Request.onchange set this property to a function
handler, when the Request object
changes, the function handler will be invoked
Request.getDocumentElement() returns the
documentElement (i.e. top level node)
*/
// global variables
var jsessionid = ''

29
// constants
var SESSION_COOKIE = 'jsessionid'
var DEFAULT_URL = 'http://MyHost/1/XmlService'
var DEFAULT_USER = 'superuser'
var DEFAULT_PSWD = '<superuser password>'
var ACTION_ATTR = 'Action'
var OBJECT_ATTR = 'Object'
var USERNAME_ATTR = 'UserName'
var PASSWORD_ATTR = 'Password'
var QUERY_NAME_ATTR = 'QueryName'
var RESPONSE_STATUS_ATTR = 'Status'
var RESPONSE_STATUS_SUCCESS = 'Success'
var DOCUMENT_ELEMENT_NAME = 'Kronos_WFC'
var REQUEST_NODE_NAME = 'Request'
var RESPONSE_NODE_NAME = 'Response'
var REQUEST_PATH = '//'+DOCUMENT_ELEMENT_NAME+'/
'+REQUEST_NODE_NAME
var RESPONSE_PATH = '//'+DOCUMENT_ELEMENT_NAME+'/
'+RESPONSE_NODE_NAME
//send xml request and return xmlDom response
var XMLHTTP_count=0
function XMLHTTP(url){
this.id='XMLHTTP'+(++XMLHTTP_count)
this.url=(url)?url:DEFAULT_URL
this.method='POST'
this.contentType='text/xml'
this.send=XMLHTTP_send
this._init=XMLHTTP_init
this._http=new Object()

this.setSessionIdFromCookies=
XMLHTTP_setSessionIdFromCookies
this.obj=this.id+'XMLHTTPObject'
eval(this.obj+'=this')
this._init()
}
function XMLHTTP_init(){
//Msxml2.XMLHTTP.3.0 //Microsoft.XMLHTTP
this._http=new ActiveXObject("msxml2.XMLHTTP")
this._http.open("POST", this.url, false)
this._http.setRequestHeader('Content-type',
this.contentType)

30
// Normally this code is not needed, however, there is a known bug that causes
the XMLHTTP object to fail to send cookies.
// This code seems to reduce the frequency of failure.
// Since WFC 4.0 xml api gateway uses cookies to maintain a session id, it is
impossible to get around this bug.
// When Microsoft fixes this bug, it will require clients of this code to
upgrade their XMLHTTP.
// Reference Microsoft MSDN://
http://support.microsoft.com/support/kb/articles/Q290/8/99.ASP if(jsessionid) {
// document.cookie=(SESSION_COOKIE+'='+jsessionid)
}
}
function XMLHTTP_send(xml){
//this._init()
try{
this._http.send(xml.xml)
}catch(e){
e.number = e.number & 0xFFFF
if(e.number == 5){
e.description = "Unable to find URL: "+this.url
}
throw e
}
// see note in init() method ...

this.setSessionIdFromCookies(this._
http.getResponseHeader('Set-Cookie'))
return this._http.responseXML
}
function XMLHTTP_setSessionIdFromCookies(cookies){
if(cookies){
var startPos=cookies.indexOf('jsessionid')
if(startPos>=0){
startPos=cookies.indexOf('=')+1
var stopPos=cookies.indexOf(';',startPos)
jsessionid=cookies.substring(startPos,stopPos)
}
}

31
}
// submit a given dom to a specified url
// return the response node on success
// if you need to know more about the error result, use the Request object
function execute(dom,url,action){
var root=dom.documentElement
if(action){
var node=root.selectSingleNode(REQUEST_PATH)
node.setAttribute(ACTION_ATTR, action)
}
var http=new XMLHTTP(url)
var responseDOM=http.send(root)
if(responseDOM==null){return null}
var
responseNode=responseDOM.selectSingleNode(RESPONSE_PATH)
if(responseNode==null){return null}
var success=(responseNode.getAttribute(
RESPONSE_STATUS_ATTR)==RESPONSE_STATUS_SUCCESS)
if(success){
return responseNode
}else{
return null
}
}
// LOGON method
function logon(username,password,url){
var request=new Request(null)
request.getNode().setAttribute(
USERNAME_ATTR, username)
request.getNode().setAttribute(
PASSWORD_ATTR, password)
request.getNode().setAttribute(
ACTION_ATTR, 'LOGON')
request.getNode().setAttribute(
OBJECT_ATTR, 'SYSTEM')
return(request.execute()!=null)
}

32
// LOGOFF method
function logoff(logoutDOM, url){
var request=new Request(null)
request.getNode().setAttribute(
ACTION_ATTR, 'LOGOFF')
request.getNode().setAttribute(
OBJECT_ATTR, 'SYSTEM')
return(request.execute()!=null)
}
/*
Copyright: Kronos, Inc. 2001
This code is generated. DO NOT Edit!
Request Description:
*/
var NODE_ELEMENT = 1
function __raiseevent(e){
eval(e)
if(this.parent){
this.parent._raiseevent(e)
}
}
var Request_count=0
function Request(url,dom,parent){
this._dom=dom
this.parent=parent
this.url=(url)?url:DEFAULT_URL
this.id='Request'+(++Request_count)
this.name=this.id
this.type=REQUEST_NODE_NAME
this.getNode=Request_getNode
this.getAction=Request_getAction
this.setAction=Request_setAction
this.getObject=Request_getObject
this.setObject=Request_setObject
this.getResponse=Request_getResponse
this.execute=Request_execute
this.onchange=new Function()

33
this.getDocumentElement=Request_getDocumentElement
this.obj='top.'+this.id+'RequestObject'
eval(this.obj+'=this')
}
Request.prototype._raiseevent=__raiseevent
function Request_getNode(){
if(this._dom==null){
var _newdoc=new ActiveXObject(
'msxml2.domdocument')
this._dom=_newdoc.createNode(
NODE_ELEMENT, this.type, '')
if(this.parent){
this.parent.getNode().appendChild(this._dom)
this._documentElement=this.parent.getNode().
documentElement
}else{
var doc=_newdoc.createNode(
NODE_ELEMENT, DOCUMENT_ELEMENT_NAME, '')
doc.setAttribute('Version', '1.0')
doc.appendChild(this._dom)
this._documentElement=doc
}
}
return this._dom
}
function Request_execute(action,object){
if(action){this.setAction(action)}
if(object){this.setObject(object)}
var http=new XMLHTTP(this.url)
try {
this._response=http.send(this.getDocumentElement())
}catch(e){
log("Unable to send request. Possible reason:\
nNumber: "+e.number+"\nDescription: "+e.description)
}
if(this._response==null){return null}
var responseNode=this._response.selectSingleNode(

34
RESPONSE_PATH)
if(responseNode==null){return null}
var success=(responseNode.getAttribute(
RESPONSE_STATUS_ATTR)==RESPONSE_STATUS_SUCCESS)
if(success){
return responseNode
}else{
// use getResponse() to see the xml returned
return null
}
}
function Request_getResponse(){
return this._response
}
function Request_getDocumentElement(){
this.getNode() // insure we have a dom
return this._documentElement
}
function Request_getAction(){
return this.getNode().getAttribute(ACTION_ATTR)
}
function Request_setAction(vAction){
this.getNode().setAttribute(ACTION_ATTR, vAction)
this._raiseevent('this.onchange(
"'+ACTION_ATTR+'")')
}
function Request_getObject(){
return this.getNode().childNodes
}
function Request_setObject(vObject){
var _root = this.getNode().selectSingleNode('//'+this.type)
if(_root){
var _oldnode = _root.selectSingleNode('//
'+this.type+'/'+vObject.type)
if(_oldnode){
_root.removeChild(_oldnode)
}
}

35
this.getNode().appendChild((vObject.getNode)?vObject.getNode():vObject)

Considerations
It is often difficult to anticipate accurately the amount of time or currency that is returned in a response,
because internal calculations are done from time to time. The software applies rules-based calculations
without explicit notification at the XML tag level. Example: If your application submits a <Request>
that stipulates several modifications to data in the system, any <Request> that follows may not reflect
the same data modifications of the first <Request>. This is caused by the background nature of the
software. It may have made modifications between each <Request>.
In this example, to add a new item:
1. Select a Paycode.
2. Enter a duration edit:

a. Select Hours Worked.


b. Enter a date and an amount.
c. Select New.
d. Click Save to submit all current changes to the Workforce Central server.
3. Totals are not updated in the user interface when you enter a new item and save the changes, even
though this event submits the request to the server. To see the updated totals, select Refresh — the
background processor must be running.
4. You are not warned about unsaved data when you log off or leave the Web page; unsaved changes are
lost. Click Save or Run All Transactions to ensure that all current changes are submitted to the
Workforce Central system.
5. For debugging purposes, the GUI’s XML Log window displays the XML Response tags as they come
from the Workforce Central server. Click Show/Hide XML Log to toggle the log display.

Troubleshooting
Problem: If XML HTTP drops a cookie, any subsequent <Response> fails and returns the following:
Status="Failure"
Message="The user has not logged on, so no actions
are legal."
Action="RequestedAction"
ErrorCode="1307"
Solution: Run the Logon request and try again.
Problem: You receive Error number 70: “Unspecified Error” while passing data to the Workforce Central
server.

36
Solution: Ignore the error and try again. If it persists, close and reopen the Web browser and try again.

37
Code Samples

38
Introduction
This section contains selected examples of XML requests.
l Most examples include a <Request> and a successful <Response>. Some examples also include a
failed <Response>.
l These XML examples have been tested against a specific database, and many property values will
likely be different for your system. To use these examples, make sure to change attribute values to the
relevant values for your database.
l Indenting is minimal to balance readability and re-usability. This type of formatting may differ when
you run a <Request>.
These examples are provided for instructional purposes only. In case of a discrepancy, refer to the
Workforce Central Developers Toolkit Reference Guide for your product.

Legal Disclaimer and Copyright Notice: The code samples contained herein are programming code
which are not supported by Kronos and are provided "as is" and only as an accommodation for the
Customer and for the Customer's convenience. If the Customer utilizes such code samples, it shall do so
at its own risk. Kronos provides no warranties of any kind for the code samples, whatsoever. Copyright
2001 Kronos Incorporated. All rights reserved.

Platform

Log in

Request
Although Username and Password are optional properties for the Request tag, they are required for Logon.
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Object="System" Action="Logon" Username="Username"
Password="Password" />
</Kronos_WFC>

Response to a successful Logon


For a successful Logon request, the response returns PersonKey, PersonNumber and Username to identify
the user. Object, Action, and Username are echoed in the response; Password is not.
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 2:19PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Success” PersonKey=”-1” Timeout=”1800” Object=”System”
Action=”Logon” PersonNumber=”SUPERUSER” Username=”SuperUser”/>
</Kronos_WFC>

39
Response to a failed Logon
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 2:19PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Failure” Message=”The logon request failed because the
session is already logged on.” Timeout=”1800” Object=”System” Action=”Logon”
ErrorCode=”1313” Username=”SuperUser”/>
</Kronos_WFC>

Log out
Log off at the end of your session to release resources.

Request
<?xml version="1.0" encoding="UTF-8" ?>
<Kronos_WFC version="1.0">
<Request Object="System" Action="Logoff"/>
</Kronos_WFC>

Response
There is no response to the Logoff request. The session simply ends.

Ping — Keep a session active


If you leave your XML API session open too long, the system automatically logs you out. To avoid being
logged out during periods of inactivity, you can submit a Ping <Request>.
If you are running a real time session, you can schedule Ping to run periodically before your session times
out. However, the Ping request has no effect on a closed session. Whether you session is active or
inactive, Ping will report success.

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Ping" Object="System"/>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Object=”System” Action=”Ping”/>
</Kronos_WFC>

40
GetServerTime

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="GetServerTime" Object="ServerTime"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/10/2001 11:21AM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="ServerTime" Action="GetServerTime">
<ServerTime DateTime="12/10/2001 11:21AM" KronosTimeZone="Eastern"/>
</Response>
</Kronos_WFC>

LoadLogonProfile

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<LogonProfile LogonProfileName="Super Access"/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllLogonProfiles”>
<LogonProfile LogonProfileName=”Super Access” LogonProfileId=”-1”/>
</Response>
</Kronos_WFC>

LoadMenu
This action returns menu items for the specified user’s navigation bar. If no user is specified, you are
designated as the default user.

41
Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<Menu>
<User>
<PersonIdentity PersonNumber="10"/>
</User>
</Menu>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC>
<Response Status=”Success” Action=”Load”>
<Menu>
<MenuItems>
<MenuItem AccessControlPointName=”KRONOS” Depth=”0” ExternalFlag=”false”
Label=”KRONOS” MenuItemName=”KRONOS” MenItemType=”1”/>
<MenuItem AccessControlPointName=”SUMMARY_VIEWS” Depth=”1”
ExternalFlag=”false” Label=”TIMEKEEPING_GENIES” MenuItemName=”TIMEKEEPING_
GENIES” URL=”0” MenItemType=”1”/>
</MenuItems>
<User>
<PersonIdentity PersonNumber=”10”/>
</User>
</Menu>
</Response>
</Kronos_WFC>

Kronos XML Test


Send data to the XML Service.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Kronos XML Test</TITLE>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<META content="MSHTML 6.00.2900.2722" name=GENERATOR></HEAD>

42
<BODY>
<H2>Send data to Kronos WFC XMLService</H2>
<SCRIPT language=JavaScript1.2>
function setAction(form) {
var actionName = form1.CommProtocol.value;
actionName += form1.HostName.value;
actionName += "/wfc/XmlService";
form2.action=actionName;
}
</SCRIPT>
<FORM name=form1 action="" method=post><BR><LABEL>Communication Protocol:
<SELECT name=CommProtocol> <OPTION value=http:// selected>Non SSL</OPTION>
<OPTION value=https://>SSL</OPTION></SELECT> </LABEL><BR><LABEL>HostName:
<INPUT
value=localhost name=HostName> </LABEL><BR></FORM>
<FORM name=form2 action=JavaScript:setAction(this) method=post><TEXTAREA
name=KronosXML rows=25 cols=120>
<?xml version = "1.0"?>
<kronos_wfc version="1.0">
<Request object="SYSTEM" action="LOGON" username="Import"
password="kronites"/>
<!-- Place your request here -->
<Request OBJECT="WorkRule" ACTION="LoadAllWorkRules">
</Request>
<Request object="SYSTEM" action="LOGOFF" />
</kronos_wfc>
</TEXTAREA> <BR><BR>Press the button twice to submit this query.<BR><INPUT
type=submit value="Submit Query">
</FORM>
</BODY>
</HTML>

Access control

43
IsPermitted

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="IsPermitted" Object="AccessProfile" SuiteProductName="ALL_
PRODUCTS" AccessControlPointName="KRONOS.AD_HOC_LABOR_LEVEL_ENTRIES"
ActionName="Allowed" PersonNumber="6"/>
<Request Action="IsPermitted" Object="AccessProfile" SuiteProductName="ALL_
PRODUCTS" AccessControlPointName="KRONOS.ADMINISTRATION.Email_WORKFLOW"
ActionName="Allowed" PersonNumber="SuperUser"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="AccessProfile" Action="IsPermitted"
PersonNumber="6" SuiteProductName="ALL_PRODUCTS" ActionName="Allowed"
AccessControlPointName="KRONOS.AD_HOC_LABOR_LEVEL_ENTRIES">
<SimpleValue Value="false"/>
</Response>
<Response Status="Success" Object="AccessProfile" Action="IsPermitted"
PersonNumber="SuperUser" SuiteProductName="ALL_PRODUCTS" ActionName="Allowed"
AccessControlPointName="KRONOS.ADMINISTRATION.Email_WORKFLOW">
<SimpleValue Value="false"/>
</Response>
</Kronos_WFC>

LoadAccessProfile

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<AccessProfile AccessProfileName="Super Access"/>
</Request>
</Kronos_WFC>

44
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<AccessProfile AccessProfileName="Super Access" Description="&SUPER_USER_
ACCESS_DESC"/>
</Response>
</Kronos_WFC>

LoadAccrualData

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<AccrualData BalanceDate="8/25/2004">
<Employee>
<PersonIdentity PersonNumber="13"/>
</Employee>
</AccrualData>
</Request>
</Kronos_WFC>

Response
This request returns the accrual codes for the specified employee and data. In this example, the specified
employee has three accrual codes for the specified date.
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<AccrualData BalanceDate=”8/25/2004”>
<AccrualBalances>
<AccrualBalanceSummary AccrualCodeId=”3” AccrualCodeName=”Personal”
AccrualType=”2” EncumberedBalanceInTime=”0:00” HoursPerDay=”8:00”
ProbationaryBalanceInTime=”0:00” ProjectedProbationaryBalanceInTime=”0:00”
ProjectedVestedBalanceInTime=”0:00” ProjectedDate=”8/25/2004”
ProjectedGrantAmountInTime=”0:00” ProjectedTakingAmountInTime=”0:00”
VestedBalanceInTime=”0:00”/>

45
<AccrualBalanceSummary AccrualCodeId=”1” AccrualCodeName=”Vacation”
AccrualType=”1” EncumberedBalanceInTime=”0:00” HoursPerDay=”8:00”
ProbationaryBalanceInTime=”30:00” ProjectedProbationaryBalanceInTime=”30:00”
ProjectedVestedBalanceInTime=”0:00” ProjectedDate=”8/25/20043”
ProjectedGrantAmountInTime=”0:00” ProjectedTakingAmountInTime=”0:00”
VestedBalanceInTime=”0:00”/>
<AccrualBalanceSummarycAccrualCodeId=”2” AccrualCodeName=”Sick”
AccrualType=”1” EncumberedBalanceInTime=”0:00” HoursPerDay=”8:00”
ProbationaryBalanceInTime=”0:00” ProjectedProbationaryBalanceInTime=”0:00”
ProjectedVestedBalanceInTime=”0:00” ProjectedDate=”01/03/2003”
ProjectedGrantAmountInTime=”0:00” ProjectedTakingAmountInTime=”0:00”
VestedBalanceInTime=”0:00”/>
</AccrualBalances>
<Employee>
<PersonIdentity PersonNumber=”13”/>
</Employee>
</AccrualData>
</Response>
</Kronos_WFC>

LoadAllAccessControlPointNames

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllAccessControlPointNames" Object="AccessProfile"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="AccessProfile"
Action="LoadAllAccessControlPointNames">
<SimpleValue Value="KRONOS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.DCM"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.DCM.DCM_COMM"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.DCM.DCM_SETUP"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.EMAIL_WORKFLOW"/>

46
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.ACCESS_PROFILE_SETUP"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.ACCESS_PROFILE_SETUP.ACCESS_
PROFILES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.ACCESS_PROFILE_SETUP.DATA_
ACCESS_PROFILES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.ACCESS_PROFILE_SETUP.LOGON_
PROFILES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.ACCRUALS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.COMMENTS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.DISPLAY_PROFILE_SETUP"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.DISPLAY_PROFILE_SETUP.CUSTOM_
LABELS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.DISPLAY_PROFILE_
SETUP.DISPLAY_PROFILES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.LABOR_LEVELS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.PAY_RULES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SETUP.WAGE_PROFILES"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SYSTEM_INFORMATION"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SYSTEM_LOG"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.SYSTEM_SETTINGS"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.TASK_RUNNER"/>
<SimpleValue Value="KRONOS.ADMINISTRATION.TOTALIZER"/>
<SimpleValue Value="KRONOS.ALL_USERS"/>
<SimpleValue Value="KRONOS.ALL_USERS.AD_HOC_LABOR_LEVEL_ENTRIES"/>
<SimpleValue Value="KRONOS.ALL_USERS.WAGES"/>
<SimpleValue Value="KRONOS.API"/>
<SimpleValue Value="KRONOS.API.API_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.ACCESS_PROFILE_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.ACCRUALS_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.AUDIT_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.BULK_SUMMARY_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.COMMON_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.DATA_ACCESS_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.EVENT_MANAGER_BEANS"/>

47
<SimpleValue Value="KRONOS.API.API_BEANS.HYPERFIND_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.IMPORT_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.LABORLEVEL_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.MENU_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.MOBILETIME_MAINT_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.PERSON_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.REPORTS_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.SCHEDULE_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.TIMECARD_BEANS"/>
<SimpleValue Value="KRONOS.API.API_BEANS.WORKFLOW_BEANS"/>
<SimpleValue Value="KRONOS.API.XML"/>
<SimpleValue Value="KRONOS.EMPLOYEE"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_ALLOW_NEGATIVES"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_APPROVAL"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_APPROVAL.EA_ADD_
APPROVAL"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_APPROVAL.EA_REMOVE_
APPROVAL"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_CANCEL_MEAL_
DEDUCTS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_COMMENTS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_DISPLAY_DAY_BEFORE_
AND_AFTER"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_DURATION_AMOUNT"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_DURATION_AND_
SHIFT"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_EMAIL_TIMECARD"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_HISTORICAL_EDITS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_PAYCODES"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_PAYCODES.EA_
PAYCODE_EDITS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_PAYCODES.EA_VIEW_
PAYCODE_AMOUNTS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_PUNCH_EDITS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_SIGNOFF"/>

48
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_SIGNOFF.EA_ADD_
SIGNOFF"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_SIGNOFF.EA_REMOVE_
SIGNOFF"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TOTALIZE"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TOTALIZE_ON_FLY"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TOTALS_BREAKDOWN"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TRANSFER"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TRANSFER.EA_
ACCOUNT_TRANSFERS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TRANSFER.EA_VIEW_
TRANSFERS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_TRANSFER.EA_
WORKRULE_TRANSFERS"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_VIEW_SCHEDULER"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_NOTIFICATION"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_NOTIFICATION.EMAIL_IF_
EDITED"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_NOTIFICATION.EMAIL_WHEN_
APPROVED"/>
<SimpleValue Value="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_NOTIFICATION.EMAIL_WHEN_
SIGNEDOFF"/>
<SimpleValue Value="KRONOS.EMPLOYEE.MY_REPORTS"/>
<SimpleValue Value="KRONOS.MENU_ACCESS"/>
<SimpleValue Value="KRONOS.MENU_ACCESS.EXTERNAL"/>
<SimpleValue Value="KRONOS.MENU_ACCESS.HELP"/>
<SimpleValue Value="KRONOS.MENU_ACCESS.SELF_SERVICE"/>
<SimpleValue Value="KRONOS.MENU_ACCESS.SUMMARY_VIEWS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.EVENT_MANAGER"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.EVENT_MANAGER.ADD_BATCH"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.EVENT_MANAGER.CHANGE_USER"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.EVENT_MANAGER.INDIVIDUAL_
EVENTS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.HIDE_SAVE_AND_RUN_
BUTTON"/>

49
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
CONDITIONS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
CONDITIONS.GENERAL"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
CONDITIONS.LEAVE_MANAGEMENT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
CONDITIONS.TIME_MANAGEMENT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
CONDITIONS.USER_INFORMATION"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_TABS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
TABS.ASSEMBLE_QUERIES"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
TABS.RETRIEVE_SQL"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
VISIBILITY"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
VISIBILITY.AD_HOC_QUERIES"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
VISIBILITY.PERSONAL_QUERIES"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.HYPERFIND.QUERY_
VISIBILITY.PUBLIC_QUERIES"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.IMPORT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.IMPORT.DELETE_IMPORT_DATA"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.IMPORT.IMPORT_ACCESS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.IMPORT.SCHEDULE_IMPORT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.IMPORT.STOP_RESET_IMPORT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.LAS_EDITOR"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.MOBILETIME"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.MOBILETIME.MOBILETIME_
CONFIGURATION"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.MOBILETIME.MOBILETIME_
GATEKEEPER"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.ADDITIONAL_INFO_VIEW"/>

50
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.CONTACT_
VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.CONTACT_
VIEW.ADDRESS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.CONTACT_
VIEW.EMAIL"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.CONTACT_
VIEW.TELEPHONE"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.EMPLOYEE_
VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.EMPLOYEE_
VIEW.EMPLOYMENT_STATUS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.EMPLOYEE_
VIEW.HIRE_DATE"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.GENERAL_
VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.GENERAL_
VIEW.BIRTHDATE"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.GENERAL_
VIEW.EMPLOYEE_ID"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.GENERAL_
VIEW.HOME_LABOR_ACCOUNT"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.GENERAL_
VIEW.NAME"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.PERSON"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.ROLE_
VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.TIMEKEEPER_VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.USER_
ACCOUNT_VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.USER_
ACCOUNT_VIEW.ACCESS_USER_ACCOUNT_VIEW"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.USER_
ACCOUNT_VIEW.USER_ACCOUNT_STATUS"/>
<SimpleValue Value="KRONOS.PRODUCT_CONFIGURATION.USER_CONFIGURATION.USER_
SPECIFIC_DATES_VIEW"/>
<SimpleValue Value="KRONOS.SUPERVISOR"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_EMAIL_NOTIFICIATION"/>

51
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_EMAIL_NOTIFICIATION.EMAIL_
COMPLETED_GROUP_EDIT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_EMAIL_NOTIFICIATION.EMAIL_
EVENT_STATUS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_EMAIL_NOTIFICIATION.EMAIL_
INCOMPLETE_GROUP_EDIT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_PAYOUT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_RESET"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_SUSPENSIONS_
REINSTATEMENTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_TRANSFER"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_UPDATE_
EARNED"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.ACCRUALS_UPDATE_
TAKEN"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.GROUP_EDIT_SELF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MANAGER_SUMMARY_
EMAIL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_ALLOW_NEGATIVES"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_APPROVAL.MS_ADD_
APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_APPROVAL.MS_REMOVE_
APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_COMMENTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_DURATION_AMOUNT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_DURATION_AND_
SHIFT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_HISTORICAL_EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PAYCODE_EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PAYFROMSCHEDULE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PAYFROMSCHEDULE.MS_
START_PAYFROMSCHEDULE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PAYFROMSCHEDULE.MS_
STOP_PAYFROMSCHEDULE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PAYROLL_LOCK"/>

52
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_PUNCH_EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_SIGNOFF.MS_ADD_
SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_SIGNOFF.MS_REMOVE_
SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_TRANSFERS.MS_
ACCOUNT_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_TRANSFERS.MS_
WORKRULE_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS.REPORT_CONFIGURATION"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS.REPORT_PRIORITY"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS.REPORT_RUN"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS.REPORT_SCHEDULING"/>
<SimpleValue Value="KRONOS.SUPERVISOR.REPORTS.REPORT_STATUS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_ALLOW_
NEGATIVES"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_APPROVAL.SA_ADD_
APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_APPROVAL.SA_
REMOVE_APPROVAL"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_CANCEL_MEAL_
DEDUCTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_COMMENTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_DISPLAY_DAY_
BEFORE_AND_AFTER"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_DURATION_
AMOUNT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_DURATION_AND_
SHIFT"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_EMAIL_TIMECARD"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_HISTORICAL_
EDITS"/>

53
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_PAYCODES"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_PAYCODES.SA_
PAYCODE_EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_PAYCODES.SA_VIEW_
PAYCODE_AMOUNTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_PUNCH_EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_SIGNOFF.SA_ADD_
SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_SIGNOFF.SA_
REMOVE_SIGNOFF"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TOTALIZE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TOTALIZE_ON_
FLY"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TOTALS_
BREAKDOWN"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TRANSFERS.SA_
ACCOUNT_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TRANSFERS.SA_
VIEW_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_TRANSFERS.SA_
WORKRULE_TRANSFERS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_VIEW_SCHEDULER"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SUPERVISOR_ACCESS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_ACCESS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_COMMENTS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_
CONFIGURATION"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_
CONFIGURATION.PATTERN_TEMPLATE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_
CONFIGURATION.SCHEDULE_PERIOD"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_
CONFIGURATION.SHIFT_TEMPLATE"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_GROUPS"/>

54
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_GROUPS.CREATE_
SCHED_GROUPS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_GROUPS.DELETE_
SCHED_GROUPS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_GROUPS.EDIT_
EMPLOYEES_IN_GROUP"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_GROUPS.EDIT_
SCHEDULES_IN_GROUP"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.SCHEDULE_PAYCODE_
EDITS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.VIEW_ACCRURALS"/>
<SimpleValue Value="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.VIEW_AUDIT_TRAILS"/>
</Response>
</Kronos_WFC>

LoadAllActionNames

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllActionNames" Object="AccessProfile"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="AccessProfile"
Action="LoadAllActionNames">
<SimpleValue Value="ACCESS"/>
<SimpleValue Value="ADD"/>
<SimpleValue Value="ALLOWED"/>
<SimpleValue Value="DELETE"/>
<SimpleValue Value="EDIT"/>
<SimpleValue Value="VIEW"/>
</Response>
</Kronos_WFC>

55
LoadAllowedPermissions

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllowedPermissions" Object="AccessProfile">
<AccessProfile AccessProfileName="Super Access"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="AccessProfile"
Action="LoadAllowedPermissions">
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.DCM.DCM_COMM"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.DCM.DCM_SETUP"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.EMAIL_WORKFLOW"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.ACCESS_
PROFILE_SETUP.ACCESS_PROFILES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.ACCESS_
PROFILE_SETUP.DATA_ACCESS_PROFILES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.ACCESS_
PROFILE_SETUP.LOGON_PROFILES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.ACCRUALS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.COMMENTS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>

56
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.DISPLAY_
PROFILE_SETUP.CUSTOM_LABELS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.DISPLAY_
PROFILE_SETUP.DISPLAY_PROFILES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.LABOR_LEVELS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.PAY_RULES"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SETUP.WAGE_
PROFILES" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SYSTEM_INFORMATION"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SYSTEM_LOG"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.SYSTEM_SETTINGS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.TASK_RUNNER"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ADMINISTRATION.TOTALIZER"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ALL_USERS.AD_HOC_LABOR_LEVEL_
ENTRIES" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ALL_USERS.WAGES" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.ALL_USERS.WAGES" ActionName="VIEW"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.ACCESS_PROFILE_
BEANS" ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.ACCRUALS_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.ACCRUALS_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.AUDIT_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.BULK_SUMMARY_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>

57
<Permission AccessControlPointName="KRONOS.API.API_BEANS.COMMON_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.DATA_ACCESS_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.DATA_ACCESS_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.EVENT_MANAGER_BEANS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.HYPERFIND_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.IMPORT_BEANS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.LABORLEVEL_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.LABORLEVEL_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.MENU_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.MOBILETIME_MAINT_
BEANS" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.PERSON_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.PERSON_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.REPORTS_BEANS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.SCHEDULE_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.SCHEDULE_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.TIMECARD_BEANS"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.TIMECARD_BEANS"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.API_BEANS.WORKFLOW_BEANS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.API.XML" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>

58
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
ALLOW_NEGATIVES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
APPROVAL.EA_ADD_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
APPROVAL.EA_REMOVE_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
CANCEL_MEAL_DEDUCTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
COMMENTS" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
DISPLAY_DAY_BEFORE_AND_AFTER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
DURATION_AMOUNT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
DURATION_AND_SHIFT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
EMAIL_TIMECARD" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
HISTORICAL_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
PAYCODES.EA_PAYCODE_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
PAYCODES.EA_VIEW_PAYCODE_AMOUNTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
PUNCH_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
SIGNOFF.EA_ADD_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>

59
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
SIGNOFF.EA_REMOVE_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
TOTALIZE" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
TOTALS_BREAKDOWN" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
TRANSFER.EA_ACCOUNT_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
TRANSFER.EA_VIEW_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
TRANSFER.EA_WORKRULE_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EA_TIMECARD_EDITOR.EA_
VIEW_SCHEDULER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_
NOTIFICATION.EMAIL_IF_EDITED" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_
NOTIFICATION.EMAIL_WHEN_APPROVED" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.EMPLOYEE_EMAIL_
NOTIFICATION.EMAIL_WHEN_SIGNEDOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.EMPLOYEE.MY_REPORTS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.EVENT_
MANAGER.ADD_BATCH" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.EVENT_
MANAGER.CHANGE_USER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.EVENT_
MANAGER.INDIVIDUAL_EVENTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>

60
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.HIDE_SAVE_AND_RUN_BUTTON" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_CONDITIONS.GENERAL" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_CONDITIONS.LEAVE_MANAGEMENT"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_CONDITIONS.TIME_MANAGEMENT"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_CONDITIONS.USER_INFORMATION"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_TABS.ASSEMBLE_QUERIES" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_TABS.RETRIEVE_SQL" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_VISIBILITY.AD_HOC_QUERIES" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_VISIBILITY.PERSONAL_QUERIES"
ActionName="DELETE" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_VISIBILITY.PERSONAL_QUERIES" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_VISIBILITY.PUBLIC_QUERIES" ActionName="DELETE"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.HYPERFIND.QUERY_VISIBILITY.PUBLIC_QUERIES" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.IMPORT.DELETE_IMPORT_DATA" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.IMPORT.IMPORT_ACCESS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>

61
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.IMPORT.SCHEDULE_IMPORT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.IMPORT.STOP_
RESET_IMPORT" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.LAS_EDITOR"
ActionName="ADD" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.LAS_EDITOR"
ActionName="DELETE" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.LAS_EDITOR"
ActionName="EDIT" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.LAS_EDITOR"
ActionName="VIEW" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.MOBILETIME.MOBILETIME_CONFIGURATION" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_
CONFIGURATION.MOBILETIME.MOBILETIME_GATEKEEPER" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.ADDITIONAL_INFO_VIEW" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.ADDITIONAL_INFO_VIEW" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.ADDRESS" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.ADDRESS" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.EMAIL" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.EMAIL" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.TELEPHONE" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>

62
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.CONTACT_VIEW.TELEPHONE" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.EMPLOYEE_VIEW.EMPLOYMENT_STATUS" ActionName="ADD"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.EMPLOYEE_VIEW.HIRE_DATE" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.EMPLOYEE_VIEW.HIRE_DATE" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.BIRTHDATE" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.BIRTHDATE" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.EMPLOYEE_ID" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.HOME_LABOR_ACCOUNT" ActionName="ADD"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.HOME_LABOR_ACCOUNT" ActionName="VIEW"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.GENERAL_VIEW.NAME" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.PERSON" ActionName="ADD" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.PERSON" ActionName="EDIT" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.ROLE_VIEW" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.ROLE_VIEW" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>

63
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.TIMEKEEPER_VIEW" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.TIMEKEEPER_VIEW" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.USER_ACCOUNT_VIEW.ACCESS_USER_ACCOUNT_VIEW" ActionName="ADD"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.USER_ACCOUNT_VIEW.ACCESS_USER_ACCOUNT_VIEW" ActionName="VIEW"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.USER_ACCOUNT_VIEW.USER_ACCOUNT_STATUS" ActionName="ADD"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.USER_SPECIFIC_DATES_VIEW" ActionName="ADD" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.PRODUCT_CONFIGURATION.USER_
CONFIGURATION.USER_SPECIFIC_DATES_VIEW" ActionName="VIEW" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_EMAIL_
NOTIFICIATION.EMAIL_COMPLETED_GROUP_EDIT" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_EMAIL_
NOTIFICIATION.EMAIL_EVENT_STATUS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_EMAIL_
NOTIFICIATION.EMAIL_INCOMPLETE_GROUP_EDIT" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_PAYOUT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_RESET" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_SUSPENSIONS_REINSTATEMENTS" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_TRANSFER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>

64
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_UPDATE_EARNED" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.ACCRUALS_UPDATE_TAKEN" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.GROUP_
EDIT_SELF" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_
SUMMARY.MANAGER_SUMMARY_EMAIL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
ALLOW_NEGATIVES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
APPROVAL.MS_ADD_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
APPROVAL.MS_REMOVE_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
COMMENTS" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
DURATION_AMOUNT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
DURATION_AND_SHIFT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
HISTORICAL_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
PAYCODE_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
PAYFROMSCHEDULE.MS_START_PAYFROMSCHEDULE" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
PAYFROMSCHEDULE.MS_STOP_PAYFROMSCHEDULE" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>

65
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
PAYROLL_LOCK" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
PUNCH_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
SIGNOFF.MS_ADD_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
SIGNOFF.MS_REMOVE_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
TRANSFERS.MS_ACCOUNT_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.MANAGER_SUMMARY.MS_
TRANSFERS.MS_WORKRULE_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.REPORTS.REPORT_
CONFIGURATION" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.REPORTS.REPORT_
PRIORITY" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.REPORTS.REPORT_RUN"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.REPORTS.REPORT_
SCHEDULING" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.REPORTS.REPORT_STATUS"
ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
ALLOW_NEGATIVES" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
APPROVAL.SA_ADD_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
APPROVAL.SA_REMOVE_APPROVAL" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>

66
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
CANCEL_MEAL_DEDUCTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
COMMENTS" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
DISPLAY_DAY_BEFORE_AND_AFTER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
DURATION_AMOUNT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
DURATION_AND_SHIFT" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
EMAIL_TIMECARD" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="ALL_
PRODUCTS"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
HISTORICAL_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
PAYCODES.SA_PAYCODE_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
PAYCODES.SA_VIEW_PAYCODE_AMOUNTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
PUNCH_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
SIGNOFF.SA_ADD_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
SIGNOFF.SA_REMOVE_SIGNOFF" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
TOTALIZE" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
TOTALS_BREAKDOWN" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>

67
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
TRANSFERS.SA_ACCOUNT_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
TRANSFERS.SA_VIEW_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
TRANSFERS.SA_WORKRULE_TRANSFERS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_EDITOR.SA_
VIEW_SCHEDULER" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SA_TIMECARD_
EDITOR.SUPERVISOR_ACCESS" ActionName="EDIT" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_ACCESS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_COMMENTS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.PATTERN_TEMPLATE" ActionName="ADD"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.PATTERN_TEMPLATE" ActionName="DELETE"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.PATTERN_TEMPLATE" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.SCHEDULE_PERIOD" ActionName="ADD"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.SCHEDULE_PERIOD" ActionName="DELETE"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.SHIFT_TEMPLATE" ActionName="ADD"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.SHIFT_TEMPLATE" ActionName="DELETE"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>

68
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_CONFIGURATION.SHIFT_TEMPLATE" ActionName="EDIT"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_GROUPS.CREATE_SCHED_GROUPS" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_GROUPS.DELETE_SCHED_GROUPS" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_GROUPS.EDIT_EMPLOYEES_IN_GROUP" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_GROUPS.EDIT_SCHEDULES_IN_GROUP" ActionName="ALLOWED"
ScopeName="ALL" SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_
EDITOR.SCHEDULE_PAYCODE_EDITS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.VIEW_
ACCRURALS" ActionName="ALLOWED" ScopeName="ALL" SuiteProductName="WORKFORCE_
TIMEKEEPER"/>
<Permission AccessControlPointName="KRONOS.SUPERVISOR.SCHEDULE_EDITOR.VIEW_
AUDIT_TRAILS" ActionName="ALLOWED" ScopeName="ALL"
SuiteProductName="WORKFORCE_TIMEKEEPER"/>
</Response>
</Kronos_WFC>

LoadAllSuiteProductNames

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllSuiteProductNames" Object="AccessProfile"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="AccessProfile"
Action="LoadAllSuiteProductNames">

69
<SimpleValue Value="ALL_PRODUCTS"/>
<SimpleValue Value="WORKFORCE_ACCRUALS"/>
<SimpleValue Value="WORKFORCE_ACTIVITIES"/>
<SimpleValue Value="WORKFORCE_TIMEKEEPER"/>
</Response>
</Kronos_WFC>

LoadWorkflowAccessAssignment

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<WorkflowAccessAssignment>
<Identity>
<PersonIdentity PersonNumber="207">
</PersonIdentity>
</Identity>
</WorkflowAccessAssignment>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<WorkflowAccessAssignment ManagerWorkflowProfileName=“All Process Templates”
EmployeeWorkflowProfileName=“All Process Templates”>
<Identity>
< PersonIdentity PersonNumber=”207” />
</Identity>
</WorkflowAccessAssignment>
</Response>
</Kronos_WFC>

Accruals

70
LoadAllAccrualCodes

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllAccrualCodes">
<AccrualCode />
</Request>
</Kronos_WFC>

Response
The LoadAllAccrualCodes action returns all of the accrual codes in the system. An accrual code can
either have a DisplayType of Hours or Currency. If it is Hours, HoursPerDay is also returned. This
example shows one of each.
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllAccrualCodes”>
<AccrualCode Abbreviation=”SK” AccrualCodeName=”Sick”
DisplayType=”Currency”/>
<AccrualCode Abbreviation=”VAC” AccrualCodeName=”Vacation”
DisplayType=”Hours” HoursPerDay=”8:00”/>
</Response>
</Kronos_WFC>

UpdateEarnedAccrual
This action updates an earned accrual for one person and one accrual code. This example uses the
Sequence property in the Request. When used, the same value is returned in the Response. You may want
to use Sequence to coordinate.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Update" Sequence="PN10">
<EarnedAccrual AccrualCodeName="Vacation" AmountInTime="30" Date="8/25/2004">
<Employee>
<PersonIdentity PersonNumber="13"/>
</Employee>
</EarnedAccrual>

71
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Update” Sequence=”PN10”/>
</Kronos_WFC>

Update with verification


This example updates EarnedAccrual. The Load Request verifies the Update.
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<EarnedAccrual AccrualCodeName="Vacation" AmountInTime="30" Date="6/1/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</EarnedAccrual>
</Request>

<Request Action="Load">
<AccrualData BalanceDate="3/1/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</AccrualData>
</Request>
</Kronos_WFC>

LoadAccrualProfile

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">

72
<AccrualProfile AccrualProfileName="Executive Accrual Profile"/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<AccrualProfile AccrualProfileName=”Executive Accrual Profile”
AccrualProfileId=”2”/>
</Response>
</Kronos_WFC>

LoadAllAccrualProfiles

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllAccrualProfiles">
<AccrualProfile />
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllAccrualProfiles”>
<AccrualProfile AccrualProfileName=”Executive Accrual Profile”
AccrualProfileId=”2”/>
<AccrualProfile AccrualProfileName=”VAC, PRL, SK Full Time”
AccrualProfileId=”1”/>
</Response>
</Kronos_WFC>

73
UpdateAccrualProfileName

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Administration" AccrualProfileName="VAC and Sick
Only"/>
</WTKEmployeeData>
</Personality>
</Request>

<Request Action="Load">
<WTKEmployee>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</WTKEmployee>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<WTKEmployee AccrualProfileName="VAC and Sick Only"
PayRuleName="Administration" TimeZoneName="Eastern">
<Identity>

74
<PersonIdentity PersonNumber="API1"/>
</Identity>
</WTKEmployee>
</Response>
</Kronos_WFC>

LoadAllPayCodes

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllPayCodes" >
<PayCode/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllPayCodes”>
<PayCode DisplayOrder=”1” ExcuseAbsenceFlag=”false” IsCombinedFlag=”true”
IsCurrencyFlag=”false” IsVisibleFlag=”true” ManagerAccessFlag=”true”
PayCodeName=”All Regular” ProfessionalAccessFlag=”false”/>
<PayCode DisplayOrder=”2” ExcuseAbsenceFlag=”false” IsCombinedFlag=”false”
IsCurrencyFlag=”false” IsVisibleFlag=”true” ManagerAccessFlag=”true”
PayCodeName=”Bonus$” ProfessionalAccessFlag=”false”/>
<PayCode DisplayOrder=”3” ExcuseAbsenceFlag=”false” IsCombinedFlag=”false”
IsCurrencyFlag=”false” IsVisibleFlag=”true” ManagerAccessFlag=”true”
PayCodeName=”Bereave” ProfessionalAccessFlag=”false”/>
</Response>
</Kronos_WFC>

LoadAllTimeFrames
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllTimeFrames">
<TimeFramePeriod />
</Request>

75
</Kronos_WFC>

LoadAllWorkRules
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllWorkRules">
<WorkRule />
</Request>
</Kronos_WFC>

LoadAllEvalRuleType

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="LoadAll" >
<EvalRuleType/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 1:27PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”
<Response Status=”Success” Object=”EvalRuleType” Action=”LoadAll”>
<EvalRuleType Name=”SCHED_ASST_RULE” Description=”Schedule Assistant”/>
<EvalRuleType Name=”SCHED_EMP_VAL_RULE” Description=”Employee Rule Sets”/>
<EvalRuleType Name=”SCHED_ORG_VAL_RULE” Description=”Organization Rule
Sets”/>
</Response>
</Kronos_WFC>

LoadLocationRuleSet

Request
<?xml version=”1.0” ?>
<Kronos_WFC version="1.0">
<Request Action=”Load”>
<LocationRuleSet Name=”Weekly Job Personal Time Limit” >

76
</LocationRuleSet>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 1:27PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<LocationRuleSet Name=”Weekly Job Personal Time Limit”
RuleTypeName=”Organization Rule Sets” Description=”This rule set limits the
number of hours a weekly employee can work” IsActive=”true”
WeekStartDay=”Sunday” IsReadOnly=”true”>
<RuleSetRules>
<RuleSetRule Name=”ERULE_WKLY_PAYCODE_HRS” OrderNumber=”2980” WeightName=”Not
Used” SeverityName=”Informational” DescendingSortFlag=”false”
ValidateOnDemandFlag=”false”>
<RuleSetParameters>
<RuleSetParameter Name=”ERPARAM_SCHED_PAYCODE_HRS” OrderNumber=”1”
Value=”10:00”/>
<RuleSetParameter Name=”ERPARAM_PAYCODE” OrderNumber=”2” Value=”Personal”/>
</RuleSetParameters>
</RuleSetRule>
</RuleSetRules>
</LocationRuleSet>
</Response>
</Kronos_WFC>

UpdateResetAccrual
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<ResetAccrual AccrualCodeName="Personal" AmountInTime="10"
ProbationAmountInTime="8:00" Date="6/1/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</ResetAccrual>

77
</Request>

<Request Action="Load">
<AccrualData BalanceDate="6/1/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</AccrualData>
</Request>
</Kronos_WFC>

HyperFind query

GetQueryCount

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="GetQueryCount">
<HyperFindQuery VisibilityCode="Public" HyperFindQueryName="All Home"
QueryDateSpan="1/1/01-5/31/01"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="GetQueryCount">
<SimpleValue Value="39"/>
</Response>
</Kronos_WFC>

LoadAllQueries

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">

78
<Request Action="LoadAllQueries">
<HyperFindQuery VisibilityCode="Public"/>
<HyperfindQuery VisibilityCode="Private"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadAllQueries">
<HyperFindQuery Description="This query finds all People with my Home
Account" HyperFindQueryName="All Home" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 401" HyperFindQueryName="Cost Center
401" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 402" HyperFindQueryName="Cost Center
402" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 403" HyperFindQueryName="Cost Center
403" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 404" HyperFindQueryName="Cost Center
404" VisibilityCode="Public"/>
<HyperFindQuery Description="Department 301 and 302"
HyperFindQueryName="Department 301 and 302" VisibilityCode="Public"/>
<HyperFindQuery Description="The query looks for active employees only who
are not signed off." HyperFindQueryName="Employees Not Signed Off"
VisibilityCode="Public"/>
<HyperFindQuery Description="Irregular Timecards"
HyperFindQueryName="Irregular Timecards" VisibilityCode="Public"/>
<HyperFindQuery Description="This query is looking for Workforce Managers
only." HyperFindQueryName="Manager&apos;s Only" VisibilityCode="Public"/>
<HyperFindQuery Description="Missed Punches" HyperFindQueryName="Missed
Punches" VisibilityCode="Public"/>
<HyperFindQuery Description="Overtime, Any" HyperFindQueryName="Overtime,
Any" VisibilityCode="Public"/>
<HyperFindQuery Description="Overtime, Over 5 hours"
HyperFindQueryName="Overtime, Over 5 hours" VisibilityCode="Public"/>
</Response>
</Kronos_WFC>

79
LoadAllQueriesPrivate

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllQueries">
<HyperFindQuery VisibilityCode="Private"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadAllQueries">
</Response>
</Kronos_WFC>

LoadAllQueriesPublic

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllQueries">
<HyperFindQuery VisibilityCode="Public"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadAllQueries">
<HyperFindQuery Description="This query finds all People with my Home
Account" HyperFindQueryName="All Home" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 401" HyperFindQueryName="Cost Center
401" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 402" HyperFindQueryName="Cost Center
402" VisibilityCode="Public"/>

80
<HyperFindQuery Description="Cost Center 403" HyperFindQueryName="Cost Center
403" VisibilityCode="Public"/>
<HyperFindQuery Description="Cost Center 404" HyperFindQueryName="Cost Center
404" VisibilityCode="Public"/>
<HyperFindQuery Description="Department 301 and 302"
HyperFindQueryName="Department 301 and 302" VisibilityCode="Public"/>
<HyperFindQuery Description="The query looks for active employees only who
are not signed off." HyperFindQueryName="Employees Not Signed Off"
VisibilityCode="Public"/>
<HyperFindQuery Description="Irregular Timecards"
HyperFindQueryName="Irregular Timecards" VisibilityCode="Public"/>
<HyperFindQuery Description="This query is looking for Workforce Managers
only." HyperFindQueryName="Manager&apos;s Only" VisibilityCode="Public"/>
<HyperFindQuery Description="Missed Punches" HyperFindQueryName="Missed
Punches" VisibilityCode="Public"/>
<HyperFindQuery Description="Overtime, Any" HyperFindQueryName="Overtime,
Any" VisibilityCode="Public"/>
<HyperFindQuery Description="Overtime, Over 5 hours"
HyperFindQueryName="Overtime, Over 5 hours" VisibilityCode="Public"/>
</Response>
</Kronos_WFC>

RunQuery

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="RunQuery">
<HyperFindQuery VisibilityCode="Public" HyperFindQueryName="All Home"
QueryDateSpan="01/01/01-06/30/01"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="RunQuery">
<HyperFindResult FullName="Richie, Betty" PersonNumber="25"/>
<HyperFindResult FullName="Fryman, Christy" PersonNumber="26"/>

81
<HyperFindResult FullName="Maynard, Doris" PersonNumber="28"/>
<HyperFindResult FullName="Billings, Thomas" PersonNumber="3"/>
<HyperFindResult FullName="Boss, Bob" PersonNumber="29"/>
<HyperFindResult FullName="Brooks, Bob" PersonNumber="31"/>
<HyperFindResult FullName="Capparelli, Roger" PersonNumber="40"/>
<HyperFindResult FullName="Davis, Rodney" PersonNumber="4"/>
<HyperFindResult FullName="Evans, Edna" PersonNumber="32"/>
<HyperFindResult FullName="Fallon, Jane" PersonNumber="5"/>
<HyperFindResult FullName="Anderson, James" PersonNumber="30"/>
<HyperFindResult FullName="Geldres, Elise" PersonNumber="39"/>
<HyperFindResult FullName="George, Pat" PersonNumber="37"/>
<HyperFindResult FullName="Gormley, Don" PersonNumber="27"/>
<HyperFindResult FullName="Jacobs, Joseph" PersonNumber="6"/>
<HyperFindResult FullName="Johnson, Jean" PersonNumber="33"/>
<HyperFindResult FullName="Johnson, Emily" PersonNumber="44"/>
<HyperFindResult FullName="Jones, Douglas" PersonNumber="7"/>
<HyperFindResult FullName="Kilian, Jen" PersonNumber="38"/>
<HyperFindResult FullName="Babson, Mildred" PersonNumber="2"/>
<HyperFindResult FullName="McKenna, Todd" PersonNumber="41"/>
<HyperFindResult FullName="Metzler, Rita" PersonNumber="8"/>
<HyperFindResult FullName="Moore, Ann" PersonNumber="34"/>
<HyperFindResult FullName="Oertel, Barbara" PersonNumber="43"/>
<HyperFindResult FullName="Pieciul, Ross" PersonNumber="42"/>
<HyperFindResult FullName="Radue, Brian" PersonNumber="9"/>
<HyperFindResult FullName="Adams, Julie" PersonNumber="1"/>
<HyperFindResult FullName="Smith, Jack C" PersonNumber="14"/>
<HyperFindResult FullName="Smith, John D" PersonNumber="15"/>
<HyperFindResult FullName="Snow, Fred" PersonNumber="10"/>
<HyperFindResult FullName="Stock, Donna" PersonNumber="11"/>
<HyperFindResult FullName="Sullivan, Gary" PersonNumber="36"/>
<HyperFindResult FullName="Tesch, Kim" PersonNumber="12"/>
<HyperFindResult FullName="Torres, Katherine" PersonNumber="35"/>
<HyperFindResult FullName="Warden, Melvin" PersonNumber="13"/>
<HyperFindResult FullName="Super, Pat" PersonNumber="45"/>

82
<HyperFindResult FullName="Alcaino, Clark" PersonNumber="46"/>
<HyperFindResult FullName="Champine, Tim" PersonNumber="47"/>
<HyperFindResult FullName="Arick, Michael" PersonNumber="48"/>
</Response>
</Kronos_WFC>

Labor levels

CreateAdHocLaborAccountName

Request
<?xml version="1.0" ?>
<!-- This example creates an ad hoc labor level entry and a labor account. For
this to work, uncheck Validate All New Entries for
LaborLevelDefinitionName="Job", SortOrder=5. -->
<Kronos_WFC version="1.0">
<Request Action="CreateAdHoc">
<AdHocLaborAccount LaborAccountName="101/201/301/401/AdHoc"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="CreateAdHoc"/>
</Kronos_WFC>

LoadLaborAccount

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<LaborAccount LaborAccountName="101/201/301/401/501"/>
</Request>
</Kronos_WFC>

83
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<LaborAccount Description="Healthcare/Boston/Accounting/401-111111/Associate"
LaborAccountName="101/201/301/401/501">
<LaborLevelEntries>
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Healthcare"
InactiveFlag="false" LaborLevelEntryName="101"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Boston"
InactiveFlag="false" LaborLevelEntryName="201"/>
<LaborLevelEntry LaborLevelDefinitionName="Department"
Description="Accounting" InactiveFlag="false" LaborLevelEntryName="301"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="401-
111111" InactiveFlag="false" LaborLevelEntryName="401"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Associate"
InactiveFlag="false" LaborLevelEntryName="501"/>
</LaborLevelEntries>
</LaborAccount>
</Response>
</Kronos_WFC>

UpdateLaborAccountName

Request
<?xml version="1.0"?>
<!-- This example Updates a LaborAccount by specifying LaboraccountName. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<LaborAccount LaborAccountName="104/205/313/405/513"/>
</Request>
<Request Action="Load">
<LaborAccount LaborAccountName="104/205/313/405/513"/>
</Request>
</Kronos_WFC>

84
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<LaborAccount Description="Gov-Ed/Los Angeles/Lab/405-555555/Charge Nurse"
LaborAccountName="104/205/313/405/513">
<LaborLevelEntries>
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Gov-Ed"
InactiveFlag="false" LaborLevelEntryName="104"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Los
Angeles" InactiveFlag="false" LaborLevelEntryName="205"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Lab"
InactiveFlag="false" LaborLevelEntryName="313"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="405-
555555" InactiveFlag="false" LaborLevelEntryName="405"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Charge Nurse"
InactiveFlag="false" LaborLevelEntryName="513"/>
</LaborLevelEntries>
</LaborAccount>
</Response>
</Kronos_WFC>

AddOnlyLaborAccountSet

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<LaborAccountSet LaborAccountSetName="setAdd"
LaborAccountSetTypeName="Employee Groups"/>
</Request>
<Request Action="Load">
<LaborAccountSet LaborAccountSetName="setAdd"/>
</Request>
</Kronos_WFC>

85
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="Load">
<LaborAccountSet LaborAccountSetName="setAdd"
LaborAccountSetTypeName="Employee Groups">
<EntryList>
</EntryList>
</LaborAccountSet>
</Response>
</Kronos_WFC>

UpdateLaborAccountSet

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<LaborAccountSet LaborAccountSetName="Set1" LaborAccountSetTypeName="All
Sets">
<EntryList>
<LaborAccountEntry LaborLevelDefinitionName="Department" AddEntries="302;
303; 304"/>
<LaborAccountEntry LaborLevelDefinitionName="Department"
RemoveEntries="302"/>
<LaborAccountEntry LaborLevelDefinitionName="Department" AddEntries="307"/>
</EntryList>
</LaborAccountSet>
</Request>
<Request Action="Load">
<LaborAccountSet LaborAccountSetName="Set1"/>
</Request>
</Kronos_WFC>

86
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 6:00PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<LaborAccountSet LaborAccountSetName="Set1" LaborAccountSetTypeName="All
Sets">
<EntryList>
<LaborAccountEntry LaborLevelDefinitionName="Department" ReplaceEntries="303;
304; 307"/>
</EntryList>
</LaborAccountSet>
</Response>
</Kronos_WFC>

UpdateOnlyLaborAccountSet

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="UpdateOnly">
<LaborAccountSet LaborAccountSetName="Set1" LaborAccountSetTypeName="Employee
Groups">
<EntryList>
<LaborAccountEntry LaborLevelDefinitionName="Job" AddEntries="510; 511;
512"/>
</EntryList>
</LaborAccountSet>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 6:01PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="UpdateOnly"/>

87
</Kronos_WFC>

LoadAllDefinitions — Labor Levels

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllDefinitions" >
<LaborLevelDefinition/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 1:27PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllDefinitions”>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Division” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”Div” SortOrder=”1”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Department” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”Dept” SortOrder=”2”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Job” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”Job” SortOrder=”3”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Cost Center” MaxNameLength=”20”
MinNameLength=”1” OverrideFlag=”false” ShortName=”CC” SortOrder=”4”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Product” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”PD” SortOrder=”5”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Item Number” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”IN” SortOrder=”6”/>
<LaborLevelDefinition AddAtTerminalFlag=”false”
LaborLevelDefinitionName=”Work Order” MaxNameLength=”20” MinNameLength=”1”
OverrideFlag=”false” ShortName=”WO” SortOrder=”7”/>
</Response>
</Kronos_WFC>

88
NumberOfLaborLevels

Request
<?xml version="1.0"?>
<!-- This example gets the number of labor level entries per labor level
definition. -->
<Kronos_WFC version="1.0">
<Request Action="GetNumberOfLaborLevels">
<LaborLevelDefinition />
</Request>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="GetNumberOfLaborLevels">
<SimpleValue Value="5"/>
</Response>
</Kronos_WFC>

AddLaborLevelEntry

Request
<?xml version="1.0"?>
<!-- This example adds a new Labor Level Entry. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<LaborLevelEntry LaborLevelEntryName="apille1"
LaborLevelDefinitionName="Department"/>
</Request>

<Request Action="Load">
<LaborLevelEntry LaborLevelEntryName="apille1"
LaborLevelDefinitionName="Department"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>

89
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="Load">
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="apille1"
InactiveFlag="false" LaborLevelEntryName="apille1"/>
</Response>
</Kronos_WFC>

GetCountsByLaborLevel

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="GetCountsByLaborLevel">
<LaborLevelEntry />
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 1:27PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Success” Action=”GetCountsByLaborLevel”>
<SimpleValue Value=”7”/>
<SimpleValue Value=”7”/>
<SimpleValue Value=”13”/>
<SimpleValue Value=”10”/>
<SimpleValue Value=”11”/>
<SimpleValue Value=”18”/>
<SimpleValue Value=”5”/>
</Response>
</Kronos_WFC>

90
LoadByWildcard — Labor Level Entries

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Object="LaborLevelEntry" Action="LoadByWildCard" WildCard="*"
LaborLevelDefinitionName="Division">
<LaborLevelEntry />
</Request>

<Request Object="LaborLevelEntry" Action="LoadByWildCard" WildCard="*"


LaborLevelDefinitionName="Location">
<LaborLevelEntry />
</Request>

<Request Object="LaborLevelEntry" Action="LoadByWildCard" WildCard="*"


LaborLevelDefinitionName="Department">
<LaborLevelEntry />
</Request>

<Request Object="LaborLevelEntry" Action="LoadByWildCard" WildCard="*"


LaborLevelDefinitionName="Cost Center">
<LaborLevelEntry />
</Request>

<Request Object="LaborLevelEntry" Action="LoadByWildCard" WildCard="*"


LaborLevelDefinitionName="Job">
<LaborLevelEntry />
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">

91
<Response Status="Success" Object="LaborLevelEntry" Action="LoadByWildCard"
WildCard="*" LaborLevelDefinitionName="Division">
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Healthcare"
InactiveFlag="false" LaborLevelEntryName="101"/>
<LaborLevelEntry LaborLevelDefinitionName="Division"
Description="Manufacturing" InactiveFlag="false" LaborLevelEntryName="102"/>
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Retail"
InactiveFlag="false" LaborLevelEntryName="103"/>
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Gov-Ed"
InactiveFlag="false" LaborLevelEntryName="104"/>
</Response>
<Response Status="Success" Object="LaborLevelEntry" Action="LoadByWildCard"
WildCard="*" LaborLevelDefinitionName="Location">
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Boston"
InactiveFlag="false" LaborLevelEntryName="201"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Orlando"
InactiveFlag="false" LaborLevelEntryName="202"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Chicago"
InactiveFlag="false" LaborLevelEntryName="203"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Tampa"
InactiveFlag="false" LaborLevelEntryName="204"/>
<LaborLevelEntry LaborLevelDefinitionName="Location" Description="Los
Angeles" InactiveFlag="false" LaborLevelEntryName="205"/>
</Response>
<Response Status="Success" Object="LaborLevelEntry" Action="LoadByWildCard"
WildCard="*" LaborLevelDefinitionName="Department">
<LaborLevelEntry LaborLevelDefinitionName="Department"
Description="Accounting" InactiveFlag="false" LaborLevelEntryName="301"/>
<LaborLevelEntry LaborLevelDefinitionName="Department"
Description="Purchasing" InactiveFlag="false" LaborLevelEntryName="302"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Payroll"
InactiveFlag="false" LaborLevelEntryName="303"/>
<LaborLevelEntry LaborLevelDefinitionName="Department"
Description="Engineering" InactiveFlag="false" LaborLevelEntryName="304"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Training"
InactiveFlag="false" LaborLevelEntryName="305"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Service"
InactiveFlag="false" LaborLevelEntryName="306"/>

92
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Dining"
InactiveFlag="false" LaborLevelEntryName="307"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="HR"
InactiveFlag="false" LaborLevelEntryName="308"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Grounds"
InactiveFlag="false" LaborLevelEntryName="309"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Laundry"
InactiveFlag="false" LaborLevelEntryName="310"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Shipping"
InactiveFlag="false" LaborLevelEntryName="311"/>
<LaborLevelEntry LaborLevelDefinitionName="Department"
Description="Receiving" InactiveFlag="false" LaborLevelEntryName="312"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="Lab"
InactiveFlag="false" LaborLevelEntryName="313"/>
<LaborLevelEntry LaborLevelDefinitionName="Department" Description="apille1"
InactiveFlag="false" LaborLevelEntryName="apille1"/>
</Response>
<Response Status="Success" Object="LaborLevelEntry" Action="LoadByWildCard"
WildCard="*" LaborLevelDefinitionName="Cost Center">
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="401-
111111" InactiveFlag="false" LaborLevelEntryName="401"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="402-
222222" InactiveFlag="false" LaborLevelEntryName="402"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="403-
333333" InactiveFlag="false" LaborLevelEntryName="403"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="404-
444444" InactiveFlag="false" LaborLevelEntryName="404"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="405-
555555" InactiveFlag="false" LaborLevelEntryName="405"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="406-
666666" InactiveFlag="false" LaborLevelEntryName="406"/>
<LaborLevelEntry LaborLevelDefinitionName="Cost Center" Description="407-
777777" InactiveFlag="false" LaborLevelEntryName="407"/>
</Response>
<Response Status="Success" Object="LaborLevelEntry" Action="LoadByWildCard"
WildCard="*" LaborLevelDefinitionName="Job">
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Associate"
InactiveFlag="false" LaborLevelEntryName="501"/>

93
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Shipper"
InactiveFlag="false" LaborLevelEntryName="502"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Cashier"
InactiveFlag="false" LaborLevelEntryName="503"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Sales Assistant"
InactiveFlag="false" LaborLevelEntryName="504"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Programmer"
InactiveFlag="false" LaborLevelEntryName="505"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Cook"
InactiveFlag="false" LaborLevelEntryName="506"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Janitor"
InactiveFlag="false" LaborLevelEntryName="507"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Supervisor"
InactiveFlag="false" LaborLevelEntryName="508"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Foreman"
InactiveFlag="false" LaborLevelEntryName="509"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Electrician"
InactiveFlag="false" LaborLevelEntryName="510"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Administrator"
InactiveFlag="false" LaborLevelEntryName="511"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Floor Nurse"
InactiveFlag="false" LaborLevelEntryName="512"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Charge Nurse"
InactiveFlag="false" LaborLevelEntryName="513"/>
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="[AdHoc]"
InactiveFlag="false" LaborLevelEntryName="AdHoc"/>
</Response>
</Kronos_WFC>

LoadLaborLevelEntry

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<!-- Name is actually Description property -->
<LaborLevelEntry LaborLevelEntryName="Supervisor"
LaborLevelDefinitionName="Job"/>
</Request>

94
<Request Action="Load">
<!-- Name is actually Name property -->
<LaborLevelEntry LaborLevelEntryName="501" LaborLevelDefinitionName="Job"/>
</Request>

<Request Action="Load">
<!-- Name exists but does not match definition -->
<LaborLevelEntry LaborLevelEntryName="101"
LaborLevelDefinitionName="Division"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Supervisor"
InactiveFlag="false" LaborLevelEntryName="508"/>
</Response>
<Response Status="Success" Action="Load">
<LaborLevelEntry LaborLevelDefinitionName="Job" Description="Associate"
InactiveFlag="false" LaborLevelEntryName="501"/>
</Response>
<Response Status="Success" Action="Load">
<LaborLevelEntry LaborLevelDefinitionName="Division" Description="Healthcare"
InactiveFlag="false" LaborLevelEntryName="101"/>
</Response>
</Kronos_WFC>

UpdateOnly — Labor Level Entry

Request
<?xml version="1.0"?>
<!-- This example adds a test LaborLevelEntry and then Updates its name. Any of
the other properties of the LaborLevelEntry Bean can be Updated using this
method. -->

95
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<LaborLevelEntry LaborLevelEntryName="foreg" LaborLevelDefinitionName="Job"/>
</Request>

<Request Action="UpdateOnly">
<LaborLevelEntry LaborLevelEntryName="foreg" LaborLevelDefinitionName="Job"
NewName="fortest"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Failure" Action="UpdateOnly">
<Error Message="Insertion to the database failed." ErrorCode="8004"/>
</Response>
</Kronos_WFC>

Person information

AddOnlyPersonality
Personality is an example of a root-level tag that contains many levels of nested tags. There is quite a lot of
information you can provide for a new person. Most of the time, it is convenient to add just a small amount
to get started. In this example only some of the tags that are nested within the PersonInformation tag have
been used. Because this person is not already in the database, the AddOnly action is used. Use the Update
action to add more information for this employee.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Personality>
<PersonInformationData>
<PersonInformation>

96
<PersonData>
<Person LastName="Smith" HireDate="01/01/04" PersonNumber="Sm638"/>
</PersonData>
</PersonInformation>
</PersonInformationData>
<JobAssignmentData>
<JobAssignment>
<PrimaryLaborAccounts>
<PrimaryLaborAccount LaborAccountName="101/201/301/401/501/601/701"
EffectiveDate="08/09/04"/>
</PrimaryLaborAccounts>
</JobAssignment>
</JobAssignmentData>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”AddOnly”>
</Response>
</Kronos_WFC>

LoadPersonality

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<Personality>
<Identity>
<PersonIdentity PersonNumber="307"/>
</Identity>
</Personality>

97
</Request>
</Kronos_WFC>

Response
Workforce Central can retain a lot of information about a person, including the following:
l Whether a person is enabled for overtime
l Salary, assigned group, and employee status
l Placement in the organizational hierarchy
l Labor account
l Whether the person is an active employee
l UserId
l Password, encoded
l Licenses for the person
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<Personality>
<Identity>
<PersonIdentity PersonNumber=”307”/>
</Identity>
<JobAssignmentData>
<JobAssignment HasPersonalOvertimeFlag=”false” ScheduleGroupName=”First
Shift”>
<JobAssignmentDetailsData>
<JobAssignmentDetails BaseWageHourly=”0.00” PayRuleName=”Full Time”
TimeZoneName=”(GMT -05:00)Eastern Time”/>
</JobAssignmentDetailsData>
<PrimaryLaborAccounts>
<PrimaryLaborAccount EfectiveDate=”06/15/2004” ExpirationDate=”01/01/3000”
OrganizationPath=“Organization/Hospitals/Labs/Lab 1/Ultrasounds/Tech 1”
LaborAccountName=“101/201/301/401/501/601/701”/>
</PrimaryLaborAccounts>
</JobAssignment>
</JobAssignmentData>
<PersonInformationData>

98
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName=”IS” GroupScheduleName=“All Schedule
Groups” ManagerAccessSetName=“All Labor Accounts” ManagerPayCodeName=“All Pay
Codes” ManagerTransferSetName=“All Labor Accounts” ManagerWorkRuleName=“All
Work Rules” PreferenceProfileName=”Default”
ProfessionalPayCodeName=“Professional Employees”
ProfessionalTransferSetName=“Professional Employees”
ProfessionalWorkRuleName=“Professional Employees” ReportName=”Empty Profile”
SchedulePatternName=“All Schedule Patterns” ShiftCodeName=”All Shift
Templates” AvailabilityPatternName=“All Availability Templates”
TimeEntryTypeName=“Timestamp &amp;Hourly View” TransferEmployeeFlag=”false”/>
</AccessAssignmentData>
<PersonAccessAssignments>
<PersonAccessAssignment EffectiveDate=”11/16/1997”
ExpirationDate=”01/01/3000” ManagerAccessOrganizationSetName=“All
Organizational Maps” ManagerTransferOrganizationSetName=“All Organizational
Maps” ProfessionalTransferOrganization-SetName=”Empty Profile”/>
</PersonAccessAssignments>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate=”11/16/1997” ExpirationDate=”01/01/3000”
EmploymentStatusName=”Active”/>
</EmploymentStatusList>
<HomeAccounts>
<HomeAccount EffectiveDate=”06/15/2004” ExpirationDate=”06/08/2006”
LaborAccountName=“101/201/301/401/501/601/701”/>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag=”true” LicenseTypeName=“Workforce Scheduler”/>
<PersonLicenseType ActiveFlag=”true” LicenseTypeName=“Workforce Manager”/>
<PersonLicenseType ActiveFlag=”true” LicenseTypeName=“Workforce Employee”/>
<PersonLicenseType ActiveFlag=”true” LicenseTypeName=“Workforce Timekeeper”/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly=”0.00” FirstName=”Dave” FullName=”Birtwell, Dave”
HireDate=”11/16/1997” LastName=”Birtwell” PersonNumber=”307” ShortName=”Birt”
FullTimePercentage=”100” AccrualProfileName=”VAC, PRL, SK Full Time”
ManagerSignoffThruDateTime=“01/01/1901”
PayrollLockoutThruDateTime=“01/01/1901” FingerRequiredFlag=”false”/>
</PersonData>

99
<UserAccountStatusList>
<UserAccountStatus EffectiveDate=”11/16/1997” ExpirationDate=”01/01/3000”
UserAccountStatusName=”Active”/>
</UserAccountStatusList>
</PersonInformation>
</PersonInformationData>
<UserData>
<User>
<UserAccountData>
<UserAccount ConsecutiveBadLogons=”0” LogonProfileName=”Super Access”
PasswordUpdatedDateTime=“07/02/2004 1:56PM” PasswordUpdateFlag=”false”
UserName=”dbirtwell” UserPassword=“3215933E252D724370A1B01BFE5964D6”/>
</UserAccountData>
</User>
</UserData>
<WTKEmployeeData>
<WTKEmployee AccrualProfileName=”VAC, PRL, SK Full Time”
ManagerSignoffThruDateTime=”01/01/1901”
PayrollLockoutThruDateTime=”01/01/1901” PayRuleName=”Full Time”
ScheduleGroupName=”First Shift” TimeZoneName=”(GMT -05:00) Eastern Time”/>
</WTKEmployeeData>
</Personality>
</Response>
</Kronos_WFC>

UpdateAccessProfileName

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>

100
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default"/>
</AccessAssignmentData>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="12/07/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<HomeAccounts>
<HomeAccount EffectiveDate="01/01/1753" ExpirationDate="01/01/3000"
LaborAccountName="101/201/301/401/501"/>

101
</HomeAccounts>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="0.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
</PersonInformation>
</Response>
</Kronos_WFC>

UpdateBadgeAssignments

Request
<?xml version="1.0"?>
<!-- This example Updates API1 with two badge numbers with Effective Dates. The
Updated information is checked using LoadAllBadgeAssignments Action in
APIPersonInformationBean. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/01"/>
</BadgeAssignments>
</PersonInformation>
</PersonInformationData>

102
</Personality>
</Request>

<Request Action="LoadAllBadgeAssignments">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="LoadAllBadgeAssignments">
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</Response>
</Kronos_WFC>

UpdateBaseWageHourly

Request
<?xml version="1.0"?>
<!-- An example to Update BaseWageHourly for an employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>

103
<PersonData>
<Person BaseWageHourly="15"/>
</PersonData>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
</Kronos_WFC>

UpdateCustomData

Request
<?xml version="1.0"?>
<!-- CustomDataList corresponds to Additional Info in GUI. This example shows
how you can Update this information via XML API. CustomDataTypeName property
could be any one of the labels on the Additional Info page in People applet. --
>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<CustomDataList>
<CustomData CustomDataTypeName="Comments" Text="This employee is used for api
testing"/>
<CustomData CustomDataTypeName="Maiden Name" Text="APIEmp"/>
</CustomDataList>

104
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<EmploymentStatusList>

105
<EmploymentStatus EffectiveDate="12/07/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<HomeAccounts>
<HomeAccount EffectiveDate="01/01/1753" ExpirationDate="01/01/3000"
LaborAccountName="101/201/301/401/501"/>
</HomeAccounts>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="0.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
</PersonInformation>
</Response>
</Kronos_WFC>

UpdateDeviceGroupName

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Administration" DeviceGroupName="Admin Building"/>
</WTKEmployeeData>

106
</Personality>
</Request>

<Request Action="Load">
<WTKEmployee>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</WTKEmployee>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<WTKEmployee AccrualProfileName="VAC and Sick Only" DeviceGroupName="Admin
Building " PayRuleName="Administration" TimeZoneName="Eastern">
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</WTKEmployee>
</Response>
</Kronos_WFC>

UpdateCustomDates

Request
<?xml version="1.0"?>
<!-- This example Updates Person Dates information for the employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>

107
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<CustomDates>
<CustomDate CustomDateTypeName="401K Enrollment Date" Date="01/01/01"/>
</CustomDates>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>

108
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="12/07/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<HomeAccounts>
<HomeAccount EffectiveDate="01/01/1753" ExpirationDate="01/01/3000"
LaborAccountName="101/201/301/401/501"/>
</HomeAccounts>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="0.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
</PersonInformation>
</Response>
</Kronos_WFC>

UpdateEmailAddress
<?xml version="1.0"?>

109
<!-- This example Updates Email information of the employee. ContactTypeName
must be one specified in ContactType table with EmailADDRESSSW turned on. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<EmailAddresses>
<EmailAddress ContactTypeName="Work" Address="ap1@company.com"/>
</EmailAddresses>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

UpdateEmploymentStatus

Request
<?xml version="1.0"?>
<!-- This example turns the employment status to active. EmploymentStatusName
must be initially defined in the database. EffectiveDate must be specified. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>

110
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<EmploymentStatusList>
<EmploymentStatus EmploymentStatusName="Active" EffectiveDate="01/01/01"/>
</EmploymentStatusList>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
</Kronos_WFC>

UpdateExpectedHours

Request
<?xml version="1.0"?>
<!-- This example Updates the expected hours information of the employee and
Loads the Updated information. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<ExpectedHoursList>

111
<ExpectedHours TimePeriodTypeName="Daily" Quantity="8"/>
</ExpectedHoursList>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<Personality>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Administration" TimeZoneName="Eastern"/>
</WTKEmployeeData>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>

112
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="01/01/1753" ExpirationDate="01/01/3000"
LaborAccountName="101/201/301/401/501"/>
</HomeAccounts>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="0.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
</PersonInformation>

113
</PersonInformationData>
</Personality>
</Response>
</Kronos_WFC>

UpdateHomeAccounts

Request
<?xml version="1.0"?>
<!-- This information Updates HomeAccounts for the employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<HomeAccounts>
<HomeAccount LaborAccountName="101/201/301/401/501"
EffectiveDate="01/01/2001"/>
<HomeAccount LaborAccountName="102/202/302/402/502"
EffectiveDate="04/01/2001"/>
<HomeAccount LaborAccountName="102/202/303/402/502"
EffectiveDate="10/01/2001"/>
</HomeAccounts>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="LoadAllHomeAccounts">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>

114
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="LoadAllHomeAccounts">
<HomeAccount EffectiveDate="01/01/1753" ExpirationDate="04/01/2001"
LaborAccountName="101/201/301/401/501"/>
<HomeAccount EffectiveDate="04/01/2001" ExpirationDate="10/01/2001"
LaborAccountName="102/202/302/402/502"/>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</Response>
</Kronos_WFC>

UpdateLicenseType

Request
<?xml version="1.0"?>
<!-- This example Updates the license information of the employee. You can
specify the licensetypename and set the active flag to True to give that
provide employee with that license. The licensetypename property is actually
licensetypeid in the database. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<PersonLicenseTypes>
<PersonLicenseType LicenseTypeName="1" ActiveFlag="True"/>

115
</PersonLicenseTypes>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>

116
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</HomeAccounts>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="0.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
</PersonInformation>
</Response>
</Kronos_WFC>

117
UpdatePhoneNumber

Request
<?xml version="1.0"?>
<!-- This example Updates the phone numbers of the employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<TelephoneNumbers>
<TelephoneNumber ContactTypeName="Home Phone" PhoneNumber="978-947-1000"/>
<TelephoneNumber ContactTypeName="Work Phone" PhoneNumber="978-947-1001"/>
<TelephoneNumber ContactTypeName="Mobile Phone" PhoneNumber="978-947-1003"/>
</TelephoneNumbers>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>

118
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</HomeAccounts>

119
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="15.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
<PostalAddresses>
<PostalAddress City="Api City" Country="API" PostalCode="0001" State="AP"
Street="8 Api Drive" ContactTypeName="Home"/>
</PostalAddresses>
<SupervisorData>
<Supervisor FullName="Baker, Ginger"/>
</SupervisorData>
<TelephoneNumbers>
<TelephoneNumber PhoneNumber="978-947-1003" ContactTypeName="Mobile Phone"/>
<TelephoneNumber PhoneNumber="978-947-1001" ContactTypeName="Work Phone"/>
<TelephoneNumber PhoneNumber="978-947-1000" ContactTypeName="Home Phone"/>
</TelephoneNumbers>
</PersonInformation>
</Response>
</Kronos_WFC>

UpdatePostalAddress
<?xml version="1.0"?>
<!-- This example Updates the Postal Address of the Employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>

120
</Identity>
<PersonInformationData>
<PersonInformation>
<PostalAddresses>
<PostalAddress ContactTypeName="Home" Street="8 Api Drive" City="Api City"
State="AP" PostalCode="0001" Country="API"/>
</PostalAddresses>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

UpdateSupervisor

Request
<?xml version="1.0"?>
<!-- This example Updates the Supervisor information of the employee. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<SupervisorData>

121
<Supervisor FullName="Boss, Bob"/>
</SupervisorData>
</PersonInformation>
</PersonInformationData>
</Personality>
</Request>

<Request Action="Load">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>

122
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</HomeAccounts>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="15.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
<PostalAddresses>
<PostalAddress City="Api City" Country="API" PostalCode="0001" State="AP"
Street="8 Api Drive" ContactTypeName="Home"/>
</PostalAddresses>
<SupervisorData>
<Supervisor FullName="Boss, Bob"/>

123
</SupervisorData>
</PersonInformation>
</Response>
</Kronos_WFC>

UpdateTimeZoneName

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Administration" TimeZoneName="13011"/>
</WTKEmployeeData>
</Personality>
</Request>

<Request Action="Load">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>

124
<Response Status="Success" Action="Load">
<Personality>
<WTKEmployeeData>
<WTKEmployee AccrualProfileName="VAC and Sick Only" DeviceGroupName="Admin
Building " PayRuleName="Administration" TimeZoneName="Eastern"/>
</WTKEmployeeData>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>

125
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</HomeAccounts>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="15.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
<PostalAddresses>
<PostalAddress City="Api City" Country="API" PostalCode="0001" State="AP"
Street="8 Api Drive" ContactTypeName="Home"/>
</PostalAddresses>
<SupervisorData>
<Supervisor FullName="Baker, Ginger"/>
</SupervisorData>
<TelephoneNumbers>
<TelephoneNumber PhoneNumber="978-947-1003" ContactTypeName="Mobile Phone"/>
<TelephoneNumber PhoneNumber="978-947-1001" ContactTypeName="Work Phone"/>
<TelephoneNumber PhoneNumber="978-947-1000" ContactTypeName="Home Phone"/>
</TelephoneNumbers>
<UserAccountStatusList>
<UserAccountStatus EffectiveDate="03/02/2001" ExpirationDate="01/01/3000"
UserAccountStatusName="Active"/>
</UserAccountStatusList>
</PersonInformation>
</PersonInformationData>
<UserData>
<User>
<PasswordHistories>

126
<PasswordHistory EffectiveDateTime="12/07/2001 5:49PM"
Password="A15CEFF20F9C4B10"/>
<PasswordHistory EffectiveDateTime="12/07/2001 5:49PM"
Password="0D5EEDB053B7C9E25BBF311259C1212C"/>
</PasswordHistories>
<UserAccountData>
<UserAccount ConsecutiveBadLogons="0" LogonProfileName="&amp;DEFAULT_LOGON"
PasswordUpdatedDateTime="12/07/2001 5:49PM" PasswordUpdateFlag="false"
UserName="apiperson" UserPassword="0D5EEDB053B7C9E25BBF311259C1212C"/>
</UserAccountData>
</User>
</UserData>
</Personality>
</Response>
</Kronos_WFC>

UpdateUserAccountStatus

Request
<?xml version="1.0"?>
<!-- This Request can return a FAILURE if the person is not a user. -->
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<UserAccountStatusList>
<UserAccountStatus UserAccountStatusName="Active" EffectiveDate="03/02/01"/>
</UserAccountStatusList>
</PersonInformation>
</PersonInformationData>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Part Time"/>

127
</WTKEmployeeData>
<UserData>
<User>
<UserAccountData>
<UserAccount Username="apiuser" UserPassword="apiuser"/>
</UserAccountData>
</User>
</UserData>
</Personality>
</Request>

<Request Action="LoadAllUserAccountStatus">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="LoadAllUserAccountStatus">
<UserAccountStatus EffectiveDate="03/02/2001" ExpirationDate="01/01/3000"
UserAccountStatusName="Active"/>
</Response>
</Kronos_WFC>

Process profiles

128
Load — Process Profile

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action = "Load" >
<ProcessProfile ProcessProfileName="All Process Templates"/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Load”>
<ProcessProfile ProcessProfileName=”All Process Templates”
ProcessProfileId=”-1” />
</Response>
</Kronos_WFC>

LoadAllProcessProfiles

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action = "LoadAllProcessProfiles" >
<ProcessProfile/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAllProcessProfiles”>
<ProcessProfile ProcessProfileName=”All Process Templates”
ProcessProfileId=”-1” />
<ProcessProfile ProcessProfileName=”Empty Profile” ProcessProfileId=”-2” />
</Response>

129
</Kronos_WFC>

LoadById — Process Profiles

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action = "LoadById" >
<ProcessProfile ProcessProfileId="-1">
</ProcessProfile>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadById”>
<ProcessProfile ProcessProfileName=”All Process Templates”
ProcessProfileId=”-1” />
</Response>
</Kronos_WFC>

Scheduling

AddEmployees — to Schedule Group

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="AddEmployees">
<ScheduleGroup QueryDateSpan="01/02/01 - 01/02/2100" ScheduleGroupName="Third
Shift">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/02/01 - 01/02/2100">
<Employee>
<PersonIdentity PersonNumber="API1"/>
</Employee>

130
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Request>

<Request Action="Load">
<ScheduleGroup
QueryDateSpan="01/02/01 - 01/02/2100"
ScheduleGroupName="Third Shift"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddEmployees">
</Response>
<Response Status="Success" Action="Load">
<ScheduleGroup QueryDateSpan="01/02/2001 - 01/02/2100"
ScheduleGroupName="Third Shift" IsOverrideConflict="false">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/02/2001 - 01/02/2100">
<Employee>
<PersonIdentity PersonNumber="API1"/>
</Employee>
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Response>
</Kronos_WFC>

AddNew — Shift Code

Request
<?xml version="1.0"?>

131
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="05/01/2001-05/02/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="05/01/01">
<ShiftSegments>
<ShiftSegment SegmentTypeName="SEGMENT" EndTime="4:30" StartTime="23:00"
EndDayNumber="2" StartDayNumber="1"/>
<ShiftSegment SegmentTypeName="BREAK" EndTime="5:00" StartTime="4:30"
EndDayNumber="2" StartDayNumber="2"/>
<ShiftSegment SegmentTypeName="SEGMENT" EndTime="7:00" StartTime="5:00"
EndDayNumber="2" StartDayNumber="2"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="05/01/2001-05/02/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">

132
</Response>
<Response Status="Success" Action="LoadAllShiftCodes">
<ShiftCode Description="9am to 5pm" Label="9a-5p" ShiftCodeName="9a-5p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="5:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="7am to 330pm" Label="7a-330p" ShiftCodeName="7a-
330p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="3:30PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="7:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="3pm to 1130pm" Label="3p-1130p" ShiftCodeName="3p-
1130p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="11:30PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="3:00PM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="11pm to 730am +1 day" Label="11p-730a"
ShiftCodeName="11p-730a">
<ShiftSegments>
<ShiftSegment EndDayNumber="2" EndTime="7:30AM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="11:00PM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="9am to 2pm" Label="9a-2p" ShiftCodeName="9a-2p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="2:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="9am to 6pm" Label="9a-6p" ShiftCodeName="9a-6p">

133
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="6:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="describe shift code" Label="New shift code"
ShiftCodeName="New Shift Code">
<ShiftSegments>
<ShiftSegment EndDayNumber="2" EndTime="4:30AM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="11:00PM"/>
<ShiftSegment EndDayNumber="2" EndTime="5:00AM" SegmentTypeName="BREAK"
StartDayNumber="2" StartTime="4:30AM"/>
<ShiftSegment EndDayNumber="2" EndTime="7:00AM" SegmentTypeName="SEGMENT"
StartDayNumber="2" StartTime="5:00AM"/>
</ShiftSegments>
</ShiftCode>
</Response>
</Kronos_WFC>

AddNewtoMoreThanOneEmployee

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="07/01/2001-07/02/2001">
<Employees>
<PersonIdentity PersonNumber="30"/>
<PersonIdentity PersonNumber="31"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="07/01/01">
<ShiftSegments>
<ShiftSegment SegmentTypeName="SEGMENT" EndTime="4:30" StartTime="23:00"
EndDayNumber="2" StartDayNumber="1"/>
<ShiftSegment SegmentTypeName="BREAK" EndTime="5:00" StartTime="4:30"
EndDayNumber="2" StartDayNumber="2"/>

134
<ShiftSegment SegmentTypeName="SEGMENT" EndTime="7:00" StartTime="5:00"
EndDayNumber="2" StartDayNumber="2"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="07/01/2001-07/02/2001">
<Employees>
<PersonIdentity PersonNumber="30"/>
<PersonIdentity PersonNumber="31"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="07/01/2001 - 07/02/2001">
<Employees>
<PersonIdentity PersonNumber="30"/>
<PersonIdentity PersonNumber="31"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="07/01/2001">
<Employee>
<PersonIdentity PersonNumber="31"/>
</Employee>

135
<ShiftSegments>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="4:30AM"
SegmentTypeName="SEGMENT" StartDate="07/01/2001" StartDayNumber="1"
StartTime="11:00PM"/>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="5:00AM"
SegmentTypeName="BREAK" StartDate="07/02/2001" StartDayNumber="2"
StartTime="4:30AM"/>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="7:00AM"
SegmentTypeName="SEGMENT" StartDate="07/02/2001" StartDayNumber="2"
StartTime="5:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="07/01/2001">
<Employee>
<PersonIdentity PersonNumber="30"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="4:30AM"
SegmentTypeName="SEGMENT" StartDate="07/01/2001" StartDayNumber="1"
StartTime="11:00PM"/>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="5:00AM"
SegmentTypeName="BREAK" StartDate="07/02/2001" StartDayNumber="2"
StartTime="4:30AM"/>
<ShiftSegment EndDate="07/02/2001" EndDayNumber="2" EndTime="7:00AM"
SegmentTypeName="SEGMENT" StartDate="07/02/2001" StartDayNumber="2"
StartTime="5:00AM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Response>
</Kronos_WFC>

AddNewWithBreakType

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">

136
<Request Action="Update">
<Schedule QueryDateSpan="07/01/2001-07/01/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="07/01/2001">
<ShiftSegments>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="7:00"
EndTime="12:30" SegmentTypeName="SEGMENT"/>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="12:30"
EndTime="13:00" SegmentTypeName="BREAK"/>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="13:00"
EndTime="15:00" SegmentTypeName="SEGMENT"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="07/01/2001-07/01/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>

137
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="07/01/2001 - 07/01/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="07/01/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="07/01/2001" EndDayNumber="1" EndTime="12:30PM"
SegmentTypeName="SEGMENT" StartDate="07/01/2001" StartDayNumber="1"
StartTime="7:00AM"/>
<ShiftSegment EndDate="07/01/2001" EndDayNumber="1" EndTime="1:00PM"
SegmentTypeName="BREAK" StartDate="07/01/2001" StartDayNumber="1"
StartTime="12:30PM"/>
<ShiftSegment EndDate="07/01/2001" EndDayNumber="1" EndTime="3:00PM"
SegmentTypeName="SEGMENT" StartDate="07/01/2001" StartDayNumber="1"
StartTime="1:00PM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
<SchedulePatterns>
<SchedulePattern AnchorDate="04/01/2001" Description="" SchedulePatternName="
#(61)" EffectiveDateSpan="04/01/2001 - 01/01/3000" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PatternElements>
<PatternElement DayNumber="2"/>
<PatternElement DayNumber="3"/>
<PatternElement DayNumber="4"/>
<PatternElement DayNumber="5"/>
<PatternElement DayNumber="6"/>

138
</PatternElements>
</SchedulePattern>
</SchedulePatterns>
</Schedule>
</Response>
</Kronos_WFC>

AddNewWithLaborAccountTransfer

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="07/01/2001-07/02/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="07/01/01">
<ShiftSegments>
<ShiftSegment StartDayNumber="2" EndDayNumber="2" StartTime="1:00"
EndTime="4:30" SegmentTypeName="SEGMENT"
LaborAccountName="101/201/301/401/502"/>
<ShiftSegment StartDayNumber="2" EndDayNumber="2" StartTime="4:30"
EndTime="5:00" SegmentTypeName="BREAK"/>
<ShiftSegment StartDayNumber="2" EndDayNumber="2" StartTime="5:00"
EndTime="7:00" SegmentTypeName="SEGMENT"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="05/01/2001-05/02/2001">

139
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="05/01/2001 - 05/02/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="05/01/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="05/02/2001" EndDayNumber="2" EndTime="4:30AM"
SegmentTypeName="SEGMENT" StartDate="05/01/2001" StartDayNumber="1"
StartTime="11:00PM"/>
<ShiftSegment EndDate="05/02/2001" EndDayNumber="2" EndTime="5:00AM"
SegmentTypeName="BREAK" StartDate="05/02/2001" StartDayNumber="2"
StartTime="4:30AM"/>
<ShiftSegment EndDate="05/02/2001" EndDayNumber="2" EndTime="7:00AM"
SegmentTypeName="SEGMENT" StartDate="05/02/2001" StartDayNumber="2"
StartTime="5:00AM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
<SchedulePatterns>

140
<SchedulePattern AnchorDate="04/01/2001" Description="" SchedulePatternName="
#(61)" EffectiveDateSpan="04/01/2001 - 01/01/3000" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PatternElements>
<PatternElement DayNumber="2"/>
<PatternElement DayNumber="3"/>
<PatternElement DayNumber="4"/>
<PatternElement DayNumber="5"/>
<PatternElement DayNumber="6"/>
</PatternElements>
</SchedulePattern>
</SchedulePatterns>
</Schedule>
</Response>
</Kronos_WFC>

AddNewWithOffType

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="07/03/2001-07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="07/03/2001">
<ShiftSegments>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="7:00"
EndTime="12:30" SegmentTypeName="SEGMENT"/>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="12:30"
EndTime="15:00" SegmentTypeName="BREAK"/>

141
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="07/03/2001-07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="07/03/2001 - 07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="07/03/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="07/03/2001" EndDayNumber="1" EndTime="12:30PM"
SegmentTypeName="SEGMENT" StartDate="07/03/2001" StartDayNumber="1"
StartTime="7:00AM"/>

142
<ShiftSegment EndDate="07/03/2001" EndDayNumber="1" EndTime="3:00PM"
SegmentTypeName="BREAK" StartDate="07/03/2001" StartDayNumber="1"
StartTime="12:30PM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
<SchedulePatterns>
<SchedulePattern AnchorDate="04/01/2001" Description="" SchedulePatternName="
#(61)" EffectiveDateSpan="04/01/2001 - 01/01/3000" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PatternElements>
<PatternElement DayNumber="2"/>
<PatternElement DayNumber="3"/>
<PatternElement DayNumber="4"/>
<PatternElement DayNumber="5"/>
<PatternElement DayNumber="6"/>
</PatternElements>
</SchedulePattern>
</SchedulePatterns>
</Schedule>
</Response>
</Kronos_WFC>

AddNewWithTransferType

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="07/03/2001-07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>

143
<ScheduleItems>
<ScheduleShift StartDate="07/03/2001">
<ShiftSegments>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="7:00"
EndTime="12:30" SegmentTypeName="SEGMENT"/>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="12:30"
EndTime="13:00" SegmentTypeName="BREAK"/>
<ShiftSegment StartDayNumber="1" EndDayNumber="1" StartTime="13:00"
EndTime="15:00" SegmentTypeName="TRANSFER"
LaborAccountName="101/202/303/401/501"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<!--Check Action by Loading the Bean-->
<Schedule QueryDateSpan="07/03/2001-07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="07/03/2001 - 07/03/2001">
<Employees>
<PersonIdentity PersonNumber="10"/>

144
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="07/03/2001">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="07/03/2001" EndDayNumber="1" EndTime="12:30PM"
SegmentTypeName="SEGMENT" StartDate="07/03/2001" StartDayNumber="1"
StartTime="7:00AM"/>
<ShiftSegment EndDate="07/03/2001" EndDayNumber="1" EndTime="1:00PM"
SegmentTypeName="BREAK" StartDate="07/03/2001" StartDayNumber="1"
StartTime="12:30PM"/>
<ShiftSegment EndDate="07/03/2001" EndDayNumber="1" EndTime="3:00PM"
LaborAccountName="101/202/303/401/501" SegmentTypeName="TRANSFER"
StartDate="07/03/2001" StartDayNumber="1" StartTime="1:00PM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
<SchedulePatterns>
<SchedulePattern AnchorDate="04/01/2001" Description="" SchedulePatternName="
#(61)" EffectiveDateSpan="04/01/2001 - 01/01/3000" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PatternElements>
<PatternElement DayNumber="2"/>
<PatternElement DayNumber="3"/>
<PatternElement DayNumber="4"/>
<PatternElement DayNumber="5"/>
<PatternElement DayNumber="6"/>
</PatternElements>
</SchedulePattern>
</SchedulePatterns>
</Schedule>

145
</Response>
</Kronos_WFC>

AddScheduleItems

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="AddScheduleItems">
<!-- Adding a Time Pay Code -->
<Schedule QueryDateSpan="06/01/01 - 12/31/01">
<Employees>
<PersonIdentity BadgeNumber = "25" />
</Employees>
<ScheduleItems>
<SchedulePayCodeEdit
AmountInTime="8:00"
StartDate="06/10/01"
PayCodeName="Bereavement"
LaborAccountName="101/201/301/401/501"/>
</ScheduleItems>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddScheduleItems">
</Response>
</Kronos_WFC>

DeleteShiftCode

Request
<?xml version=”1.0” ?>

146
<Kronos_WFC version="1.0">
<Request Action="Delete">
<ShiftCode ShiftCodeName="7A8"/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”Delete”/>
</Kronos_WFC>

LoadAllGroups

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Object="ScheduleGroup" Action="LoadAllGroups">
<ScheduleGroup />
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="ScheduleGroup" Action="LoadAllGroups">
<ScheduleGroup ScheduleGroupName="Salaried"/>
<ScheduleGroup ScheduleGroupName="Third Shift"/>
<ScheduleGroup ScheduleGroupName="Second Shift"/>
<ScheduleGroup ScheduleGroupName="Day Office"/>
<ScheduleGroup ScheduleGroupName="First Shift"/>
<ScheduleGroup ScheduleGroupName="Day Part Time"/>
</Response>
</Kronos_WFC>

147
LoadAllPatterns

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllPatterns" Object="SchedulePattern"/>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="SchedulePattern" Action="LoadAllPatterns">
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(171)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="2" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="3" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="4" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="5" ShiftCodeName="11p-730a"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(170)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>

148
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(169)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(168)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to #(167)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(261)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">

149
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(166)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(165)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="9 to 5 Shift M-F"
SchedulePatternName="9 to #(211)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>

150
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 2 Shift M-F"
SchedulePatternName="9 to #(164)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-2p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(163)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(115)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>

151
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(162)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(114)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>

152
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(66)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="2" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="3" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="4" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="5" ShiftCodeName="11p-730a"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="" SchedulePatternName="
#(113)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-2p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 2 Shift M-F"
SchedulePatternName="9 to 2 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-2p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="11 to 730a Shift M-F
+1day" SchedulePatternName="11 to 73 #(18)" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">

153
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="2" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="3" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="4" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="5" ShiftCodeName="11p-730a"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(65)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="3 to 1130 Shift M-F"
SchedulePatternName="3 to 113 #(17)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(64)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>

154
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="7 to 330 Shift M-F"
SchedulePatternName="7 to 33 #(16)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(63)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="9 to 5 Shift M-F"
SchedulePatternName="9 to #(15)" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>

155
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="" SchedulePatternName="
#(62)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="11 to 730a Shift M-F
+1day" SchedulePatternName="11 to 730 M-F" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="2" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="3" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="4" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="5" ShiftCodeName="11p-730a"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/01/2001" Description="" SchedulePatternName="
#(61)" PeriodLengthInDays="7" PeriodLength="1" PeriodCodeName="WEEKS"
IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="2"/>
<PatternElement DayNumber="3"/>
<PatternElement DayNumber="4"/>
<PatternElement DayNumber="5"/>
<PatternElement DayNumber="6"/>
</PatternElements>
</SchedulePattern>

156
<SchedulePattern AnchorDate="09/09/1996" Description="3 to 1130 Shift M-F"
SchedulePatternName="3 to 1130 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="7 to 330 Shift M-F"
SchedulePatternName="7 to 330 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="9 to 5 Shift M-F"
SchedulePatternName="9 to 5 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>
</Response>
</Kronos_WFC>

157
LoadAllShiftCodes

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadAllShiftCodes">
<ShiftCode />
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadAllShiftCodes">
<ShiftCode Description="9am to 5pm" Label="9a-5p" ShiftCodeName="9a-5p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="5:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="7am to 330pm" Label="7a-330p" ShiftCodeName="7a-
330p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="3:30PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="7:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="3pm to 1130pm" Label="3p-1130p" ShiftCodeName="3p-
1130p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="11:30PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="3:00PM"/>
</ShiftSegments>
</ShiftCode>

158
<ShiftCode Description="11pm to 730am +1 day" Label="11p-730a"
ShiftCodeName="11p-730a">
<ShiftSegments>
<ShiftSegment EndDayNumber="2" EndTime="7:30AM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="11:00PM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="9am to 2pm" Label="9a-2p" ShiftCodeName="9a-2p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="2:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="9am to 6pm" Label="9a-6p" ShiftCodeName="9a-6p">
<ShiftSegments>
<ShiftSegment EndDayNumber="1" EndTime="6:00PM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="9:00AM"/>
</ShiftSegments>
</ShiftCode>
<ShiftCode Description="describe shift code" Label="New shift code"
ShiftCodeName="New Shift Code">
<ShiftSegments>
<ShiftSegment EndDayNumber="2" EndTime="4:30AM" SegmentTypeName="SEGMENT"
StartDayNumber="1" StartTime="11:00PM"/>
<ShiftSegment EndDayNumber="2" EndTime="5:00AM" SegmentTypeName="BREAK"
StartDayNumber="2" StartTime="4:30AM"/>
<ShiftSegment EndDayNumber="2" EndTime="7:00AM" SegmentTypeName="SEGMENT"
StartDayNumber="2" StartTime="5:00AM"/>
</ShiftSegments>
</ShiftCode>
</Response>
</Kronos_WFC>

LoadGroups

Request
<?xml version="1.0"?>

159
<Kronos_WFC version="1.0">
<Request Action="Load">
<ScheduleGroup ScheduleGroupName="Third Shift" QueryDateSpan="06/01/01 -
06/30/01"/>
</Request>
<Request Action="Load">
<ScheduleGroup ScheduleGroupName="Third Shift" QueryDateSpan="07/01/01 -
12/01/2001"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<ScheduleGroup QueryDateSpan="06/01/2001 - 06/30/2001"
ScheduleGroupName="Third Shift" IsOverrideConflict="false">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/02/2001 - 01/02/2100">
<Employee>
<PersonIdentity PersonNumber="API1"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="9"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>

160
</Response>
<Response Status="Success" Action="Load">
<ScheduleGroup QueryDateSpan="07/01/2001 - 12/01/2001"
ScheduleGroupName="Third Shift" IsOverrideConflict="false">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/02/2001 - 01/02/2100">
<Employee>
<PersonIdentity PersonNumber="API1"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="9"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Response>
</Kronos_WFC>

LoadPattern

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<SchedulePattern SchedulePatternName="9 to 5 M-F"/>
</Request>
</Kronos_WFC>

161
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 6:09PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<SchedulePattern AnchorDate="09/09/1996" Description="9 to 5 Shift M-F"
SchedulePatternName="9 to 5 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>
</SchedulePattern>
</Response>
</Kronos_WFC>

LoadSchedule

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Load">
<Schedule
QueryDateSpan="05/07/2004-05/11/2005">
<Employees>
<PersonIdentity PersonNumber="8"/>
<PersonIdentity PersonNumber="9"/>
<PersonIdentity PersonNumber="10"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

162
Response
<?xml version='1.0' encoding='Windows-1252' ?>
<Kronos_WFC version="1.0" TimeStamp="03/17/2005 9:36AM
GMT-05:00" WFCVersion="5.1.0.260">
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="05/07/2004 - 05/11/2005">
<Employees>
<PersonIdentity PersonNumber="8"/>
<PersonIdentity PersonNumber="9"/>
<PersonIdentity PersonNumber="10"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="03/08/2005" IsDeleted="false">
<Employee>
<PersonIdentity PersonNumber="9"/>
</Employee>
<Comments>
<Comment CommentText="Went postal"/>
</Comments>
<ShiftSegments>
<ShiftSegment EndDate="03/08/2005" EndDayNumber="1" EndTime="10:00PM"
LaborAccountName="101//////" SegmentTypeName="TRANSFER"
StartDate="03/08/2005" StartDayNumber="1" StartTime="6:00PM"
WorkRuleName="Administration"/>
<ShiftSegment EndDate="03/09/2005" EndDayNumber="2" EndTime="8:00AM"
SegmentTypeName="REGULAR" StartDate="03/08/2005" StartDayNumber="1"
StartTime="10:00PM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="03/09/2005" IsDeleted="false">
<Employee>
<PersonIdentity PersonNumber="9"/>
</Employee>
<Comments>
<Comment CommentText="Forgot to punch"/>
</Comments>

163
<ShiftSegments>
<ShiftSegment EndDate="03/09/2005" EndDayNumber="1" EndTime="12:30PM"
SegmentTypeName="REGULAR" StartDate="03/09/2005" StartDayNumber="1"
StartTime="7:00AM"/>
<ShiftSegment EndDate="03/09/2005" EndDayNumber="1" EndTime="1:00PM"
SegmentTypeName="BREAK" StartDate="03/09/2005" StartDayNumber="1"
StartTime="12:30PM"/>
<ShiftSegment EndDate="03/09/2005" EndDayNumber="1" EndTime="3:00PM"
SegmentTypeName="REGULAR" StartDate="03/09/2005" StartDayNumber="1"
StartTime="1:00PM"/>
</ShiftSegments>
</ScheduleShift>
<SchedulePayCodeEdit LockedFlag="false" StartDate="03/11/2005"
IsDeleted="false" AmountInTime="8:00" DisplayTime="7:00AM" OrgJobPath=""
PayCodeName="Baylor">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</SchedulePayCodeEdit>
<SchedulePayCodeEdit LockedFlag="false" StartDate="03/08/2005"
IsDeleted="false" AmountInTime="8:00" DisplayTime="7:00AM" OrgJobPath=""
PayCodeName="Baylor">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</SchedulePayCodeEdit>
<SchedulePayCodeEdit LockedFlag="false" StartDate="03/09/2005"
IsDeleted="false" AmountInTime="8:00" DisplayTime="7:00AM" OrgJobPath=""
PayCodeName="Baylor">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</SchedulePayCodeEdit>
<ScheduleAccrualAmountEdit LockedFlag="false" StartDate="03/06/2005"
IsDeleted="false" AmountInTime="5.0" AccrualCodeName="Personal">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>

164
</ScheduleAccrualAmountEdit>
</ScheduleItems>
<SchedulePatterns>
<SchedulePattern AnchorDate="03/06/2005" Description="" SchedulePatternName="
#934" EffectiveDateSpan="03/06/2005 - 03/19/2005" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="false">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
<PatternElements>
<PatternElement DayNumber="1" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="2" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="3" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="4" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="5" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="6" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
<PatternElement DayNumber="7" PayCodeName="Baylor" AmountInTime="8:00"
DisplayTime="7:00AM"/>
</PatternElements>
</SchedulePattern>
</SchedulePatterns>
</Schedule>
</Response>
</Kronos_WFC>

LoadTemplatePatterns

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadTemplatePatterns" Object="SchedulePattern"/>

165
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Object="SchedulePattern"
Action="LoadTemplatePatterns">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="11 to 730a Shift M-F
+1day" SchedulePatternName="11 to 730 M-F" PeriodLengthInDays="7"
PeriodLength="1" PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="2" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="3" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="4" ShiftCodeName="11p-730a"/>
<PatternElement DayNumber="5" ShiftCodeName="11p-730a"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 2 Shift M-F"
SchedulePatternName="9 to 2 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-2p"/>

166
<PatternElement DayNumber="4" ShiftCodeName="9a-2p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-2p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="3 to 1130 Shift M-F"
SchedulePatternName="3 to 1130 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="2" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="3" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="4" ShiftCodeName="3p-1130p"/>
<PatternElement DayNumber="5" ShiftCodeName="3p-1130p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="7 to 330 Shift M-F"
SchedulePatternName="7 to 330 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="2" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="3" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="4" ShiftCodeName="7a-330p"/>
<PatternElement DayNumber="5" ShiftCodeName="7a-330p"/>
</PatternElements>
</SchedulePattern>
<SchedulePattern AnchorDate="09/09/1996" Description="9 to 5 Shift M-F"
SchedulePatternName="9 to 5 M-F" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-5p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-5p"/>
</PatternElements>

167
</SchedulePattern>
</Response>
</Kronos_WFC>

LoadAllCertifications

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action=”LoadAll”
<Certification/>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”LoadAll”>
<Certification>
<CertificationElements>
<CertificationElement Name=”Blook Lab” Abbreviation=”BLAB” IsActive=”true”/>
<CertificationElement Name=”Cardiac Care” Abbreviation=”CARDC”
IsActive=”true”/>
<CertificationElement Name=”CT Scan” Abbreviation=”CTSCN” IsActive=”true”/>
<CertificationElement Name=”MRI” Abbreviation=”MRI” IsActive=”true”/>
<CertificationElement Name=”Paramedic” Abbreviation=”PARA” IsActive=”true”/>
</CertificationElements>
</Certification>
</Response>
</Kronos_WFC>

RemoveEmployees from and AddEmployees to a Schedule Group


Use the Transaction tag to ensure that two or more actions are processed as a logical unit of work. If either
request fails, all requests in the transaction are backed out.
Suppose any employee is only allowed to belong to one group. Suppose someone is being transferred from
the Third Shift to the First Shift. If you add him to the First Shift group, you must also remove him the Third

168
Shift group. If one request succeeds but the other fails, the person would appear to belong to both groups or
to none. Use the Transaction tag to be sure that both requests are handled as an atomic unit.
l This example removes an employee from one group and adds the employee to another group.
l The transaction includes two requests. Although they could have specified two different tags, in this
case, they both use the same tag: ScheduleGroup, but two different actions: RemoveEmployees and
AddEmployees.
l TransactionSequence, if used, is specified once in the transaction statement and is then returned with
every response in the transaction. In this example, TransactionSequence is specified as 69. The system
does not examine this value, but only passes it to the requests. When completed, each response
contains TransactionSequence=“69”.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Transaction TransactionSequence='69'>

<Request Action="RemoveEmployees">
<ScheduleGroup ScheduleGroupName="Third Shift" QueryDateSpan="01/01/02 -
12/31/2002">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/01/02 - 12/31/2002">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Request>

<Request Action="AddEmployees">
<ScheduleGroup ScheduleGroupName="First Shift" QueryDateSpan="01/01/02 -
12/31/2002">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="01/01/02 - 12/31/2002">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>

169
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Request>

</Transaction>
</Kronos_WFC>

Successful responses
<?xml version=”1.0” ?>
<Kronos_WFC version="1.0">
<Response Status=”Success” TransactionSequence=”69”
Action=”RemoveEmployees”/>
<Response Status=”Success” TransactionSequence=”69” Action=”AddEmployees”/>
</Kronos_WFC>

Failed response
If the first request fails, the next request will fail with the following response:
<?xml version=”1.0” ?>
<Kronos_WFC version="1.0">
<Response Status=”Failure” Message=”This request was not executed due to an
earlier request failure within the transation” TransactionSequence=”69”
Action=”AddEmployees”/>
</Kronos_WFC>

UpdateandDeletePattern

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 Update" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="True">
<PatternElements>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p" />
<PatternElement DayNumber="3" ShiftCodeName="9a-6p" />
<PatternElement DayNumber="4" ShiftCodeName="9a-6p" />

170
<PatternElement DayNumber="5" ShiftCodeName="9a-6p" />
<PatternElement DayNumber="6" ShiftCodeName="9a-6p" />
</PatternElements>
</SchedulePattern>
</Request>

<Request Action="Load">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 Update" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="True"/>
</Request>

<Request Action="Delete">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 Update" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="True"/>
</Request>

<Request Action="Load">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 Update" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="True"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to 6 Update" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="true">
<PatternElements>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>

171
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="6" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>
</Response>
<Response Status="Success" Action="Delete">
</Response>
<Response Status="Failure" Action="Load">
<Error Message="The action requires an existing bean, but could not find a
SchedulePattern bean for key "9 to 6 Update"." ErrorCode="1001"
BeanName="SchedulePattern">
<ErrorData>"beanKey=9 to 6 Update"
</ErrorData>
</Error>
</Response>
</Kronos_WFC>

UpdateGroup

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<ScheduleGroup ScheduleGroupName="Day Office" QueryDateSpan="6/6/2001 -
12/31/2001">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="6/6/2001 - 9/30/2001">
<Employee>
<PersonIdentity PersonNumber="35"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="10/1/2001 - 12/6/2001">
<Employee>
<PersonIdentity PersonNumber="28"/>
</Employee>

172
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Request>

<Request Action="Load">
<ScheduleGroup ScheduleGroupName="Day Office" QueryDateSpan="6/6/2001 -
12/6/2001"/>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Action="Load">
<ScheduleGroup QueryDateSpan="06/06/2001 - 12/06/2001" ScheduleGroupName="Day
Office" IsOverrideConflict="false">
<GroupMemberships>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="34"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="43"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="25"/>
</Employee>
</GroupMembership>

173
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="26"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="27"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 06/05/2001">
<Employee>
<PersonIdentity PersonNumber="28"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="44"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="36"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="30"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="33"/>
</Employee>

174
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="38"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="15"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 09/30/2001">
<Employee>
<PersonIdentity PersonNumber="35"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="37"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="42"/>
</Employee>
</GroupMembership>
<GroupMembership EffectiveDateSpan="04/30/2001 - 01/01/3000">
<Employee>
<PersonIdentity PersonNumber="41"/>
</Employee>
</GroupMembership>
</GroupMemberships>
</ScheduleGroup>
</Response>

175
</Kronos_WFC>

UpdateGroupShiftwithShiftCode

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="06/16/01-07/15/01">
<ScheduleGroups>
<ScheduleGroup QueryDateSpan="06/16/01-07/15/01" ScheduleGroupName="Day
Office"/>
</ScheduleGroups>
<ScheduleItems>
<ScheduleShift StartDate="06/16/01" ShiftCodeName="9a-5p"/>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load" Debug="ON">


<Schedule QueryDateSpan="06/16/01-07/15/01">
<ScheduleGroups>
<ScheduleGroup QueryDateSpan="06/16/01-07/15/01" ScheduleGroupName="Day
Office"/>
</ScheduleGroups>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
<Response Status="Success" Debug="ON" Action="Load">
<Schedule QueryDateSpan="06/16/2001 - 07/15/2001">

176
<ScheduleGroups>
<ScheduleGroup QueryDateSpan="06/16/2001 - 07/15/2001" ScheduleGroupName="Day
Office" IsOverrideConflict="false"/>
</ScheduleGroups>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="41"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="38"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="33"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">

177
<Employee>
<PersonIdentity PersonNumber="44"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="27"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="37"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="26"/>
</Employee>
<ShiftSegments>

178
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="30"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="35"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="36"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">

179
<Employee>
<PersonIdentity PersonNumber="15"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="25"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="42"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="43"/>
</Employee>
<ShiftSegments>

180
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" StartDate="06/16/2001">
<Employee>
<PersonIdentity PersonNumber="34"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
<ScheduleShift LockedFlag="false" ScheduleGroupName="Day Office"
StartDate="06/16/2001">
<ShiftSegments>
<ShiftSegment EndDate="06/16/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="06/16/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
<SchedulePatterns>
<SchedulePattern AnchorDate="04/30/2001" Description="9 to 6 Shift M-F"
SchedulePatternName="9 to #(167)" EffectiveDateSpan="04/30/2001 - 01/01/3000"
ScheduleGroupName="Day Office" PeriodLengthInDays="7" PeriodLength="1"
PeriodCodeName="WEEKS" IsTemplateFlag="false">
<PatternElements>
<PatternElement DayNumber="1" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="2" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="3" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="4" ShiftCodeName="9a-6p"/>
<PatternElement DayNumber="5" ShiftCodeName="9a-6p"/>
</PatternElements>
</SchedulePattern>

181
</SchedulePatterns>
</Schedule>
</Response>
</Kronos_WFC>

UpdatePayRuleName

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<WTKEmployeeData>
<WTKEmployee PayRuleName="Full Time"/>
</WTKEmployeeData>
</Personality>
</Request>

<Request Action="Load">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</Personality>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>

182
<Response Status="Success" Action="Load">
<Personality>
<WTKEmployeeData>
<WTKEmployee AccrualProfileName="VAC and Sick Only" DeviceGroupName="Admin
Building " PayRuleName="Full Time" TimeZoneName="Eastern"/>
</WTKEmployeeData>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<PersonInformationData>
<PersonInformation>
<AccessAssignmentData>
<AccessAssignment AccessProfileName="Default" PreferenceProfileName="Default"
TransferEmployeeFlag="false"/>
</AccessAssignmentData>
<BadgeAssignments>
<BadgeAssignment BadgeNumber="1169" EffectiveDate="01/01/2001"
ExpirationDate="01/01/3000"/>
</BadgeAssignments>
<CustomDataList>
<CustomData Text="APIEmp" CustomDataTypeName="Maiden Name"/>
<CustomData Text="This employee is used for api testing"
CustomDataTypeName="Comments"/>
</CustomDataList>
<CustomDates>
<CustomDate Date="01/01/2001" CustomDateTypeName="401K Enrollment Date"/>
</CustomDates>
<EMailAddresses>
<EMailAddress Address="ap1@company.com" ContactTypeName="Work"/>
</EMailAddresses>
<EmploymentStatusList>
<EmploymentStatus EffectiveDate="01/01/2001" EmploymentStatusName="Active"
ExpirationDate="01/01/3000"/>
</EmploymentStatusList>
<ExpectedHoursList>

183
<ExpectedHours Quantity="8" TimePeriodTypeName="Daily"/>
</ExpectedHoursList>
<HomeAccounts>
<HomeAccount EffectiveDate="10/01/2001" ExpirationDate="01/01/3000"
LaborAccountName="102/202/303/402/502"/>
</HomeAccounts>
<PersonLicenseTypes>
<PersonLicenseType ActiveFlag="true" LicenseTypeName="Workforce Timekeeper
Employee"/>
</PersonLicenseTypes>
<PersonData>
<Person BaseWageHourly="15.00" EmployeeStandardHours="40" FullName="Lastapi"
FullTimePercentage="100" FullTimeStandardHours="40" HireDate="01/01/2001"
LastName="Lastapi" PersonNumber="API1"/>
</PersonData>
<PostalAddresses>
<PostalAddress City="Api City" Country="API" PostalCode="0001" State="AP"
Street="8 Api Drive" ContactTypeName="Home"/>
</PostalAddresses>
<SupervisorData>
<Supervisor FullName="Baker, Ginger"/>
</SupervisorData>
<TelephoneNumbers>
<TelephoneNumber PhoneNumber="978-947-1003" ContactTypeName="Mobile Phone"/>
<TelephoneNumber PhoneNumber="978-947-1001" ContactTypeName="Work Phone"/>
<TelephoneNumber PhoneNumber="978-947-1000" ContactTypeName="Home Phone"/>
</TelephoneNumbers>
<UserAccountStatusList>
<UserAccountStatus EffectiveDate="03/02/2001" ExpirationDate="01/01/3000"
UserAccountStatusName="Active"/>
</UserAccountStatusList>
</PersonInformation>
</PersonInformationData>
<UserData>
<User>
<PasswordHistories>

184
<PasswordHistory EffectiveDateTime="12/07/2001 5:49PM"
Password="A15CEFF20F9C4B10"/>
<PasswordHistory EffectiveDateTime="12/07/2001 5:49PM"
Password="0D5EEDB053B7C9E25BBF311259C1212C"/>
</PasswordHistories>
<UserAccountData>
<UserAccount ConsecutiveBadLogons="0" LogonProfileName="&amp;DEFAULT_LOGON"
PasswordUpdatedDateTime="12/07/2001 5:49PM" PasswordUpdateFlag="false"
UserName="apiperson" UserPassword="0D5EEDB053B7C9E25BBF311259C1212C"/>
</UserAccountData>
</User>
</UserData>
</Personality>
</Response>
</Kronos_WFC>

UpdateSkill

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Skill>
<SkillElements>
<SkillElement Name="Accupuncture" Abbreviation="ACCP" IsActive="true"/>
</SkillElements>
</Skill>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 11:05AM GMT-04:00” WFCVersion=”5.0.5.380”
version=”1.0”>
<Response Status=”Success” Action=”Update”/>
</Kronos_WFC>

185
UpdateUserData

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Personality>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
<UserData>
<User>
<UserAccountData>
<UserAccount Username="apiperson" UserPassword="apiperson"/>
</UserAccountData>
</User>
</UserData>
</Personality>
</Request>

<Request Action="LoadAllUserAccountStatus">
<PersonInformation>
<Identity>
<PersonIdentity PersonNumber="API1"/>
</Identity>
</PersonInformation>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:49PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>

186
<Response Status="Success" Action="LoadAllUserAccountStatus">
<UserAccountStatus EffectiveDate="03/02/2001" ExpirationDate="01/01/3000"
UserAccountStatusName="Active"/>
</Response>
</Kronos_WFC>

UpdateWithAShiftCode

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<Schedule QueryDateSpan="07/01/01-07/15/01">
<Employees>
<PersonIdentity PersonNumber="25"/>
</Employees>
<ScheduleItems>
<ScheduleShift StartDate="07/01/01" ShiftCodeName="9a-5p"/>
</ScheduleItems>
</Schedule>
</Request>

<Request Action="Load">
<Schedule QueryDateSpan="07/01/01-07/15/01">
<Employees>
<PersonIdentity PersonNumber="25"/>
</Employees>
</Schedule>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">

187
</Response>
<Response Status="Success" Action="Load">
<Schedule QueryDateSpan="07/01/2001 - 07/15/2001">
<Employees>
<PersonIdentity PersonNumber="25"/>
</Employees>
<ScheduleItems>
<ScheduleShift LockedFlag="false" StartDate="07/01/2001">
<Employee>
<PersonIdentity PersonNumber="25"/>
</Employee>
<ShiftSegments>
<ShiftSegment EndDate="07/01/2001" EndDayNumber="1" EndTime="5:00PM"
SegmentTypeName="SEGMENT" StartDate="07/01/2001" StartDayNumber="1"
StartTime="9:00AM"/>
</ShiftSegments>
</ScheduleShift>
</ScheduleItems>
</Schedule>
</Response>
</Kronos_WFC>

Timekeeping

AddCommentToPCE

Request
<?xml version="1.0"?>
<!-- This example first inserts two pay code edits and then adds comments to
them. AddComment requires PayCode to exist. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<!-- Adding a Time Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="12/16/01"
PayCodeName="Bereavement">
<Employee>

188
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="AddOnly">
<!-- Adding a Money Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="50.00" Date="12/16/01"
PayCodeName="Bonus$">
<Employee>
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="AddComment">
<!-- Add Comment using Comment Text. Comment codes won't work. -->
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="12/16/01"
PayCodeName="Bereavement" CommentText="Worked Weekend">
<Employee>
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="AddComment">
<PayCodeEdit AmountInTimeOrCurrency="50.00" Date="12/16/01"
PayCodeName="Bonus$" CommentText="Worked Weekend">
<Employee>
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeEdit>
</Request>
</Kronos_WFC>

189
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/12/2001 2:47PM EST" WFCVersion="4.1.0.49"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddComment">
</Response>
<Response Status="Success" Action="AddComment">
</Response>
</Kronos_WFC>

AddCommenttoWorkedDuration

Request
<?xml version="1.0"?>
<!-- This example inserts a WorkedDuration and then adds a comment to the
inserted WorkedDuration. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<!-- Insert a valid duration edit -->
<WorkedDuration AmountInTime="8:00" Date="06/04/01">
<Employee>
<PersonIdentity BadgeNumber="35"/>
</Employee>
</WorkedDuration>
</Request>

<Request Action="AddComment">
<!-- Add a comment to the inserted worked duration -->
<WorkedDuration AmountInTime="8:00" Date="06/04/01" CommentText="Worked
Weekend">
<Employee>
<PersonIdentity BadgeNumber="35"/>

190
</Employee>
</WorkedDuration>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/12/2001 5:18PM EST" WFCVersion="4.1.0.49"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddComment">
</Response>
</Kronos_WFC>

AddOnlyPunch
The Punch tag has a number of properties, but the only one that is required is Employee. If no date and
time are specified, the system date and time are used.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Punch>
<Employee>
<PersonIdentity PersonNumber="281"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”AddOnly”/>
</Kronos_WFC>

191
AddPayCodeEdit

Request
<?xml version="1.0"?>
<!-- This example demonstrates adding pay code edits for an employee. Either
PersonNumber or BadgeNumber could be specified in the PersonIdentity bean.
LaborAccountName and CommentText are optional. Amount is in either time or
currency depending on PayCode. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<!-- Adding a Time Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="05/30/01"
PayCodeName="Absent" CommentText="Excused - Supervisor Approved"
LaborAccountName="101/201/301/401/501">
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="AddOnly">
<!-- Adding a Money Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="20.00" Date="05/29/01"
PayCodeName="Bonus$" LaborAccountName="101/201/301/401/501"
CommentText="Worked Through Lunch - Authorized">
<Employee>
<PersonIdentity BadgeNumber="6"/>
</Employee>
</PayCodeEdit>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">

192
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

AddPayCodeMove

Request
<?xml version="1.0"?>
<!-- This example will add a PayCodeEdit to ensure that one exists; and then
perform a PayCodeMove. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<!-- Adding a Time Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="12/14/01"
PayCodeName="Overtime" CommentText="Worked Weekend"
LaborAccountName="101/201/301/401/501">
<Employee>
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="AddOnly">
<!-- Adding a Money Pay Code -->
<PayCodeMove AmountInTimeOrCurrency="50.00" Date="12/14/01"
PayCodeName="Bonus$" FromPayCodeName="Overtime"
FromLaborAccountName="101/201/301/401/501"
LaborAccountName="102/201/301/401/501">
<Employee>
<PersonIdentity BadgeNumber="1"/>
</Employee>
</PayCodeMove>
</Request>
</Kronos_WFC>

193
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

AddPunchWithLaborAccountTransfer

Request
<?xml version="1.0"?>
<!-- Add Punch with LaborAccount Transfer. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Punch Date="06/04/01" Time="9:00AM" KronosTimeZone="13011"
DayLightSavingsFlag="True" LaborAccountName="101/201/301/401/513">
<Employee>
<PersonIdentity BadgeNumber="29"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

AddPunchWithWorkRuleTransfer

Request
<?xml version="1.0"?>
<!-- Add Punch With WorkRuleTransfer. -->

194
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Punch Date="06/04/01" Time="7:00AM" KronosTimeZone="13011"
DayLightSavingsFlag="True" WorkRuleName="Callback">
<Employee>
<PersonIdentity BadgeNumber="31"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

AddStraightPunch

Request
<?xml version="1.0"?>
<!-- A straight Punch example. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Punch Date="06/04/01" Time="9:00AM" KronosTimeZone="13011"
DayLightSavingsFlag="True">
<Employee>
<PersonIdentity BadgeNumber="40"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>

195
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

AddWithAdHocLaborAccountTransfer — Pay Code Edit

Request
<?xml version="1.0"?>
<!-- This example first creates a Ad Hoc Labor account. It assigns this
adhocLaborAccount to the Pay code edit. Note: Uncheck Validate All New Entries
in the Labor Level Maintenance window for the fifth Labor Level Definition in
order for this example to work. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly" allowAdHoc="True" >
<!-- Adding a Time Pay Code -->
<PayCodeEdit AmountInTimeOrCurrency="50.00" Date="01/10/01"
PayCodeName="Travel$" CommentText="Travel Day"
LaborAccountName="101/202/303/403/515">
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
</PayCodeEdit>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly" allowAdHoc="True">
</Response>
</Kronos_WFC>

AddWithAdHocLaborAccountTransfer — Punch

Request
<?xml version="1.0"?>

196
<!-- To add a Punch with AdHoc Labor Account, you first have to create a
AdHocLaborAccount. The AdHoc Labor Level Entry must be allowed for that
particular Labor Level Definition. For this example, it is necessary to uncheck
"Validate All New Entries" for Labor Level Definition Name=Job. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly" allowAdHoc="True" >
<Punch Date="06/07/01" Time="9:00AM" KronosTimeZone="13011"
DaylightSavingsFlag="True" WorkRuleName="Callback"
LaborAccountName="101/201/301/401/PunchEntry">
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly" allowAdHoc="True">
</Response>
</Kronos_WFC>

AddWorkedDuration

Request
<?xml version="1.0"?>
<!--Read only Required keys-->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<WorkedDuration AmountInTime="8" Date="06/01/01">
<Employee>
<PersonIdentity BadgeNumber="35"/>
</Employee>
</WorkedDuration>
</Request>
</Kronos_WFC>

197
Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

ApproveSignOff

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Approve">
<ApproveSignoff>
<Period>
<TimeFramePeriod TimeFrameName="Previous Pay Period"/>
</Period>
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
</ApproveSignoff>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 6:26PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Approve">
</Response>
</Kronos_WFC>

CancelDeduct

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">

198
<Request Action="AddOnly">
<Punch Date="05/30/01" Time="9:00AM">
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</Punch>
</Request>

<Request Action="AddOnly">
<Punch Date="05/30/01" Time="12:00PM">
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</Punch>
</Request>

<Request Action="AddOnly">
<Punch Date="05/30/01" Time="12:30">
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</Punch>
</Request>

<Request Action="AddOnly">
<Punch Date="05/30/01" Time="17:00">
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</Punch>
</Request>

<Request Action="Update">
<CancelDeductions Date="05/30/01" Time="17:00">

199
<Employee>
<PersonIdentity BadgeNumber="8"/>
</Employee>
</CancelDeductions>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="Update">
</Response>
</Kronos_WFC>

CheckStatus — PunchStatus
If an employee regularly checks in and out, you can use this request to determine whether the employee is
currently checked in.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Request Action="CheckStatus">
<PunchStatus
<Employee>
<PersonIdentity PersonNumber="241"/>
</Employee>
</PunchStatus>
</Request>

200
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/01/2004 1:23PM GMT-04:00” WFCVersion=”5.0.4.364”
version=”1.0”>
<Response Status=”Success” Action=”CheckStatus”>
<PunchStatus Status=”Out”
<Employee>
<PersonIdentity PersonNumber=”241”/>
</Employee>
</PunchStatus>
</Response>
</Kronos_WFC>

Delete and AddOnly Punch


Suppose an employee punched in at 8 a.m., but had to leave immediately because of an emergency.
Suppose the employee needed to punch in again at 10:30 a.m. Before accepting the 10:30 a.m. punch, the 8
a.m. punch must be deleted.
Enclose both requests in a Transaction container to ensure that both requests are are either done or not
done. You can also use a TransactionSequence property to verify that responses are received from both
requests.

Request
<?xml version="1.0" ?>
<Kronos_WFC version="1.0">
<Transaction TransactionSequence="14">
<Request Action="Delete">
<Punch Date="10/10/2004" Time="8:00AM" >
<Employee>
<PersonIdentity PersonNumber="8"/>
</Employee>
</Punch>
</Request>
<Request Action="AddOnly">
<Punch Date="10/10/2004" Time="10:30AM" >
<Employee>

201
<PersonIdentity PersonNumber="8"/>
</Employee>
</Punch>
</Request>
</Transaction>
</Kronos_WFC>

Response
<?xml version=’1.0’ encoding=’Windows-1252’ ?>
<Kronos_WFC TimeStamp=”10/19/2004 1:27PM GMT-04:00” WFCVersion=”5.0.5.381”
version=”1.0”>
<Response Status=”Success” TransactionSequence=”14” Action=”Delete”/>
<Response Status=”Success” TransactionSequence=”14” Action=”AddOnly”/>
</Kronos_WFC>

DeletePayCodeEdit

Request
<?xml version="1.0"?>
<!-- This example first adds a pay code edit and then deletes it. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="06/05/01"
PayCodeName="Bereavement">
<Employee>
<PersonIdentity BadgeNumber="10"/>
</Employee>
</PayCodeEdit>
</Request>

<Request Action="Delete">
<!-- Delete the Updated pay codes -->
<PayCodeEdit AmountInTimeOrCurrency="8:00" Date="06/05/01"
PayCodeName="Bereavement">
<Employee>
<PersonIdentity BadgeNumber="10"/>
</Employee>

202
</PayCodeEdit>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/12/2001 2:49PM EST" WFCVersion="4.1.0.49"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="Delete">
</Response>
</Kronos_WFC>

DeleteWorkedDuration

Request
<?xml version="1.0"?>
<!-- This example would add a WorkedDuration and then Delete it. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<WorkedDuration AmountInTime="8:00" Date="06/07/01">
<Employee>
<PersonIdentity BadgeNumber="35" />
</Employee>
</WorkedDuration>
</Request>

<Request Action="Delete">
<!--Read only Required keys-->
<WorkedDuration AmountInTime="8:00" Date="06/07/01">
<Employee>
<PersonIdentity BadgeNumber="35" />
</Employee>
</WorkedDuration>
</Request>

203
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/12/2001 5:18PM EST" WFCVersion="4.1.0.49"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="Delete">
</Response>
</Kronos_WFC>

InsertHistoricalPayCodeEdit

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="SignOff">
<ApproveSignoff>
<Period>
<TimeFramePeriod TimeFrameName="Previous Pay Period"/>
</Period>
<Employee>
<PersonIdentity PersonNumber="1"/>
</Employee>
</ApproveSignoff>
</Request>

<Request Action="AddOnly">
<HistoricalPayCodeEdit HistoricalDate="11/30/01"
AmountInTimeOrCurrency="8:00" PayCodeName="Special Weekend-Baylor"
Date="05/14/01">
<Employee>
<PersonIdentity PersonNumber="1"/>
</Employee>
</HistoricalPayCodeEdit>
</Request>

204
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/09/2001 1:45PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

InsertHistoricalPayCodeMove

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="SignOff">
<ApproveSignoff>
<Period>
<TimeFramePeriod TimeFrameName="Previous Pay Period"/>
</Period>
<Employee>
<PersonIdentity PersonNumber="1"/>
</Employee>
</ApproveSignoff>
</Request>

<Request Action="AddOnly">
<HistoricalPayCodeEdit HistoricalDate="05/10/01"
AmountInTimeOrCurrency="8:00" PayCodeName="Baylor" Date="05/17/01">
<Employee>
<PersonIdentity PersonNumber="1"/>
</Employee>
</HistoricalPayCodeEdit>
</Request>

<Request Action="AddOnly">

205
<HistoricalPayCodeMove FromLaborAccountName="101/201/301/401/501"
FromPayCodeName="Baylor" AmountInTimeOrCurrency="8:00"
PayCodeName="Bereavement" Date="05/17/01" HistoricalDate="01/10/01">
<Employee>
<PersonIdentity PersonNumber="1"/>
</Employee>
</HistoricalPayCodeMove>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/12/2001 4:17PM EST" WFCVersion="4.1.0.49"
version="1.0">
<Response Status="Success" Action="SignOff">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
<Response Status="Success" Action="AddOnly">
</Response>
</Kronos_WFC>

kindredTest
<?xml version="1.0"?>
<!-- Add Punch with LaborAccount Transfer. -->
<Kronos_WFC version="1.0">
<Request Action="AddOnly">
<Punch Date="08/11/08" Time="9:00AM" KronosTimeZone="13011"
DayLightSavingsFlag="True"
LaborAccountName="010101/07/0975/00/00/201/09000170">
<Employee>
<PersonIdentity BadgeNumber="242714"/>
</Employee>
</Punch>
</Request>
</Kronos_WFC>

206
LoadDailyTotals

Request
<?xml version="1.0"?>
<!-- This example Loads daily totals. Look at LoadTimesheet*.xml examples to
see different ways of specifying TimeFramePeriod. -->
<Kronos_WFC version="1.0">
<Request Action="LoadDailyTotals">
<Timesheet>
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
<Period>
<TimeFramePeriod PeriodDateSpan="06/01/01-06/07/01"/>
</Period>
</Timesheet>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadDailyTotals">
<Timesheet LastTotalizationDateTime="11/12/2001 8:59AM"
TotalsUpToDateFlag="false">
<DailyTotals>
<DateTotals Date="05/31/2001"/>
<DateTotals Date="06/01/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/02/2001">
<Totals>
</Totals>
</DateTotals>

207
<DateTotals Date="06/03/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/04/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/05/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/06/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/08/2001"/>
<DateTotals Date="06/07/2001">
<Totals>
</Totals>
</DateTotals>
</DailyTotals>
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
<Period>
<TimeFramePeriod PeriodDateSpan="06/01/2001 - 06/07/2001"/>
</Period>
</Timesheet>
</Response>
</Kronos_WFC>

LoadPeriodTotals
This example Loads Period Totals for the employee. Look at LoadTimesheet*.xml examples to see how

208
different periods could be specified in TimeFramePeriod.

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="LoadPeriodTotals">
<Timesheet>
<Period>
<TimeFramePeriod TimeFrameName="Current Pay Period"/>
</Period>
<Employee>
<PersonIdentity BadgeNumber="10"/>
</Employee>
</Timesheet>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="LoadPeriodTotals">
<Timesheet LastTotalizationDateTime="12/07/2001 5:49PM"
TotalsUpToDateFlag="false">
<Employee>
<PersonIdentity BadgeNumber="10"/>
</Employee>
<PeriodTotalData>
<PeriodTotals PeriodDateSpan="11/26/2001 - 12/09/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"

209
AmountInCurrency="350.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="80:00"/>
</Totals>
</PeriodTotals>
</PeriodTotalData>
<Period>
<TimeFramePeriod PeriodDateSpan="11/26/2001 - 12/09/2001"
TimeFrameName="Current Pay Period"/>
</Period>
</Timesheet>
</Response>
</Kronos_WFC>

LoadTimesheetInCurrentPayPeriod

Request
<?xml version="1.0"?>
<!-- This example Loads timesheet in the current pay period. Also look at the
example LoadTimesheetInPeriodDateSpan.xml to check how a Datespan could be
specified in which the Timesheet must be Loaded. Some TimeFrameNames may also
require you to specify a reference date. In which case TimeFrameDate property
must be specified. -->
<Kronos_WFC version="1.0">
<Request Action="Load">
<Timesheet>
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<Period>

210
<TimeFramePeriod TimeFrameName="Current Pay Period"/>
</Period>
</Timesheet>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<Timesheet LastTotalizationDateTime="12/07/2001 5:49PM"
TotalsUpToDateFlag="false">
<DailyTotals>
<DateTotals Date="11/25/2001"/>
<DateTotals Date="11/26/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="11/27/2001">

211
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="11/28/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"

212
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="11/29/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="11/30/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>

213
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/01/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="12/02/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="12/03/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"

214
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/04/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/05/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>

215
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/06/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/07/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"

216
AmountInCurrency="35.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="8:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="35.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="8:00"/>
</Totals>
</DateTotals>
<DateTotals Date="12/08/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="12/10/2001"/>
<DateTotals Date="12/09/2001">
<Totals>
</Totals>
</DateTotals>
</DailyTotals>
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PeriodTotalData>
<PeriodTotals PeriodDateSpan="11/26/2001 - 12/09/2001">
<Totals>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"

217
AmountInCurrency="350.00" PayCodeId="130" PayCodeName="All Regular"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="131" PayCodeName="All Hours"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="132" PayCodeName="All Worked"
AmountInTime="80:00"/>
<Total IsCurrencyFlag="false"
LaborAccountDescription="Healthcare/Boston/Accounting/405-555555/Associate"
LaborAccountId="1" LaborAccountName="101/201/301/405/501"
AmountInCurrency="350.00" PayCodeId="120" PayCodeName="On-Call"
AmountInTime="80:00"/>
</Totals>
</PeriodTotals>
</PeriodTotalData>
<Period>
<TimeFramePeriod PeriodDateSpan="11/26/2001 - 12/09/2001"
TimeFrameName="Current Pay Period"/>
</Period>
<TotaledPayCodeEdits>
<OnCall Date="11/26/2001" AmountInTime="8:00"/>
<OnCall Date="11/27/2001" AmountInTime="8:00"/>
<OnCall Date="11/28/2001" AmountInTime="8:00"/>
<OnCall Date="11/29/2001" AmountInTime="8:00"/>
<OnCall Date="11/30/2001" AmountInTime="8:00"/>
<OnCall Date="12/03/2001" AmountInTime="8:00"/>
<OnCall Date="12/04/2001" AmountInTime="8:00"/>
<OnCall Date="12/05/2001" AmountInTime="8:00"/>
<OnCall Date="12/06/2001" AmountInTime="8:00"/>
<OnCall Date="12/07/2001" AmountInTime="8:00"/>
</TotaledPayCodeEdits>
<TotaledSpans>
</TotaledSpans>

218
<TotaledWorkedDurations>
</TotaledWorkedDurations>
</Timesheet>
</Response>
</Kronos_WFC>

LoadTimesheetInPeriodDateSpan

Request
<?xml version="1.0"?>
<!-- This example Loads timesheet in the specified DateSpan. Also refer to
example LoadTimesheetInCurrentPayPeriod.xml to see how TimeFrameName could be
specified in TimeFramePeriod. -->
<Kronos_WFC version="1.0">
<Request Action="Load">
<Timesheet>
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<Period>
<TimeFramePeriod PeriodDateSpan="06/01/01-06/07/01"/>
</Period>
</Timesheet>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Load">
<Timesheet LastTotalizationDateTime="12/07/2001 5:49PM"
TotalsUpToDateFlag="false">
<DailyTotals>
<DateTotals Date="05/31/2001"/>
<DateTotals Date="06/01/2001">
<Totals>

219
</Totals>
</DateTotals>
<DateTotals Date="06/02/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/03/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/04/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/05/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/06/2001">
<Totals>
</Totals>
</DateTotals>
<DateTotals Date="06/08/2001"/>
<DateTotals Date="06/07/2001">
<Totals>
</Totals>
</DateTotals>
</DailyTotals>
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
<PeriodTotalData>
<PeriodTotals PeriodDateSpan="06/01/2001 - 06/07/2001">
<Totals>

220
</Totals>
</PeriodTotals>
</PeriodTotalData>
<Period>
<TimeFramePeriod PeriodDateSpan="06/01/2001 - 06/07/2001"/>
</Period>
<TotaledPayCodeEdits>
<PayCodeEdit Date="06/05/2001" EnteredOnDate="12/07/2001"
EnteredOnTime="5:50PM" AmountInTimeOrCurrency="8:00" IsCurrencyFlag="false"
PayCodeName="Bereavement"/>
</TotaledPayCodeEdits>
<TotaledSpans>
</TotaledSpans>
<TotaledWorkedDurations>
</TotaledWorkedDurations>
</Timesheet>
</Response>
</Kronos_WFC>

PeriodIsSignedOffByDateRange

Request
<?xml version="1.0"?>
<!-- This example returns whether the specified period has been signed with
value=True or False. TimeFramePeriod is specified as Range of Dates. -->
<Kronos_WFC version="1.0">
<Request Action="PeriodIsSignedOff">
<ApproveSignoff>
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
<Period>
<TimeFramePeriod TimeFrameName="Range of Dates" PeriodDateSpan="6/4/2001-
6/6/2001"/>
</Period>
</ApproveSignoff>

221
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="PeriodIsSignedOff">
<SimpleValue Value="false"/>
</Response>
</Kronos_WFC>

PeriodIsSignedOffByPayPeriod

Request
<?xml version="1.0"?>
<!-- This example returns whether the specified period has been signed off for
the given employee. The return type is a SimpleValue bean with value=True or
False. TimeFramePeriod name is specified. -->
<Kronos_WFC version="1.0">
<Request Action="PeriodIsSignedOff">
<ApproveSignoff>
<Employee>
<PersonIdentity PersonNumber="6"/>
</Employee>
<Period>
<TimeFramePeriod TimeFrameName="Previous Pay Period"/>
</Period>
</ApproveSignoff>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="PeriodIsSignedOff">
<SimpleValue Value="false"/>

222
</Response>
</Kronos_WFC>

UpdateMarkForTotalization

Request
<?xml version="1.0"?>
<Kronos_WFC version="1.0">
<Request Action="Update">
<MarkForTotalization RuleChangedFlag="False" ScheduleChangedFlag="False">
<Employee>
<PersonIdentity PersonNumber="10"/>
</Employee>
</MarkForTotalization>
</Request>
</Kronos_WFC>

Response
<?xml version='1.0' encoding='Windows-1252'?>
<Kronos_WFC TimeStamp="12/07/2001 5:50PM EST" WFCVersion="4.1.0.48"
version="1.0">
<Response Status="Success" Action="Update">
</Response>
</Kronos_WFC>

223
224
Glossary

A
API
An Application Programming Interface (API) is a set of routines, protocols, and tools that
provide building blocks to build software applications. An API defines operations, inputs,
outputs, and underlying types. APIs can access databases or computer hardware, help
applications to share data, ease user interface programming, or integrate new features into
existing applications.

app
An app is application software that runs on a computer, smartphone, other mobile device, or
inside a web browser.

ASP
Active Server Pages (ASP) is a server-side script engine that dynamically generates web
pages. Microsoft first released ASP as an add-on to Internet Information Services (IIS).

attribute
In XML, attributes either describe or provide additional information about XML elements.
Attributes are best used for information that is not relevant to the data. Examples: <img
src="computer.gif">; <a href="demo.asp">. Attributes cannot contain multiple values or tree
structures, cannot be expanded easily, and are difficult to read and maintain.

C
C++
C++ is a general-purpose programming language that is imperative, object-oriented, and has
generic programming features. It is used to program embedded systems, operating systems,
desktop applications, servers, high-performance applications, and entertainment software.

CSS
Cascading Style Sheets (CSS) define the look and layout of text and other material in HTML
web pages or XML documents.

225
D
DOM
The Document Object Model (DOM) is a convention that represents and interacts with
objects in HTML, XHTML, and XML documents. It is cross-platform and language-
independent. The DOM Tree organizes document nodes into a tree structure. Methods on the
objects can address and manipulate the objects in the DOM tree.

DTK
Developers Toolkit (DTK) is a set of product-specific guides that describes in detail the
XML APIs.

E
element
In XML, an element contains everything that is between the start tag <element> and the end
tag </element>. An element can contain a mix of attributes, text, links, or other elements. Use
elements to contain data.

extension
An extension is a small program that adds new features to a web browser.

H
HTML
HyperText Markup Language (HTML) is the standard markup language to create web
pages. Web browsers read HTML files and render them into visible or audible web pages.
HTML can embed scripts, such as written JavaScript, to affect the behavior of web pages.

HTTP
Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative,
hypermedia information systems, and is the foundation of data communication for the World
Wide Web. HTTP is the protocol to exchange or transfer Hypertext which is structured text
that uses logical links (hyperlinks) between nodes that contain text.

HTTPS
Hypertext Transfer Protocol Secure (HTTPS) is a communications protocol for secure
communication over a computer network, in particular, the Internet. It layers HTTP on SSL

226
to add security and authenticate web sites and protect privacy and data integrity.

I
IIS
Internet Information Services (IIS) is an extensible web server created by Microsoft. It
supports HTTP, HTTPS, FTP, FTPS, SMTP and NNTP.

J
Java
Java is a programming language that is concurrent, class-based, object-oriented, and has few
implementation dependencies. Programs written in Java can run on all platforms that support
Java without being recompiled.

JavaScript
JavaScript is a dynamic programming language that is used mainly as part of web browsers.
Client-side scripts can interact with the user, control the browser, communicate
asynchronously, and alter the displayed document content. In server-side network programs
on runtime environments, JavaScript is used to develop games or desktop and mobile
applications.

S
SSL
Secure Sockets Layer (SSL) has been superceded by Transport Layer Security (TLS).

T
TCP/IP
Transmission Control Protocol and Internet Protocol (TCP/IP) provide the communications
protocols used on the Internet. TCP/IP specifies how to packetize, address, transmit, route,
and receive data.

TLS
Transport Layer Security (TLS) is a cryptographic protocol that secures communications
over a computer network. TLS uses certificates and asymmetric cryptography to authenticate

227
communication between parties and negotiate a symmetric key. The session key encrypts
data between the parties.

U
URL
A uniform resource locator (URL) is a reference to or the address of a resource on a
computer network. It specifies the location of the resource and a mechanism to retrieve it.
URLs can address web pages (http), file transfer (ftp), email (mailto), database access
(JDBC), and other applications. Most web browsers display the URL of a web page in an
address bar. Example: http://www.domain.com/page.html indicates the protocol type (http),
the domain name, (www.domain.com), and the web page (page.html).

V
VBscript
Visual Basic Scripting Edition (VBScript) is a scripting language based on Microsoft's
Visual Basic. It uses the Component Object Model to access elements of the environment
where it runs. A VBScript script must be executed within a host environment such as
Internet Information Services (IIS).

Visual Basic
Visual Basic is an event-driven programming language and Integrated Development
Environment (IDE). Microsoft developed Visual Basic for Rapid Application Development
(RAD) of Graphical User Interface (GUI) applications, access to databases, and creation of
ActiveX controls and objects.

W
WSDL
Web Services Description Language (WSDL) is an interface definition language that
describes the functionality offered by a web service. A WSDL file describes how to call the
web service, the expected parameters, and the returned data structures.

228
X
XML
Extensible Markup Language (XML) is a markup language that defines rules to encode
documents. The language is both human- and machine-readable. In addition to documents,
XML is widely used to represent arbitrary data structures such as for web services. APIs help
process XML-formatted data.

XML declaration
<xml version="1.0" encoding="UTF-8"?>

XSD
XML Schema Definition (XSD) specifies the rules that describe the elements in an XML
document and verify the content in that document.

229

Potrebbero piacerti anche