Zweck
Zeiterfassungs-Typen (EmployeeTimeTrackingType) sind Stammdaten zur Klassifizierung von Zeit-Einträgen — z. B. „Arbeit", „Pause", „Reise", „Schulung". Pro Typ steuern Sie, ob die Zeit abrechenbar ist und ob sie aus der Arbeitszeit-Statistik ausgeschlossen wird (z. B. Pausen).
Voraussetzungen
- Berechtigung `create:EmployeeTimeTrackingType`.
Berechtigungen (CASL)
| Action | Subject | Keycloak-Rolle |
|---|
view | FE_EmployeeTimeTrackingType, EmployeeTimeTrackingType | — |
create/update/delete | EmployeeTimeTrackingType | APP_SPEAMCORE_CREATE/UPDATE/DELETE_EMPLOYEE_TIME_TRACKING_TYPE |
Schritt-für-Schritt-Anleitung
- Zeiterfassungs-Typen (
/employee-time-tracking-types) → + Neu.
- Name vergeben (z. B. „Pause", „Schulung").
billable und excludeFromWorkingTime setzen.
priority (optional) bestimmt die Reihenfolge in Auswahl-Dropdowns — niedrigere Zahl = hoehere Prioritaet.
active auf true lassen, damit der Typ verwendet werden kann.

Schlanke Toolbar oben rechts:
| Icon | Aktion (aria-label) | CASL | Wirkung |
|---|
| ← | Zurückgehen | — | Zurück zur Liste. |
| 🏠 | Zur Startseite gehen | — | Springt auf das Dashboard / /. |
| ⏮/◀/▶/⏭ | Pagination | — | Navigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung. |
Globale Floating-Drawer (links)
Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:
- KAL. (Mini-Kalender)
- ZEIT (Persoenliche Wochen-Arbeitszeit)
- ARBEIT (Eigene bevorstehende Aufträge)
Felder und Eingaben
| Feldname | Pflicht | Datentyp | Wirkung beim Ausfuellen | Voraussetzung |
|---|
name | ja | String | Anzeige in Auswahl-Dropdowns der Zeiterfassung. | — |
billable | nein | Boolean (Switch) | true: Zeit-Einträge dieses Typs werden in Verkaufsbelege uebernehmbar. | — |
excludeFromWorkingTime | nein | Boolean (Switch) | true: Zeit zählt nicht in Arbeitszeit-Statistiken (z. B. Pausen). Wirkt auf Soll/Ist-Berechnung des Mitarbeiters. | — |
active | ja | Boolean (Switch) | false blendet den Typ in Auswahl-Listen aus, bestehende Einträge bleiben. | — |
priority | nein | Integer | Sortierung in Auswahl-Dropdowns (niedriger = oben). Beeinflusst auch Berichte. | — |
Wiederverwendbare Konzepte
Verknuepfungen zu anderen Modulen
- Zeiterfassung (
/employee-time-trackings) — EmployeeTimeTracking.employeeTimeTrackingTypeId.
- Arbeitszeitmodelle (
/work-time-models) — excludeFromWorkingTime interagiert mit Soll-Stunden-Berechnung.
Häufige Fehler und Lösungen
| Fehler | Lösung |
|---|
| Pause wird in Arbeitszeit-Statistik gezaehlt | excludeFromWorkingTime = true setzen. |
| Typ erscheint nicht in der Zeiterfassung | active = false oder Berechtigung view:EmployeeTimeTrackingType fehlt. |
| Reihenfolge stimmt nicht | priority setzen — kleinere Zahl wird zuerst angezeigt. |
API/Schnittstellen
| Methode | Endpoint | Zweck | CASL |
|---|
GET | /api/employee-time-tracking-types | Liste | view EmployeeTimeTrackingType |
POST | /api/employee-time-tracking-types | Anlegen | create EmployeeTimeTrackingType |
PATCH | /api/employee-time-tracking-types/:id | Ändern | update EmployeeTimeTrackingType |
DELETE | /api/employee-time-tracking-types/:id | Soft-Delete | delete EmployeeTimeTrackingType |
Versionshinweise
- 2026-04-29: Initiale Veroeffentlichung.