Date printed: 11-23-2017   Last updated: 08-02-2012

To view our complete support knowledge base and most current version of this article visit support.timeips.com.
316-264-1600
Information
Sales
Support

Applies to versions: 1.11, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5



Remote Clocking Whitelist Expressions



This article explains the purpose of expressions in remote clocking whitelists and provides the available configuration options.

Remote Clocking Whitelists

Whitelists are used to grant employees access to the remote clocking interface. Whitelists can restrict access based on the IP address of the employee and can be further limited to a defined set of employees. Additionally whitelists can be further restricted using custom logic through the use of an expression. For a full explanation of whitelists and their interface view this article.

Purpose of Expressions

Expressions allow you to tailor the restriction of whitelists based on whatever criteria you need to match your company policy. Examples include only allowing access at certain times of day or to employees from a certain group (payroll type, schedule group, organizational unit etc) or any other conditional rule.

Format of Expressions

Expressions must start with an equals sign '='. They provide a single line of code that is evaluated and reduced down to either TRUE or FALSE. If the expression evaluates to TRUE then it is valid and the whitelist applies to the employee's clock attempt. If it is FALSE then the whitelist will not grant access to the employee.

Supported Functions

Remote clocking whitelist expressions utilize the same expression parser as Custom Reports. As such the same functions are available. The list of functions is available at this article.

Available Variables

The following information is available. Variable names are case sensitive. 

Variable OutlineFull Variable NameDescription
time
[time] This is the Unix Timestamp of the clock attempt. Convert this with the utcdate function.
ip
[ip] This is the IP address of the clock attempt.
user
[user] This variables itself has no value to expressions. It serves as the starting point for multi-dimensional variables that contain more information about this employee.
        usersID
[user][usersID] This is the unique database ID assigned to this employee by TimeIPS. This will always be unique among all employees in the system.
        nameFirst
[user][nameFirst] The employee's first name 
        nameLast
[user][nameLast] The employee's last name
        nameMid
[user][nameMid] The employee's middle name if provided. 
        namePref
[user][namePref] The employee's preferred name if provided
        HID
[user][HID] The employee's badge number
        type
[user][type] Starting point for information about the employee's payroll type. 
                typeID
[user][type][typeID] A unique database ID assigned to this payroll type.
                name
[user][type][name] The name of the employee's payroll type.
                timing_frame
[user][type][timing_frame] An indicator about the payroll frequency of this payroll type. Possible values are 'week', 'biweek', 'month', 'bimonth', and '4-4-5'
                code
[user][type][code] An arbitrary payroll code associated with this payroll type.
        orgUnit
[user][orgUnit] Starting point for the employee's organizational unit
                organizationalUnitID
[user][orgUnit][organizationalUnitID] A unique database ID for this unit
                name
[user][orgUnit][name] The name of this unit
                code
[user][orgUnit][code] An arbitrary code associated with this unit
        scheduleGroup
[user][scheduleGroup] Starting point for this employee's schedule group
                schedGroupID
[user][scheduleGroup][schedGroupID] Unique database ID.
                name
[user][scheduleGroup][name] The name of this schedule group
        defaultDepartment
[user][defaultDepartment] Starting point for information about this employee's default department
                departmentID
[user][defaultDepartment][departmentID] A unique database ID
                name
[user][defaultDepartment][name] The name of this employee's default department
                shortName
[user][defaultDepartment][shortName] The abbreviated name of this department
                ctrlNum
[user][defaultDepartment][ctrlNum] An arbirtrary control number for this department
                code
[user][defaultDepartment][code] The code for this department. This is the code employees might type at the clock
                subCode
[user][defaultDepartment][subCode] An optional subcode for this department
                glNum
[user][defaultDepartment][glNum] An optional G.L. Number for this department.
                altNum
[user][defaultDepartment][altNum] An optional alternate number used by this department
                trackTime
[user][defaultDepartment][trackTime] Either a 1 or 0 if this department is tracked against worked time
                trackBenefits
[user][defaultDepartment][trackBenefits] Either a 1 or 0 if this department is tracked against benefits
                trackHolidays
[user][defaultDepartment][trackHolidays] Either a 1 or 0 if this department is tracked against holidays 
                trackPiecework
[user][defaultDepartment][trackPiecework] Either a 1 or 0 if this department is tracked against piecework
        defaultWorkOrder
[user][defaultWorkOrder]  Starting point for information about the employee's default work order
                workOrderID
[user][defaultworkOrder][workOrderID]  A unique database ID about this work order
                name
[user][defaultworkOrder][name]  The name of this work order
                lcdName
[user][defaultworkOrder][lcdName]  The abbreviated name of this work order
                code
[user][defaultworkOrder][code]  The code to identify the work order
                poNum
[user][defaultworkOrder][poNum]  A P.O. number associated with the work order
                dateStart
[user][defaultworkOrder][dateStart]  The date work on this work order is intended to begin
                dateDue
[user][defaultworkOrder][dateDue]  The due date of this work order
                note
[user][defaultworkOrder][note] A note associated with this work order 
                customer
[user][defaultworkOrder][customer]  A starting point for information about the customer on this work order
                        custID
[user][defaultworkOrder][customer][custID]  This customer's unique database ID
                        name
[user][defaultworkOrder][customer][name] The name of this customer 
                        addr1
[user][defaultworkOrder][customer][addr1]  The first line in this customer's address
                        addr2
[user][defaultworkOrder][customer][addr2]  The second line in this customer's address
                        city
[user][defaultworkOrder][customer][city]  The city for this customer's address
                        state
[user][defaultworkOrder][customer][state]  The state for this customer's address
                        zip
[user][defaultworkOrder][customer][zip]  The zip code for this customer's address
                        phone
[user][defaultworkOrder][customer][phone]  The phone number on this customer
                        fax
[user][defaultworkOrder][customer][fax]  The fax number on this customer
        defaultJob
[user][defaultJob]  Starting point for information about this customer's default job
                jobID
[user][defaultJob][jobID]  The unique database ID associated with his job
                lcdName
[user][defaultJob][lcdName]  The shortened name of this job
                code
[user][defaultJob][code]  The job code used to clock in to this job
                name
[user][defaultJob][name]  The name of the job
                ctrlNum
[user][defaultJob][ctrlNum]  A control number associated with the job
                billingRate
[user][defaultJob][billingRate]  A billing rate associated with the job
                glNum
[user][defaultJob][glNum]  A G.L. number for the job
                description
[user][defaultJob][description]  Any description provided about the job
                subCode
[user][defaultJob][subCode]  An arbitrary sub code identifier for the job
                altNum
[user][defaultJob][altNum] The job's alternate number
                customer
[user][defaultworkOrder][customer]  A starting point for information about the customer on this work order
                        custID
[user][defaultworkOrder][customer][custID]  This customer's unique database ID
                        name
[user][defaultworkOrder][customer][name] The name of this customer 
                        addr1
[user][defaultworkOrder][customer][addr1]  The first line in this customer's address
                        addr2
[user][defaultworkOrder][customer][addr2]  The second line in this customer's address
                        city
[user][defaultworkOrder][customer][city]  The city for this customer's address
                        state
[user][defaultworkOrder][customer][state]  The state for this customer's address
                        zip
[user][defaultworkOrder][customer][zip]  The zip code for this customer's address
                        phone
[user][defaultworkOrder][customer][phone]  The phone number on this customer
                        fax
[user][defaultworkOrder][customer][fax]  The fax number on this customer
                category
[user][defaultJob][category]  Starting point for information about this job's category
                        catID
[user][defaultJob][category][catID]  A unique database ID for this category
                        name
[user][defaultJob][category][name]  The name of the category
                        descr
[user][defaultJob][category][descr]  A description about this job category
                        code
[user][defaultJob][category][code]  A code associated with this job category
        manager
[user][manager] *? This is the employee's manager. There is another complete set of variables for the manager starting where this list startes with 'user'. For example to get this employee's manager's name you could use [user][manager][nameFirst] If the manager has a manager above them then they will also have a manager entry at [user][manager][manager] and so on.

Examples

Only allow clocks for employees who have a manager named "Bob"

=if([user][manager][nameFirst] = "Bob", true, false)

Prevent anyone in the production schedule group from using this whitelist

=if([user][scheduleGroup][name] = "Production", false, true)

 

Only let office workers clock if it is after 8 am

=if([user][orgUnit][name] = "Office Staff" && utcdate( "G", [time], [user][usersID] ) < 8, false, true)


See Also:
Remote Clocking Whitelists (1.11, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5)
QuickBooks Pay Item Expressions (1.11, 2.0, 2.1, 2.2, 2.3)
Schedule Groups Break Rules Expression Variables (1.11, 2.0, 2.1, 2.2, 2.3, 2.4, 2.5)
Supported Functions For Advanced Expressions (2.1, 2.2, 2.3)

©2004-2017 TimeIPS, Inc. All Rights Reserved - TimeIPS and the TimeIPS logo are registered trademarks of TimeIPS, Inc.
"Intelligent Personnel System" "Run your Business. We'll watch the clock." are trademarks of TimeIPS, Inc.
TimeIPS is protected by one or more patents. Patent No. US 7,114.684 B2.