# Zeiterfassung (Time Tracking) Documentation

**Last Updated:** 2026-04-02

**Note:** This documentation has been enhanced with workflows from comprehensive helpdesk analysis. See `docs/content/helpdesk/MASTER_ANALYSIS_SUMMARY.md` for details.

## Basic Information

- **Feature Name:** Zeiterfassung (Time Tracking)
- **Slug:** arbeitszeiterfassung
- **Status:** Available
- **Related Product Pages:**
  - `v2/pages/product_timetracking.php`
  - Product page: https://www.ordio.com/arbeitszeiterfassung

## FAQ (SSOT)

- **Live accordion + FAQPage JSON-LD:** [`docs/content/pages/product-pages/arbeitszeiterfassung/faq-answers-optimized.json`](../pages/product-pages/arbeitszeiterfassung/faq-answers-optimized.json) (loaded by `product_timetracking.php`).
- **Research:** `docs/content/pages/product-pages/arbeitszeiterfassung/data/` (GSC queries, SISTRIX, `KEYWORD_DECISION.md`, `FAQ_TOPIC_CROSSREF.md`).
- **Validation:** `python3 v2/scripts/product-pages/validate-faq-answers.py --page=feature-arbeitszeiterfassung`

## Overview

Zeiterfassung is Ordio's comprehensive time tracking feature, enabling businesses to accurately record and manage employee work hours. The feature provides digital time clock functionality, mobile time tracking, change request workflows, and automatic DATEV export for payroll processing. It helps businesses save up to 10 hours per week on payroll preparation while ensuring legal compliance.

## Use Cases

### Digital Time Clock Replacement

**Scenario:** A restaurant currently uses physical time clocks and wants to modernize to digital time tracking.

**Process:**

1. Restaurant installs Ordio time tracking system
2. Employees clock in/out via web browser, mobile app, or QR code terminal
3. System automatically records start time, breaks, and end time
4. Manager reviews time entries in real-time dashboard
5. System automatically calculates hours, breaks, and overtime
6. Data exported to DATEV for payroll processing

**Benefits:** Eliminates manual time card collection, reduces errors, provides real-time visibility, ensures legal compliance.

### Mobile Time Tracking for Field Workers

**Scenario:** A service company with field workers needs mobile time tracking for employees working at different locations.

**Process:**

1. Field worker arrives at job site
2. Opens Ordio mobile app on smartphone
3. Clocks in with optional GPS location verification
4. Works at job site (time automatically tracked)
5. Clocks out when job complete
6. Manager sees real-time location and time data
7. System generates accurate timesheets for billing

**Benefits:** Accurate time tracking for remote workers, location verification, real-time visibility, simplified billing.

### Multi-Location Time Tracking

**Scenario:** A retail chain with 10 locations needs centralized time tracking across all stores.

**Process:**

1. Employees clock in/out at their assigned location
2. System tracks location-specific time entries
3. Central manager views all locations in one dashboard
4. Location managers see only their location's data
5. System generates location-specific reports
6. Payroll export includes location codes for accurate cost allocation

**Benefits:** Centralized oversight, location-specific reporting, accurate cost allocation, simplified multi-location management.

### Change Request Workflow

**Scenario:** An employee forgot to clock out and needs to correct their time entry.

**Process:**

1. Employee notices missing clock-out entry
2. Submits change request via mobile app or web portal
3. Provides reason and correct end time
4. Manager receives notification of change request
5. Manager reviews request and approves/rejects
6. If approved, time entry automatically updated
7. Employee receives confirmation notification
8. Updated time included in next payroll export

**Benefits:** Employee self-service, audit trail, manager control, accurate time records.

### Automated Payroll Preparation

**Scenario:** An HR manager wants to automate payroll preparation and eliminate manual timesheet processing.

**Process:**

1. Employees clock in/out throughout the week
2. System automatically calculates hours, breaks, overtime
3. Manager reviews and approves time entries
4. System generates DATEV export file
5. Export file sent directly to accounting system
6. Payroll processed automatically without manual data entry
7. Payslips generated and distributed to employees

**Benefits:** Saves 10+ hours per week, eliminates manual data entry errors, faster payroll processing, accurate calculations.

### Compliance Documentation

**Scenario:** A business needs to ensure compliance with labor law requirements for time tracking documentation.

**Process:**

1. System automatically records all clock events (in, out, breaks)
2. All time entries stored with timestamps and location data
3. System validates against labor law requirements (rest periods, maximum hours)
4. Compliance reports generated automatically
5. Audit trail maintained for all time entries and changes
6. Documentation available for labor inspections

**Benefits:** Legal compliance, automatic validation, audit trail, peace of mind.

## Target Audience

### Primary Users

**Employees:**

- Clock in/out daily via mobile app or web
- View their time entries and hours worked
- Submit change requests for corrections
- Access payslips and time reports
- Benefit from accurate time tracking

**HR Managers:**

- Daily responsibility for time tracking oversight
- Review and approve change requests
- Monitor compliance and labor costs
- Generate reports for management
- Benefit from automated workflows

**Payroll Administrators:**

- Export time data for payroll processing
- Ensure accurate hour calculations
- Integrate with accounting systems (DATEV)
- Generate compliance reports
- Benefit from automated exports

### Secondary Users

**Business Owners:**

- Need visibility into labor costs
- Ensure legal compliance
- Monitor employee productivity
- Benefit from accurate reporting

**Operations Managers:**

- Monitor real-time staffing levels
- Track location-specific time data
- Optimize labor costs
- Benefit from operational insights

### Industries

**Restaurants & Hospitality:**

- Complex shift patterns
- Multiple locations
- High employee turnover
- Peak hour variations
- Need for accurate tip tracking

**Retail:**

- Part-time and full-time mix
- Holiday season variations
- Multi-location management
- Flexible scheduling
- Customer traffic patterns

**Healthcare:**

- 24/7 operations
- Complex shift patterns
- Compliance-critical
- Various employment types
- Patient care requirements

**Service Businesses:**

- Field service workers
- Multi-location coordination
- Flexible work arrangements
- Remote time tracking
- Job site verification

**All Industries:**

- Any business with employees
- Need for accurate time tracking
- Compliance requirements
- Payroll integration needs

## Key Functionality

### Core Capabilities

- **Digital time clock:** Web-based and mobile time clock interface
- **Mobile time tracking:** iOS and Android apps for clocking in/out
- **Change requests:** Employee-initiated time corrections with approval workflow
- **Break tracking:** Automatic break deductions and break time management
- **Location tracking:** GPS-based location verification (optional)
- **Photo verification:** Optional photo capture for clock events
- **Multi-device support:** Clock in/out from web, mobile app, or terminal

### Advanced Features

- **Automatic DATEV export:** Direct integration with DATEV accounting software
- **Payroll preparation:** Pre-calculated hours ready for payroll processing
- **Compliance validation:** Automatic checks against labor law requirements
- **Overtime calculation:** Automatic overtime detection and calculation
- **Shift integration:** Seamless integration with shift planning
- **Reporting and analytics:** Time tracking reports and labor cost analysis

## Technical Implementation

### Files

**Frontend Files:**

- **PHP:** `v2/pages/product_timetracking.php` (~865 lines)
  - Time tracking product page with hero section, features, benefits, FAQ, CTAs
  - HubSpot form integration
  - Alpine.js integration for interactive elements
  - AOS (Animate On Scroll) for animations
  - Schema markup for SEO (SoftwareApplication, Service, BreadcrumbList, FAQPage)
  - Responsive design with Tailwind CSS

**JavaScript:**

- HubSpot form embed script
- Alpine.js components for interactive UI
- Custom time tracking components
- UTM tracking integration

**CSS:**

- `/v2/css/product-pages.min.css` - Shared product pages stylesheet
- Tailwind CSS utility classes
- Custom time tracking styles

**Dependencies:**

**Backend Systems:**

- Employee database and management system
- Shift planning system integration
- Notification system (email, push notifications)
- Mobile app backend API
- DATEV API integration
- Location tracking service (optional GPS)

**External Integrations:**

- DATEV Lodas / DATEV Lohn und Gehalt
- Mobile app (iOS and Android)
- QR code terminal integration
- Email service provider
- Push notification service

**Frontend Libraries:**

- Alpine.js for reactive UI components
- Tailwind CSS for styling
- AOS (Animate On Scroll) for animations
- HubSpot Forms SDK

### API Endpoints

**Time Clock:**

- `POST /api/time-tracking/clock-in` - Employee clocks in
- `POST /api/time-tracking/clock-out` - Employee clocks out
- `GET /api/time-tracking/current-status` - Get current clock status
- `GET /api/time-tracking/entries` - Get time entries for period

**Change Requests:**

- `POST /api/time-tracking/change-request` - Submit change request
- `GET /api/time-tracking/change-requests` - List change requests
- `PUT /api/time-tracking/change-requests/{id}/approve` - Approve request
- `PUT /api/time-tracking/change-requests/{id}/reject` - Reject request

**Exports:**

- `POST /api/time-tracking/export/datev` - Export to DATEV format
- `POST /api/time-tracking/export/csv` - Export to CSV
- `POST /api/time-tracking/export/pdf` - Export to PDF
- `GET /api/time-tracking/export/history` - Get export history

**Reporting:**

- `GET /api/time-tracking/reports/summary` - Get time summary report
- `GET /api/time-tracking/reports/compliance` - Get compliance report
- `GET /api/time-tracking/reports/labor-costs` - Get labor cost report

## User Experience

### Detailed User Flow

#### Flow 1: Standard Clock In/Out Process

1. **Employee Arrives at Work:**

   - Opens Ordio mobile app or navigates to web portal
   - Authenticates via PIN, QR code, or biometric login
   - System displays current shift assignment (if scheduled)

2. **Clock In:**

   - Employee taps "Clock In" button
   - System records timestamp, location (optional GPS), and device
   - Optional photo capture for verification
   - Confirmation message displayed
   - Manager receives notification (if configured)

3. **During Shift:**

   - Time automatically tracked in background
   - Break tracking available (automatic or manual)
   - Employee can view current hours worked
   - Real-time status visible to manager

4. **Clock Out:**

   - Employee taps "Clock Out" button at end of shift
   - System records end timestamp
   - Automatic break deduction if applicable
   - Total hours calculated and displayed
   - Confirmation message shown

5. **Time Entry Review:**
   - Employee views time entry in app/web portal
   - Can see start time, end time, breaks, total hours
   - Can submit change request if correction needed

### Detailed Workflows from Helpdesk

The following workflows are based on helpdesk documentation and provide step-by-step guides for common Zeiterfassung tasks.

#### Workflow: Terminal (Tablet) Time Tracking Setup

**Purpose:** Set up stationary tablet for on-site time tracking

**Prerequisites:**

- Android tablet or iPad with stable internet connection
- Workspace Admin access or "Terminal starten" permission
- At least one work area assigned

**Setup Steps:**

1. **Download Terminal App:**

   - Download Ordio Terminal App from App Store (iOS) or Play Store (Android)
   - App is tablet-only (not for smartphones)

2. **Initial Setup:**

   - Open Terminal App
   - Login with Workspace Admin credentials (or user with "Terminal starten" permission)
   - Select Workspace
   - Select Standort (location)

3. **Configure Employee Access:**

   - Grant time tracking permission via Rechte & Rollen > Arten der Zeiterfassung
   - Each employee receives 6-digit PIN (found in Mitarbeiter-App under Account-Einstellungen)
   - PIN can be changed by Admin in employee profile
   - Employees can change own PIN if granted "Authentifizierung ➡️ bearbeiten ➡️ eigene" permission

4. **Terminal Ready:**
   - Terminal displays employees with:
     - Current day shifts (tagesaktuellen Schichten)
     - Employees with shift-independent time tracking permission
   - Employees click their name tile and enter PIN to verify
   - Time tracking and break tracking available

**Terminal vs. Mitarbeiter-App:**

- **Terminal:** Stationary, shared device, no personal login required, PIN-based, on-site only
- **Mitarbeiter-App:** Mobile, personal device, requires login, GPS optional, works anywhere

**Checklists on Terminal:**

- Checklists displayed on start screen
- Employees must enter PIN first to access their time clock
- Then can work through checklist items

#### Workflow: Terminal Time Tracking

**Process:**

1. **Employee Approaches Terminal:**

   - Terminal shows employee tiles
   - Employee finds their name tile

2. **Authentication:**

   - Employee clicks their name tile
   - Enters 6-digit PIN
   - System verifies and grants access

3. **Clock In/Out:**

   - Employee sees clock in/out buttons
   - Taps to start or end time tracking
   - System records timestamp
   - Break tracking available

4. **Checklist Access:**
   - After PIN entry, employee can access checklists
   - Checklists displayed on start screen
   - Employee completes checklist items

#### Workflow: GPS Time Tracking

**Activation:**

1. **Enable GPS Tracking:**

   - Go to Ordio Actions > Einstellungen
   - Navigate to Schichtplan & Zeiterfassung > Zeiterfassung
   - Find setting #10: "GPS-Standortinformationen des Mitarbeiters abfragen"
   - Choose one of three options:
     - No location information
     - Location information only (saves location at clock in/out)
     - Location within radius (requires clock in/out within radius)

2. **Configure Radius (if using radius option):**
   - Set radius in Arbeitsbereich settings
   - Typical: 50, 100, or 200 meters around business address
   - Recommended: Set slightly larger due to device GPS accuracy variations

**How GPS Tracking Works:**

1. **Location Information Only:**

   - App automatically saves location when clocking in/out
   - Location stored for documentation purposes
   - Visible in Arbeitszeiten section
   - No restriction on where clocking occurs

2. **Location with Radius:**
   - App checks if device location is within configured radius
   - If within radius: Time tracking proceeds normally
   - If outside radius: Clocking denied or warning shown
   - Radius based on address in Ordio Actions > Einstellungen > Standorte & Arbeitsbereiche

**Privacy & Data Protection:**

- Location only requested at clock in/out moments (not continuously tracked)
- Users receive notification and must actively grant location permission
- Data minimization: Only necessary location data stored
- Transparent: Employees can see stored locations

**When to Use GPS:**

- **Recommended for:**

  - Mobile teams (field service, delivery)
  - Employees using Mitarbeiter-App
  - Home office teams with attendance requirements
  - Multiple job sites

- **Less suitable for:**
  - Poor network coverage areas
  - Buildings with inaccurate GPS (thick concrete structures)
  - Fixed entry/exit points (QR code/Terminal more practical)

#### Workflow: Shift-Independent Time Tracking

**Concept:**

- Employees can track time without having a scheduled shift
- Useful for flexible work arrangements, overtime, or unscheduled work
- Must be enabled via permissions (Rechte & Rollen)

**Setup:**

1. **Grant Permission:**

   - Go to Rechte & Rollen
   - Find "Arten der Zeiterfassung"
   - Enable "Schichtunabhängige Zeiterfassung" for employee/role

2. **Employee Usage:**
   - Employee can clock in/out without scheduled shift
   - Time tracked normally
   - Appears in time reports
   - Can be linked to work areas or projects

**Use Cases:**

- Overtime work
- Flexible schedules
- Project-based work
- On-call work

#### Workflow: Correcting Time Entries Retroactively

**Who Can Make Changes:**

- Workspace Admins
- Users with "Arbeitszeiten bearbeiten" permission

**When Changes Are Needed:**

- Missing clock-out
- Incorrect clock times
- Forgotten time entry
- System errors

**Process:**

1. **Access Time Entries:**

   - Go to Arbeitszeiten section
   - Find the time entry to correct
   - Or navigate to employee's time history

2. **Make Correction:**

   - Click on time entry
   - Edit start time, end time, or breaks
   - Add notes explaining correction
   - Save changes

3. **System Updates:**
   - Total hours recalculated automatically
   - Changes reflected in reports
   - Change logged in protocol

#### Workflow: Adding Missing Time Entries

**Process:**

1. **Open Arbeitszeiten:**

   - Navigate to Arbeitszeiten section
   - Select date or employee

2. **Add Time Entry:**

   - Click "Arbeitszeit nachtragen" or "Add Time Entry"
   - Enter date
   - Enter start time and end time
   - Add breaks if applicable
   - Select work area
   - Add notes (optional)

3. **Save:**
   - System calculates total hours
   - Entry appears in time history
   - Available for reports and exports

#### Workflow: Ending Active Shift for Employee

**Purpose:** Manually end a running shift if employee forgot to clock out

**Note:** This function is only available in the browser version on PC, not in mobile app.

**Method 1: From Homepage (Startseite)**

1. **Access Dashboard:**

   - Go to Startseite (homepage)
   - View Live-Dashboard in center of page
   - See list of employees currently clocked in

2. **End Shift:**
   - Click on the running time in the Live-Dashboard
   - Shift is ended immediately with current time

**Method 2: From Arbeitszeiten Section**

1. **Access Arbeitszeiten:**

   - Go to Arbeitszeiten (Working Hours) section
   - Find employee with active shift

2. **End Shift:**
   - Click on active shift
   - Select "Schicht beenden" or "End Shift"
   - Choose end time:
     - **Immediately:** End shift at current time
     - **Specific Time:** Set specific end time
   - Confirm end time
   - Shift closed and hours calculated

**Use Cases:**

- Employee forgot to clock out
- Emergency situations
- System issues preventing normal clock-out
- Need to correct end time retroactively

#### Workflow: Working Time Violations (Arbeitszeitverletzungen)

**Purpose:** Track and prevent violations of labor law requirements for working hours, rest periods, and break requirements

**What Are Working Time Violations?**

Violations occur when legally required working time limits are exceeded or mandatory breaks/rest periods are not observed. These violations can have legal consequences and endanger employee health.

**Typical Examples:**

- Shift duration exceeds maximum allowed time
- Rest periods between shifts too short (e.g., late shift to early shift)
- U18 employees working outside allowed times

**General Labor Protection (Arbeitszeitgesetz - ArbZG)**

**Settings Location:** Workspace Settings > Schichtplan & Zeiterfassung > Nr. 18

**Configuration:**

1. **Set Individual Rest Periods:**

   - Define minimum hours of rest required between two shifts
   - Example: 11 hours legal rest period
   - System automatically marks employees red during shift assignment if rest period would be violated

2. **Monitor Maximum Shift Duration:**
   - Set maximum duration for a single shift (e.g., 10 hours)
   - **Important:** Shifts exceeding this limit are NOT automatically ended
   - Violations appear retroactively in Arbeitszeiten > Arbeitszeitverletzungen tab
   - System shows violations after they occur

**U18 Labor Protection (Jugendarbeitsschutzgesetz - JArbSchG)**

**Settings Location:** Workspace Settings > Schichtplan & Zeiterfassung > Nr. 19

**Configuration:**

1. **Automatic Break:**

   - U18 employees must take breaks earlier and longer
   - Enable automatic break for minors
   - Break automatically deducted after 4:30 hours or 6:00 hours of work

2. **Saturday and Sunday Work:**

   - U18 employees generally cannot work on Saturdays and Sundays
   - Exceptions exist for certain industries (retail, hospitality, similar service industries)
   - Can be limited to maximum 2 Saturdays or Sundays per month if compensation days are granted
   - If limit exceeded, person is marked red during shift planning

3. **Maximum Shift Duration:**

   - Set maximum duration for single shift (e.g., 10 hours)
   - System shows warning during shift assignment if shift is too long
   - **Important:** Shifts exceeding limit during work are NOT automatically ended
   - Violations appear retroactively in "Arbeitszeitverletzungen" tab

4. **Night Rest:**
   - Night rest begins at 20:00 for U18 employees
   - **Exception:** Hospitality industry: 22:00

**Benefits:**

- Higher legal security
- Clear visibility of planning errors
- Health and employee protection
- Automated warnings - less manual control needed

**Viewing Violations:**

- Go to Arbeitszeiten section
- Click "Arbeitszeitverletzungen" tab
- View all violations with details:
  - Employee name
  - Date and time
  - Type of violation
  - Duration of violation

#### Workflow: Editing Working Time Violations

**Purpose:** Document and justify legitimate working time violations, especially in hospitality industry

**Legal Context:**

**General Rules:**

- Maximum 8 hours working time per day
- Extension to up to 10 hours per day allowed if average of 8 hours per day is not exceeded within 6 months
- Minimum 11 hours rest period between two work shifts must be maintained
- Violations must be justified, documented, and compensated

**Exceptions:**

- In special cases, weekly working time can be up to 60 hours - provided sufficient compensation time is planned
- Industry-specific exceptions may apply based on collective agreements

**Legitimate Reasons for Violations (especially in hospitality):**

1. **Unforeseen Guest Numbers / Events:**

   - Spontaneous large events
   - Full house without reservation
   - Sudden guest rush

2. **Staff Absence / Sick Leave:**

   - Short-term absences due to illness or emergencies
   - Other employees need to cover shifts beyond planned time

3. **Emergencies in Business:**

   - Technical failures (e.g., refrigeration chain interruption, water damage, power outage)
   - Safety-relevant incidents requiring longer presence

4. **Business-Related Bottlenecks:**

   - Delivery delays
   - Late goods receipt
   - Necessary preparations for next day (e.g., catering, large events)

5. **Inventory or Month-End Work:**

   - Often occurs outside regular opening hours
   - Can require longer shifts

6. **Seasonal Peak Times:**
   - In strongly season-dependent businesses (e.g., tourism areas, Christmas markets, summer terraces)
   - Temporary longer working times possible if compensation times are granted

**Important Legal Framework:**

- According to § 3 ArbZG, daily working time may be maximum 10 hours if average of 8 hours per day is not exceeded in 6-month period
- Rest period of at least 11 hours between two work shifts must be maintained
- Working time exceedances must be justified, documented, and compensated
- Collective agreements or company agreements may allow additional regulations

**Process:**

1. **Access Violations:**

   - Go to Arbeitszeiten section
   - Click "Arbeitszeitverletzungen" tab
   - View list of violations

2. **Review Violation:**

   - Check violation details:
     - Employee name
     - Date and time
     - Type of violation
     - Duration of violation

3. **Document Legitimate Reason:**

   - Select violation
   - Add documentation/justification:
     - Reason for violation (from legitimate reasons list)
     - Circumstances
     - Compensation planned
   - Save documentation

4. **Adjust Settings (if needed):**
   - Go to Settings > Schichtplan & Zeiterfassung
   - Adjust industry-specific shift times (e.g., for hospitality)
   - Activate automatic warnings when legal or collective agreement requirements are exceeded
   - System will automatically inform you of violations

**Important Notes:**

- Exceeding legal working time is only allowed within exceptions
- Must be documented and provided with corresponding compensation times
- Maximum working time adjustments are legally regulated and cannot be arbitrarily changed
- In Ordio, you can adjust industry-specific shift times in settings
- You can activate automatic warnings for violations

#### Workflow: Accessing Past Working Time Logs (Protokolle)

**Purpose:** View detailed logs of past working time entries, including who made changes, when, and what was changed

**Use Cases:**

- Understanding changes made to shift plans
- Clarifying responsibilities and permissions
- Avoiding discussions or misunderstandings
- Documentation purposes
- Responding to inquiries about time entries

**Benefits:**

- Transparency and clarity in daily work
- Better understanding of shift plan changes
- Clear accountability
- Complete audit trail

**Process:**

1. **Access Arbeitszeiten Section:**

   - Go to Arbeitszeiten (Working Hours) section
   - Navigate to time entry you want to review

2. **Open Protocol:**

   - Click on specific time entry
   - Look for "Protokoll" or "Protocol" option
   - Click to view detailed log

3. **View Protocol Details:**
   - See complete history of changes:
     - **Who:** User who made the change
     - **When:** Timestamp of change
     - **What:** Specific changes made (start time, end time, breaks, etc.)
   - View chronological list of all modifications
   - See original entry and all subsequent changes

**Alternative Access Method:**

- Can also access protocol directly from shift plan
- Click on shift in planning view
- Select protocol option
- View change history for that shift

**Information Available:**

- Original time entry details
- All modifications with timestamps
- User who made each change
- Specific fields changed (start time, end time, breaks, work area, etc.)
- Complete audit trail for compliance

**Violation Types:**

- **Maximum Working Hours:** Exceeding daily/weekly limits
- **Rest Periods:** Insufficient rest between shifts
- **Break Requirements:** Missing mandatory breaks
- **Night Work:** Violations of night work regulations
- **U18 Restrictions:** Youth labor law violations

**Viewing Violations:**

1. **During Time Tracking:**

   - System shows warnings when violations occur
   - Visual indicators (colors, badges)
   - Cannot proceed if critical violation

2. **In Reports:**
   - Go to Arbeitszeiten > Reports
   - View compliance report
   - See all violations for period
   - Filter by employee, date range, violation type

**Editing Violations:**

1. **Access Violations:**

   - Go to Arbeitszeiten section
   - Find time entry with violation
   - Or view compliance report

2. **Document Violation:**

   - Add notes explaining violation
   - Document reason (e.g., emergency, approved exception)
   - Attach documentation if needed

3. **Resolve:**
   - Correct time entry if error
   - Document approved exception
   - System updates compliance status

#### Workflow: Accessing Working Hours Information (Arbeitszeiten)

**Purpose:** View and filter working hours data with comprehensive filtering options

**Access:**

- Navigate to Arbeitszeiten (Working Hours) section
- View all time entries and absences

**Filtering Options:**

You can filter the list by:

- **Standort (Location):** Filter by specific location(s)
- **Arbeitsbereiche (Work Areas):** Filter by work area(s)
- **Typ (Type):** Filter by Arbeitszeiten (working hours) or Abwesenheiten (absences)
- **Status:** Filter by status (see status list below)
- **Schlagwörter (Tags):** Filter by shift tags
- **Skills:** Filter by employee skills
- **Veranstaltungen (Events):** Filter by events
- **Individual Employees:** Use search bar (top right) to find specific employees

**Working Hours Status Types:**

- **Erfasst (Recorded):** Shift was clocked in/out
- **Nicht erfasst (Not Recorded):** Shift was not clocked or was manually added retroactively
- **Geplant (Planned):** Published shifts in the future
- **Änderungsantrag genehmigt (Change Request Approved):** Approved by admin or automatically (e.g., for allowed shift-independent time tracking)
- **Änderungsantrag offen (Change Request Open):** Employee has submitted a change request
- **Automatisch beendet (Automatically Ended):** Shift automatically ended (tolerance configurable in Settings > Schichtplan & Zeiterfassung - Nr. 7)
- **Live:** Time is currently running (active shift)

**Absence Status Types:**

- **Abgelehnt (Rejected):** Absence request rejected
- **Offen (Open):** Absence request pending approval
- **Genehmigt (Approved):** Absence request approved

**Additional Information:**

- **Time Period:** Can view all calendar weeks in past and future
- **Custom Time Range:** Set specific time period and employees to view
- **Additional Columns:** Can display additional columns:
  - Reasons for lateness (Begründungen für Verspätung)
  - Check-in type (Art des Check-Ins)
  - Distance at check-in (Entfernung beim Check-In) - if enabled in Settings > Schichtplan & Zeiterfassung

**Use Cases:**

- Review employee time entries
- Monitor shift coverage
- Track attendance patterns
- Review change requests
- Export data for reporting

#### Workflow: Accessing Time Tracking Logs

**Purpose:** View change history and maintain transparency

**Process:**

1. **Access Logs:**

   - Go to Arbeitszeiten section
   - Look for "Protokolle" or logs option
   - Or access via employee profile > time history

2. **View History:**

   - See all changes to time entries:
     - Clock in/out times
     - Manual corrections
     - Break adjustments
     - Deletions
   - View timestamps and user who made changes

3. **Use for Auditing:**
   - Track compliance with time tracking policies
   - Review corrections and approvals
   - Maintain accountability
   - Generate audit reports

#### Flow 2: Change Request Workflow

1. **Employee Identifies Error:**

   - Employee reviews time entries
   - Notices missing clock-out or incorrect time
   - Decides to submit change request

2. **Submit Change Request:**

   - Clicks "Request Change" on time entry
   - Selects type of change (missing clock-out, wrong time, etc.)
   - Enters correct information and reason
   - Submits request

3. **Manager Review:**

   - Manager receives notification of change request
   - Opens request in approval dashboard
   - Reviews original entry, requested change, and reason
   - Checks for conflicts or compliance issues

4. **Approval/Rejection:**
   - Manager approves or rejects request
   - If approved, time entry automatically updated
   - Both employee and manager receive confirmation
   - Updated entry included in next payroll export

#### Flow 3: Payroll Export Process

1. **Time Period Ends:**

   - Payroll period closes (weekly, bi-weekly, monthly)
   - All time entries finalized and approved

2. **Export Preparation:**

   - Manager navigates to export section
   - Selects date range and export format (DATEV, CSV, PDF)
   - System validates all entries for completeness

3. **Export Execution:**

   - System generates export file
   - DATEV format includes all required fields
   - File ready for download or automatic transfer

4. **Payroll Processing:**
   - Export file imported into DATEV or accounting system
   - Payroll calculations performed automatically
   - Payslips generated and distributed

### UI Components

**Time Clock Interface:**

- **Layout:** Large, prominent clock in/out buttons
- **Elements:**
  - Current time display
  - Clock In/Out button (large, color-coded)
  - Current shift status indicator
  - Quick break button
  - Location selector (if multi-location)
- **Interactions:** Single tap to clock in/out, swipe for additional actions
- **Visual Design:** Clean, simple interface optimized for quick access

**Mobile App:**

- **Layout:** Native iOS and Android apps
- **Elements:**
  - Home screen with clock in/out button
  - Time entry list with calendar view
  - Change request form
  - Settings and profile
- **Interactions:** Touch-optimized, swipe gestures, push notifications
- **Visual Design:** Native platform design, offline capability

**Time Entry Dashboard:**

- **Layout:** Calendar view with time entries
- **Elements:**
  - Daily/weekly/monthly view toggle
  - Time entry cards showing start, end, breaks, total hours
  - Summary totals (daily, weekly, monthly)
  - Export buttons
- **Interactions:** Click to view details, filter by date range
- **Visual Design:** Clean table/list view with color coding

**Change Request Form:**

- **Layout:** Modal or dedicated page
- **Elements:**
  - Time entry selector
  - Change type dropdown
  - Correct time input fields
  - Reason text area
  - Submit button
- **Interactions:** Form validation, auto-save draft
- **Visual Design:** Standard form layout with clear labels

**Approval Dashboard:**

- **Layout:** List view with filters
- **Elements:**
  - Pending requests list
  - Request details panel
  - Approve/Reject buttons
  - Bulk actions
- **Interactions:** Click to review, approve/reject actions
- **Visual Design:** Table layout with status indicators

**Export Interface:**

- **Layout:** Export configuration page
- **Elements:**
  - Date range selector
  - Format selector (DATEV, CSV, PDF)
  - Employee filter (all or selected)
  - Export button
  - Export history
- **Interactions:** Configure options, execute export, download file
- **Visual Design:** Form layout with export preview

## Visual Documentation

### Screenshots

**Time Clock Interface:**

- **File:** `/v2/img/screenshots/zeiterfassung-clock-interface.webp`
- **Alt Text:** "Zeiterfassung time clock interface showing clock in/out buttons"
- **Caption:** Digital time clock interface with large, easy-to-use buttons for clocking in and out

**Mobile App:**

- **File:** `/v2/img/screenshots/zeiterfassung-mobile.webp`
- **Alt Text:** "Zeiterfassung mobile app showing time tracking interface"
- **Caption:** Mobile app interface for iOS and Android with time tracking and change request features

**Time Entry Dashboard:**

- **File:** `/v2/img/screenshots/zeiterfassung-dashboard.webp`
- **Alt Text:** "Zeiterfassung dashboard showing time entries and summary"
- **Caption:** Time entry dashboard with calendar view, daily totals, and export options

**Change Request Form:**

- **File:** `/v2/img/screenshots/zeiterfassung-change-request.webp`
- **Alt Text:** "Zeiterfassung change request form for time corrections"
- **Caption:** Change request form allowing employees to correct time entries with manager approval

**DATEV Export:**

- **File:** `/v2/img/screenshots/zeiterfassung-datev-export.webp`
- **Alt Text:** "Zeiterfassung DATEV export interface showing export options"
- **Caption:** DATEV export interface with date range selection and export format options

### Product Page Feature Blocks (arbeitszeiterfassung)

The product page uses six sticky feature sections with a 3-color palette (blue, pink/coral, neutral):

1. **Stundenzettel adé** – Blue (bg-blue-50 + bg-ordio-blue), custom card with employee times
2. **Alle Zeiten im Überblick** – Pink/coral (#FFE9E8 + #FE938C), calendar view
3. **Pausen** – Neutral (white + #fbfbfb), pause circle SVG
4. **Benachrichtigungen** – Blue, `schicht-notifications.webp` (Schicht-Erinnerungen versenden)
5. **Änderungsanträge** – Pink/coral, `anderungsantraege-bearbeiten.webp` (direkt über die App beantragen)
6. **Standortbasierter Check-in/out** – Neutral, custom component (location pin, Check-in/Check-out UI, GPS-Verifizierung badge)

**Assets:** `/v2/img/zeiterfassung/schicht-notifications.webp`, `/v2/img/zeiterfassung/anderungsantraege-bearbeiten.webp`

**Right-half card styling (production parity):**

- **Border-radius:** `rounded-2xl` (16px) for all white cards and backdrop cards; `rounded-[50px]` for section halves (left/right)
- **Shadow:** `shadow-lg` for all cards
- **Section 2 subtitle:** "Einfach per App starten und pausieren - Du siehst live wer zu spät ist oder wie lange schon arbeitet."
- **Section 1 Emma time badge:** First row (Emma) uses `bg-ordio-blue text-white` by default; other rows use `bg-[#EDEFF3]`
- **Image wrappers (Sections 4 & 5):** `overflow-hidden rounded-2xl` to clip images to rounded corners
- **Section 6 GPS card:** `border border-[#EDEFF3]/70`; Check-in row `bg-ordio-blue bg-opacity-10 rounded-lg`; GPS badge `rounded-full`

### Sticky Feature Sections

The six feature cards use `position: sticky` to cascade at the top as the user scrolls. Each section has a fixed height (`h-[600px]`), `top` offset (150–200px in 10px increments), and ascending `z-index` (10–60) so they stack correctly.

**Structure:**

- **HTML root:** `html.zeiterfassung-sticky-root` (class on `<html>` for overflow override in media query)
- **Section placement:** `section.zeiterfassung-sticky-section` is a **direct child of body** (not inside the content div). This avoids `overflow-x: hidden` on `body > div:first-of-type` creating a scroll container that breaks sticky for cards 4–6.
- **Container:** `.container.max-w-6xl` inside the section
- **Each card:** `h-[600px] sticky top-[150px|160px|170px|180px|190px|200px] z-[10|20|30|40|50|60]`
- **Spacer:** `min-h-[1200px]` after the six sections to provide scroll height

**Overflow fix:** `overflow-x: hidden` on ancestors (e.g. `body > div`, `section`, `main`, `article` in `head.php`) forces `overflow-y: auto`, creating a new scroll container. Sticky elements then stick relative to that ancestor instead of the viewport, breaking the cascade. The fix in `product-pages.css`:

```css
body.zeiterfassung-page .zeiterfassung-sticky-section,
body.zeiterfassung-page .zeiterfassung-sticky-section .container {
    overflow: visible !important;
}
```

**References:** [Polypane: Getting stuck - position:sticky can fail](https://polypane.app/blog/getting-stuck-all-the-ways-position-sticky-can-fail/), [CSS-Tricks: Dealing with overflow and position: sticky](https://css-tricks.com/dealing-with-overflow-and-position-sticky/)

### Diagrams

**User Flow Diagram:**

- **File:** `/v2/img/diagrams/zeiterfassung-user-flow.svg`
- **Description:** Step-by-step flow from clock in → work → clock out → change request → approval → payroll export
- **Elements:** Clock events, break tracking, change requests, approvals, exports

**Integration Diagram:**

- **File:** `/v2/img/diagrams/zeiterfassung-integration.svg`
- **Description:** Integration flow showing Zeiterfassung → Schichtplanung → Lohnabrechnung → DATEV
- **Elements:** Time tracking, shift planning, payroll calculation, DATEV export

## Maintenance

### Update Schedule

- **Regular updates:** Monthly feature enhancements
- **Compliance updates:** Quarterly updates for labor law changes
- **Integration updates:** As needed for DATEV and other integrations
- **Mobile app updates:** Bi-weekly app updates for iOS and Android
- **Bug fixes:** As needed based on user feedback

### Common Updates

- **Labor law compliance:** Update rules for new regulations (rest periods, maximum hours, U18 restrictions)
- **DATEV integration:** Update for DATEV API changes and new format requirements
- **Mobile app updates:** Enhance mobile app functionality, add new features, improve performance
- **Performance optimization:** Improve time tracking performance, reduce latency
- **Security updates:** Regular security patches and updates
- **Feature enhancements:** Add new time tracking capabilities based on user feedback

## Related Documentation

- [Product Pages Inventory](../../pages/product-pages/PRODUCT_PAGES_INVENTORY.md)
- [Product Features Inventory](../PRODUCT_FEATURES_INVENTORY.md)
- [Zeiterfassung Product Page](../../pages/product-pages/timetracking-documentation.md)

## Related Cursor Rules

- [product-pages.mdc](../../../../.cursor/rules/product-pages.mdc)
- [shared-patterns.mdc](../../../../.cursor/rules/shared-patterns.mdc)
- [global.mdc](../../../../.cursor/rules/global.mdc)
