The PIN Entry Screen serves as the gateway to the time entry system. The workflow that follows PIN entry varies significantly based on device connectivity status and employee-specific conditions.
Online Scenarios (Device Connected to Server)
When the device has active internet connectivity, the PIN entry workflow can leverage real-time server communication to provide the most accurate and up-to-date employee information.
Workflow 1: Multiple Assignments → Assignment Picker
Trigger Condition: Employee has more than one active job assignment for the current work date
Process Flow:
- Employee enters valid PIN
- System queries server for employee profile
- Server returns employee data including all active assignments for current date
- Assignment Picker Screen Displayed
- Employee reviews assignment options (typically showing: Job name, Last Entry, Shift time, jobId)
- Employee taps to select the appropriate assignment for current punch
- System proceeds to Time Entry Screen with selected assignment context
Example Scenario:
- Employee John works both in Warehouse A (morning shift) and Warehouse B (evening shift)
- At 8:00 AM, John enters his PIN
- System displays both warehouse assignments
- John selects "Warehouse A – 08:00 AM-03:00 PM "
- All subsequent punches for this entry session are attributed to Warehouse A
Assignment Selection Persistence:
- Selection applies only to current punch session
- Employee must re-select assignment for next punch entry
- Prevents automatic misattribution if employee forgets to change assignment
Workflow 2: Duplicate SSN → Profile Selection
Trigger Condition: Multiple employee profiles exist in the database with the same Social Security Number
Context: This scenario can occur due to:
- Data migration issues
- Employee working for the same organization (same SSN incorrectly entered or same last four digits of SSN)
- Data entry errors
Process Flow:
- Employee enters PIN (based on SSN)
- System queries server and finds multiple matching profiles
- Profile Selection Screen Displayed
- Screen shows differentiating information for each profile:
- Full employee name
- Employee ID
- Job Title
- Employee identifies and selects their correct profile
- System proceeds to Time Entry Screen with confirmed profile
Data Integrity Note: Organizations should resolve duplicate SSN issues in the Zenople Web App to prevent ongoing confusion. This screen serves as a failsafe but is not intended as a permanent solution.
Workflow 3: User Not Found → Identification Form → Punch Screen
Trigger Condition: PIN entered does not match any employee in the server database
Scenario Context:
- New employee not yet added to system
- New active assignment not added for that day for that employee
- New employees are added to the system; however, their data is not synchronized with the device.
- Employee using incorrect PIN
- Data synchronization delay (employee just added to system)
Process Flow:
- Employee enters PIN (first attempt)
- System queries server - no match found
- System displays error message: "PIN not recognized. Please try again."
- Employee enters PIN again (second attempt)
- System recognizes second failed attempt
- Identification Form Displayed
- Employee completes form with:
- First Name
- Last Name
- Last 4 digits of SSN
- Form submitted to server immediately (online mode)
- Server Processing:
- Searches employee database for matching credentials
- Validates active assignment exists for current work date.
- Successful Match Result:
- Time Entry Screen displayed
- Employee can now punch in/out
- All punches correctly attributed to the matched profile
- Future PIN entries will recognize the employee immediately
- Failed Match Result:
- Entry logged in "Aqore Zen Time Sync Fail Report"
- Employee still see Time Entry Screen to log the punches.
- Punches flagged for administrator review
- Manual correction required in Zenople Web App
Identification Form Use Cases:
- Best Case: Majorly during offline, when an employee’s information is missing from device storage and cannot be fetched, a new employee can self-identify, and time tracking starts immediately.
- Temporary Worker: Upon entering credentials, work hours are tracked and automatically synced with the server if valid; otherwise, supervisor review are required.
- PIN Forgotten: Employees can use alternate credentials to self-identify and continue working.
- System Delay: If a newly added employee’s data hasn’t synced to the local cache yet, the identification form bridges the gap and enables immediate time tracking.
Workflow 4: Sync Gap (Overnight or Incomplete Punches) → Work Date Selector
Trigger Condition: Employee has incomplete punch sequences or an overnight shift configuration
Incomplete Punch Scenario:
- Context: Employee clocked in yesterday but never clocked out Process Flow:
- Employee enters PIN today
- System queries server and detects incomplete punch sequence from previous date
- Work Date Selector Screen Displayed
- Screen shows:
- Incomplete punch indicator: With an alert message as "You have an incomplete punches from yesterday." (Highlighted with visual indicator – red background)
- Today's Date (highlighted with visual indicator – sky blue background)
- Previous Punches: Shows a scrollable list of past punches while the device is offline or data hasn’t been synced. Once the device is online and the data is synced by date, the previous punches are no longer displayed.
- Employee Decision:
- Select Yesterday: Complete the incomplete entry (clock out for yesterday)
- Select Today: Start new shift today (incomplete shift flagged for supervisor)
- System proceeds to Time Entry Screen for selected work date
Overnight Shift Scenario:
- Context: Employee works shift that spans midnight (e.g., 11 PM - 7 AM)
- Visual Indicator: Moon icon displayed on PIN Entry Screen
- Process Flow:
- Employee enters PIN
- System recognizes overnight shift configuration for this timeclock
- Work Date Selector Screen Displayed (even if no incomplete punches exist)
- Screen shows:
- Previous Date (the date when the shift started)
- Current Date (today)
- Employee Guidance: "Select the date your shift started"
- Example:
- Monday 11:30 PM: Employee clocks in, selects Monday as work date
- Tuesday 7:00 AM: Employee clocks out, selects Monday as work date (same shift)
- System proceeds to Time Entry Screen with selected work date.
Purpose of Work Date Selection:
- Ensures all punches for a single shift are grouped under the same work date
- Critical for payroll calculation accuracy
- Prevents shift-spanning issues in reporting
- Complies with Department of Labor guidance on shift definition
Workflow 5: Direct → Punch Screen
Trigger Condition: Employee has no special conditions requiring intermediate screens
Optimal Path Characteristics:
- Employee has single active assignment
- No duplicate SSN issues
- Employee profile exists in database
- No incomplete punches from previous dates
- Not configured for overnight shifts (or not during overnight hours)
- Device is online with current data
Process Flow:
- Employee enters valid PIN
- System queries server and validates employee
- All conditions check pass
- Time Entry Screen Displayed Immediately
- Employee sees:
- Current punch options (Clock In, Break Out, Break In, Clock Out based on sequence)
- Today's punch history (left-side grid)
- Employee name and Work date
- Reset Timer Countdown
- If the camera is enabled in the web clock configuration, the tablet’s front camera will open with a frame to capture the image.
- Current time
- Employee taps desired punch button
- Punch recorded and transmitted to server
- Visual confirmation displayed
- Screen returns to PIN Entry after timeout
Performance Note: This is the fastest and most efficient workflow path, typically completing in under 3 seconds from PIN entry to punch confirmation.
Workflow 6: Post Clock-Out → Question Form
Trigger Condition: Clock-out question configured AND employee just completed clock-out punch
Configuration Requirement: Questions must be set up in Zenople Web App > WebClock Setup > Post Clock-Out Questions
Process Flow:
- Employee completes standard punch workflow
- Employee taps "Clock Out" button
- System records clock-out timestamp
- Instead of returning to PIN Entry Screen, Question Form Displayed
- Question Form Components:
- Form title (e.g., "End of Shift Survey")
- One or more questions based on configuration
- Question types supported:
- Multiple Choice: Radio buttons or dropdown selection
- Text Entry: Open-ended response field
- Rating Scale: 1-5 stars or numeric scale
- Yes/No: Boolean response
- Checkbox: Multiple selections allowed
- Required vs. Optional Questions:
- Required questions marked with asterisk (*)
- Submit button disabled until all required questions answered
- Optional questions can be skipped
- Employee completes form
- Employee taps "Submit" button
- Response Processing:
- Responses saved with timestamp
- Associated with clock-out punch record
- Transmitted to server immediately (if online)
- Stored locally for later sync (if offline during submission)
- Visual confirmation: "Thank you for your feedback"
- Screen returns to PIN Entry after brief delay
Question Configuration Examples:
Safety Survey:
- "Did you experience any safety concerns during your shift?" (Yes/No - Required)
- "If yes, please describe:" (Text Entry - Conditional on previous answer)
- "Rate the safety conditions today:" (1-5 scale - Required)
Equipment Status:
- "What equipment did you use today?" (Multiple checkboxes - Optional)
- "Did all equipment function properly?" (Yes/No - Required)
- "Report any equipment issues:" (Text Entry - Conditional)
Shift Feedback:
- "How would you rate your shift today?" (1-5 stars - Required)
- "Any comments or concerns?" (Text Entry - Optional)
Data Usage:
- Responses aggregated for management reporting
- Individual responses can be viewed in RMS under the report titled “Clock Out Survey Results.”
Offline Scenarios (Device Not Connected to Server)
When the device operates without internet connectivity, ZenTime relies exclusively on locally cached data. This introduces different behaviors and limitations compared to online operation.
Offline Mode Characteristics
Data Source: Local SQLite database on the device containing:
- Employee profiles last synced from server
- Active assignments last synced from server
- Timeclock configuration properties
- Pending unsynchronized punches
- Temporary employee records from identification forms
Limitations:
- Cannot access real-time server data
- Cannot validate against current server state
- New employees added to server after last sync are not available
- Assignment changes made on server after last sync are not reflected
- Cannot send compliance notifications to administrators
Advantages:
- Uninterrupted time tracking during network outages
- No dependency on internet connectivity
- Full functionality preserved
- Automatic sync when connectivity restored
Workflow 1: Multiple Assignments → Assignment Picker (Local Database)
Trigger Condition: Employee has multiple active assignments in local cached data
Process Flow:
- Employee enters valid PIN
- System searches local database for employee profile
- Local database returns employee data including cached assignments
- Assignment Picker Screen Displayed (sourced from local cache)
- Screen shows assignments that were active during last successful sync
- Employee selects assignment
- System proceeds to Time Entry Screen
Critical Offline Limitation:
- Stale Assignment Data: If assignments were added/modified on server after last sync, these changes are NOT reflected
- Example Problem:
- Last sync: Monday 9:00 AM
- Server change: Monday 2:00 PM - New assignment added for employee
- Device offline: Monday 3:00 PM - Employee tries to punch in
- Result: New assignment NOT available in picker (will appear after device comes online and syncs)
Mitigation:
- Supervisors should schedule assignment changes during periods of reliable connectivity
- Employees should report assignment picker issues to supervisors for manual correction later
Workflow 2: Duplicate SSN → Profile Selection (Local Database)
Trigger Condition: Multiple employee profiles with same SSN exist in local cached data
Process Flow:
- Employee enters PIN (based on SSN)
- System searches local database
- Multiple matching profiles found in cache
- Profile Selection Screen Displayed (sourced from local cache)
- Employee selects correct profile
- System proceeds to Time Entry Screen
Offline Behavior: Identical to online mode because profile differentiation data was cached during last sync
Data Freshness Note: If employee status changed on server after last sync (e.g., one profile became inactive), the change is not reflected until next sync.
Workflow 3: User Not Found → Identification Form → Local Save
Trigger Condition: PIN entered does not match any employee in local cached database
Critical Offline Difference: Cannot query server for employee lookup
Process Flow:
- Employee enters PIN (first attempt)
- System searches local database - no match found
- System displays error message: "PIN not recognized. Please try again."
- Employee enters PIN again (second attempt)
- System recognizes second failed attempt
- Identification Form Displayed
- Employee completes form:
- First Name
- Last Name
- Last 4 digits of SSN
- Offline Processing(key difference from online):
- Form data CANNOT be sent to server for validation
- System creates temporary local employee record
- Temporary record stored exclusively on device
- No server matching attempted
- Time Entry Screen Displayed
- Employee can now punch in/out
- Punch Attribution: All punches tagged to temporary local record using form credentials
Subsequent Offline PIN Entries for Same Employee:
Critical Requirement: Employee must enter EXACT same credentials in identification form
Process Flow:
- Same employee returns later (device still offline)
- Employee enters PIN (not recognized in local database)
- After second attempt, Identification Form Displayed Again
- Employee completes form
- System Matching Logic:
- Compares new form data with ALL temporary local records
- Matching Criteria:
- First Name matches (case-insensitive)
- Last Name matches (case-insensitive)
- Last 4 SSN matches (exact)
- Match Found:
- System retrieves existing temporary employee record
- Time Entry Screen shows previous punches from this temporary record
- New punches added to same record
- No Match Found:
- System creates NEW separate temporary employee record
- Data Fragmentation Problem: Same person now has multiple records
- Example: First entry "John Smith 1234", Second entry "Jon Smith 1234" creates two records
Multiple Device Offline Complications:
Scenario: Organization has multiple tablet devices, all offline simultaneously
Problem Description:
- Device A Location: Warehouse entrance (offline)
- Device B Location: Warehouse exit (offline)
- Employee Action: Clocks in at Device A, clocks out at Device B
- Device A State: Shows Clock In only (incomplete shift)
- Device B State: Shows Clock Out only (invalid punch sequence)
- Root Cause: Devices cannot communicate with each other while offline
Resolution Process:
- Both devices eventually return online
- Both devices sync their local data to server
- Server receives:
- From Device A: Clock In punch
- From Device B: Clock Out punch
- Server Matching Challenge: Server must determine these belong to same employee/shift
- If form credentials match exactly: Server may successfully merge records
- If form credentials differ slightly: Records flagged in "Aoqre Zen Time Sync Fail Report"
- Administrator reviews and manually corrects in Zenople Web App
Best Practices for Offline Identification:
- Use single device per location when possible
- Train employees on exact credential entry (spelling, formatting)
- Minimize offline duration to reduce complexity
- Review Sync Fail Reports promptly after connectivity restored
Workflow 4: Extended Offline Period (>24 hours) → Work Date Selector
Trigger Condition: Device has been offline continuously for more than 24 hours
Technical Background:
- Device uses internal clock to track elapsed offline time
- 24-hour threshold is fixed (not configurable)
- Designed to handle overnight outages without requiring work date selection
- Beyond 24 hours, assumes multiple work days may have passed
Process Flow:
- Employee enters PIN
- If todays assignment work date is not found in local db then a temp assignment is copied from the previous synced assignment and it render the work date selector
- Work Date Selector Screen Displayed
- Available Date Options:
- Current device date (today)
- Previous device date (yesterday)
- Additional previous punches if offline for multiple days
- Visual Indicators:
- Dates with incomplete punches from the previous day are marked with a warning icon and a red background.
- Today’s date is highlighted by default with a sky blue background.
- Dates with no punches shown normally
- Employee selects appropriate work date for current punch
- System proceeds to Time Entry Screen with selected work date context
Work Date Selection Importance:
- Ensures punch is associated with correct calendar work day
- Critical when device has been offline Monday through Thursday, employee comes in Friday
- Prevents all punches from being attributed to Friday when they should span multiple days
Incomplete Punch Handling During Extended Offline:
- If the employee clocked in on Tuesday (device offline).
- Device remains offline, employee returns on Wednesday to clock out.
- Work Date Selector Shows:
- Tuesday (with incomplete punch indicator)
- Wednesday (Today)
- The employee should select Tuesday to complete the incomplete shift
- Or select Wednesday to abandon Tuesday's incomplete shift and start fresh
Workflow 5: Direct → Punch Screen (Local Database)
Trigger Condition: Employee has no special conditions requiring intermediate screens, device is offline
Optimal Offline Path Characteristics:
- Employee profile exists in local cached database
- Employee has single active assignment (in cache)
- No duplicate SSN issues
- Device has been offline less than 24 hours
- No incomplete punches requiring resolution
Process Flow:
- Employee enters valid PIN
- System searches local database
- Employee profile found
- All condition checks pass
- Time Entry Screen Displayed Immediately (data sourced from local cache)
- Employee sees:
- Current punch options based on sequence logic
- Today's punches stored in local database
- Employee taps desired punch button
- Punch Processing:
- Timestamp captured from device clock
- Punch saved to local database
- Added to sync queue for later transmission
- NOT sent to server (device offline)
- Visual confirmation displayed
- Screen returns to PIN Entry after timeout
Local Database State:
- Punch stored with "pending sync" status
- Flagged for upload during next successful connection
- Included in local timesheet view immediately
- Available for local export if admin performs manual export
Workflow 6: User Not Found for Second Time → New Punch Entry or Existing Record
Scenario: Employee enters PIN twice (not found), completes identification form while offline, then attempts to punch again later while device is still offline
Case 1: Information Matches Previous Entry
Process Flow:
- Employee enters PIN (not found in local database)
- Second failed attempt triggers identification form
- Employee completes form with same credentials as before
- System Matching:
- First Name: "John" (matches previous)
- Last Name: "Smith" (matches previous)
- Last 4 SSN: "1234" (matches previous)
- System locates existing temporary record for "John Smith 1234"
- Time Entry Screen Displayed with Previous Punches Visible
- Employee can continue using same record
- All punches consolidated under single temporary employee record
Case 2: Information Does NOT Match Previous Entry
Process Flow:
- Employee enters PIN (not found in local database)
- Second failed attempt triggers identification form
- Employee completes form with different credentials than before or with a typo mismatch.
- System Matching Attempt:
- Searches all temporary local records
- No match found (credentials differ)
- System Creates New Separate Temporary Record
- Time Entry Screen Displayed WITHOUT Previous Punches
- New punch entry session begins
- Result: Employee now has fragmented records
Example of Credential Mismatch:
- First Entry: "John Smith 1234"
- Second Entry: "Jon Smith 1234" (missing 'h' in first name)
- System treats as two different people
- Creates separate records even though same person
Multiple Device Coordination Challenge:
Scenario: Employee uses Device A in morning (offline), Device B in evening (offline)
Device A Actions:
- 8:00 AM: Employee completes ID form, clocks in
- Local record created on Device A only
Device B Actions (same day):
- 5:00 PM: Employee completes ID form (must do again), clocks out
- Local record created on Device B only
- Device B has no knowledge of Device A's record
Both Devices Come Online:
- Device A syncs: Uploads Clock In from 8:00 AM
- Device B syncs: Uploads Clock Out from 5:00 PM
- Server Processing:
- Attempts to match records based on credentials
- If credentials exactly match: May successfully pair Clock In/Clock Out
- If credentials differ: Creates two separate sync failures
- Admin/Supervisor must manually review and merge records
Sync Success Criteria:
- Form information (First Name, Last Name, Last 4 SSN) must exactly match server employee record
- Employee must have active assignment for the work date
- No duplicate employees with identical credentials