Attendance, early arrival
Set an early arrival exception (which may only be informational) when the IN punch is more than the specified number of minutes before a shift
Details
Rule Type
Time
Execution
After punch
Parameters
Name | DataType | DefaultValue | Description |
---|---|---|---|
MinutesEarly | integer | 15 | The number of minutes before the shift start to declare an early arrival |
Decision Tree
Rule processing begins in the cell R1:Level1 and proceeds right/down. Any IF statement which results in a DONE step terminates the rule immediately.
Line# | Level1 | Level2 | Level3 | Comment |
---|---|---|---|---|
1 | Start | |||
2 | IF(PUNCH_ACTION(Description ) != IN ) → | ↓ | Only assess early arrival on IN punches | |
3 | ↓ | DONE | ||
4 | IF(CALC(scheduled.day ) = 0 ) → | ↓ | If no scheduled hours, can't be early | |
5 | ↓ | DONE | ||
6 | SET(minearly = TIME_DIFF_MINUTES(EffectiveTime , SCHEDULE(StartTime ))) | Calculate the number of minutes early; this will return positive if the punch time is before the shift, otherwise negative | ||
7 | IF(minearly < MinutesEarly ) → | ↓ | If within the allowed threshold, not an early arrival | |
8 | ↓ | DONE | ||
9 | ? | Set the Arrived Early exception (AE is the Code value from the Exceptions app) | ||
10 | DONE |