Meine Zeitübersicht
Zweck
/my-time-overview ist die persönliche Selbstauskunft zur eigenen Arbeitszeit: Jeder Mitarbeiter sieht hier sein eigenes Zeitkonto — erfasste Zeit gegen Soll, aktuellen Saldo (Über-/Unterstunden), Pflichtpausen und Fehltage — ohne Zugriff auf die Daten anderer.
Sie ist die Ein-Mitarbeiter-Variante des zentralen HR-Dashboards Zeit-Übersicht: dieselben Bausteine und dieselbe Berechnungsbasis, aber fest auf den angemeldeten Mitarbeiter gescoped und ohne Mitarbeiter-Auswahl.
Voraussetzungen
Berechtigungen (CASL)
| Action | Subject | Wirkung |
|---|---|---|
view | WorkTimeModel | Nav-Kachel „Meine Zeitübersicht" sichtbar |
view | EmployeeTimeTracking, EmployeeContract, WorkTimeModel | Route und Datenberechnung (alle drei erforderlich) |
view | Absence | Abwesenheiten in der Auswertung |
Die Seite hat kein eigenes FE_-Guard-Subject — sie ist über die drei Datenrechte abgesichert. Es werden ausschließlich die eigenen Daten geladen (der Mitarbeiter aus der Anmeldung).
Aufbau
Der Standard-Zeitraum ist 1. Januar des laufenden Jahres bis heute, intern auf den Vertragsbeginn geklippt (siehe Bilanz-Startgrenzen). Von-/Bis-Datumsfelder erlauben eine andere Auswahl.
KPI-Kacheln
Dieselben Kacheln wie im HR-Dashboard, nur ohne die „Mitarbeiter"-Kachel (man sieht ja nur sich selbst):
| Kachel | Bedeutung |
|---|---|
| Erfasste Zeit / Auslastung | Ist gegen Soll in Prozent. |
| Saldo | Über-/Unterstunden (grün/rot) seit Vertragsbeginn. |
| Pflichtpause | effektive Pause gegen Soll-Pause (inkl. als Pause gewerteter Lücken). |
| Tage gesamt | Arbeitstage im Zeitraum, mit Fehltagen/Fehlquote. |
| §3 ausstehend | nur wenn vorhanden — offene Mehrarbeit-Genehmigungen nach §3 ArbZG. |
Darunter zeigt eine Wochen-Übersicht das Arbeitszeitmodell (je Wochentag: Arbeitstag ja/nein, Sollzeit, Kernzeit) samt Wochenarbeitszeit.
Ansicht: Liste oder Kalender
Ein Umschalter wechselt zwischen zwei Darstellungen desselben Zeitraums:
Tagesliste — Tag für Tag mit Soll, Ist und Saldo. Aufeinanderfolgende leere Arbeitstage (ab drei) werden zu einer roten Sammelzeile zusammengefasst, damit lange Lücken die Liste nicht überfluten. Ein aufklappbares Detail-Panel je Tag zeigt die Einträge mit Von · Bis · Dauer · Typ · Arbeitsauftrag · Betreff · Standort/Kunde; die Auftragsnummer ist ein Reflink, der den Auftrag in einem neuen Tab öffnet. Tagesübergreifende Buchungen erscheinen an jedem berührten Tag; bei Tageswechsel zeigt „Bis" das Datum.
Jahres-Heatmap — 12 Monate × bis zu 31 Tage. Jede Zelle ist nach dem Tages-Saldo eingefärbt: grün im Soll, orange bei leichter Unterdeckung, rot bei deutlichem Minus oder einem Arbeitstag ganz ohne Buchung. Eigene Farbschichten kennzeichnen Nicht-Arbeitstage, Feiertage, Urlaub (blau), Krank (lila) und Sonstiges; der heutige Tag hat einen Ring. Der Hover zeigt Soll, Ist, Pause und Saldo des Tages.
Abgrenzung zu „Zeit-Übersicht"
Zeit-Übersicht (/time-overview) | Meine Zeitübersicht (/my-time-overview) | |
|---|---|---|
| Zielgruppe | HR/Leitung | jeder Mitarbeiter für sich |
| Umfang | alle Mitarbeiter im Filter-Scope | nur der angemeldete Mitarbeiter |
| Mitarbeiter-Auswahl | ja (Filter-Panel) | nein (fest auf sich selbst) |
| Bausteine | KPI-Kacheln, Mitarbeiter-Tabelle, Report, Druck | KPI-Kacheln, Tagesliste, Jahres-Heatmap |
| Datenbasis | identisch — GET /employees/:id/time-balance je Mitarbeiter | identisch, für den eigenen Mitarbeiter |
Die KPI-Kacheln sind eine geteilte Komponente, die beide Seiten rendern — die Zahlen sind also garantiert konsistent.
Soll, Ist und Saldo
- Soll = tägliche Sollzeit aus dem Arbeitszeit-Modell, über den Zeitraum aufsummiert.
- Ist = erfasste Arbeitszeit aus den Zeiterfassungen.
- Saldo = Ist − Soll seit Vertragsbeginn (frühestens 1. Januar). Details zur Startgrenze und zur Pausen-Berechnung: Bilanz-Startgrenzen.
Wiederverwendbare Konzepte
Verknüpfungen zu anderen Modulen
- Zeit-Übersicht — das Team-/HR-Dashboard; diese Seite ist dessen persönliche Variante.
- Zeiterfassungen — Quelle des Ist; hier werden die Zeiten erfasst.
- Arbeitszeit-Modelle — definieren das Soll je Wochentag.
- Mehrarbeit-Genehmigungen — §3-Überlauf, KPI „§3 ausstehend".
- Aufträge — Ziel der Auftragsnummer-Reflinks im Detail-Panel.
API/Schnittstellen
Die Seite nutzt keine neuen Endpoints, sondern die bestehende Berechnungs-Engine der Zeit-Übersicht:
| Methode | Endpoint | Zweck | CASL |
|---|---|---|---|
GET | /api/employees/:id/time-balance?from=&to= | Saldo + Detail-Felder für den eigenen Mitarbeiter (SSoT) | view EmployeeTimeTracking |
GET | /api/employees/time-trackings | eigene Zeit-Einträge (Detail-Panel) | view EmployeeTimeTracking |
GET | /api/workorders | Auftragsnummern für die Reflinks | view Workorder |
GET | /api/absences | Abwesenheiten (Heatmap-Schichten) | view Absence |
GET | /api/work-time-models | Soll-Stunden je Wochentag | view WorkTimeModel |
Versionshinweise
- 2026-07-11: Neue persönliche Seite Meine Zeitübersicht (
/my-time-overview) — Selbstauskunft zum eigenen Zeitkonto mit geteilten KPI-Kacheln (ohne Mitarbeiter-Kachel), Tagesliste (Sammelzeile für leere Arbeitstag-Strecken, Detail-Panel mit Auftragsnummer-Reflink) und Jahres-Heatmap (Saldo-Farbcodierung, Urlaub/Krank/Feiertag-Schichten, „Heute"-Ring). Persönliche Variante der Zeit-Übersicht; keine neuen Endpoints, Berechnung überGET /employees/:id/time-balance. Route-Guardview:EmployeeTimeTracking+view:EmployeeContract+view:WorkTimeModel. Verifiziert anPersonalTimeOverviewPage.tsx,TimeOverviewKpiCards.tsx,DailyOverviewSection.tsx,WorkTimeYearHeatmap.tsx,routes.tsx,navigationTiles.ts.