Zum Hauptinhalt springen

Arbeitszeitmodelle

Zweck

Arbeitszeitmodelle (WorkTimeModel) sind Vorlagen für regelmaessige Arbeitswochen — Vollzeit (z. B. 40 h), Teilzeit (20 h), 4-Tage-Woche (32 h). Pro Modell pflegen Sie auf dem Tab Tage den Tagesplan (Mo–So) und ggf. eine Kernzeit. Mitarbeiter-Verträge (EmployeeContract) verweisen auf ein Arbeitszeitmodell — daraus berechnet das System Soll-Stunden, Pausen und Ueberstunden.

Voraussetzungen

- Berechtigung `create:WorkTimeModel`. - Für Tages-Konfiguration zusaetzlich `view:WorkTimeModelDay`.

Berechtigungen (CASL)

ActionSubjectWirkungKeycloak-Rolle
viewFE_WorkTimeModel, WorkTimeModelListe/Details aufrufbar
create/updateWorkTimeModelPflegenAPP_SPEAMCORE_CREATE/UPDATE_WORK_TIME_MODEL
viewWorkTimeModelDayTab Tage sichtbarAPP_SPEAMCORE_VIEW_WORK_TIME_MODEL_DAY
viewCountryLand-Auswahl + LaborLawInfoBoxAPP_SPEAMCORE_VIEW_COUNTRY

Hinweis: Weder Listen- noch Detailseite haben einen Delete-Button — bestätigt im Live-Walkthrough. Arbeitszeitmodelle werden nur via Backend-API gelöscht. Hintergrund: Modelle sind oft an aktive Mitarbeiter-Verträge gebunden, ein versehentliches Löschen wuerde die Sollzeitberechnung der betroffenen Mitarbeiter brechen.

Schritt-für-Schritt-Anleitung

Modell anlegen

  1. Arbeitszeitmodelle (/work-time-models) → + Neu.
  2. Name vergeben (z. B. „Vollzeit 40h").
  3. Optional Beschreibung und Land setzen — die LaborLawInfoBox zeigt dann die landesspezifischen Arbeitszeitgesetz-Eckpunkte (z. B. für DE: max. 8 h pro Tag laut ArbZG).
  4. autoDeductBreaks aktivieren, wenn Pausen automatisch von der Sollzeit abgezogen werden sollen.
  5. Tab Tage öffnen → pro Wochentag Sollzeit, Kernzeit Start/Ende, Arbeitstag-Flag.

Arbeitszeitmodelle-Liste mit Spalten Name, Beschreibung und Pausen-Switch. Demo zeigt 4-Tage-Woche 32h, Teilzeit 20h, Vollzeit 40h.

Arbeitszeitmodell-Detail Tab Allgemeine Daten — Name, Beschreibung, Land-Select, Pausen-Switch und Tab Wochentage.

Toolbar (Detail-Seite)

Schlanke Toolbar oben rechts:

IconAktion (aria-label)CASLWirkung
ZurückgehenZurück zur Liste.
🏠Zur Startseite gehenSpringt auf das Dashboard / /.
⏮/◀/▶/⏭PaginationNavigation durch die gefilterte Liste — Massen-Bearbeitung ohne Liste-Sprung.

Wie auf jeder Detail-Seite verfuegbar — siehe Floating-Quickbar:

  • KAL. (Mini-Kalender)
  • ZEIT (Persoenliche Wochen-Arbeitszeit)
  • ARBEIT (Eigene bevorstehende Aufträge)

UI-Elemente

Tab: „Allgemein"

Form mit Stammfeldern und LaborLawInfoBox.

Tab: „Tage"

Tagesplan-Editor — pro Wochentag: Arbeitstag-Checkbox, Sollzeit HH:MM, Kernzeit Start, Kernzeit Ende.

Komponente: LaborLawInfoBox

Context-Komponente, die abhaengig von countryId die Arbeitszeitgesetz-Eckpunkte anzeigt (z. B. für DE: 8 h Maximum pro Tag, 48 h pro Woche).

Switch: „autoDeductBreaks"

Wenn aktiv, zieht die Stundenkonto-Berechnung automatisch Pausen von der Sollzeit ab.

Felder und Eingaben

FeldnamePflichtDatentypBeschreibungWirkung beim AusfuellenVoraussetzung
namejaStringModell-Bezeichnung.Erscheint in Mitarbeiter-Verträgen und Reports.
descriptionneinTEXTOptionale Erlaeuterung.Nur informativ.
countryIdneinUUID (Searchable Select)Land — für Arbeitszeitgesetz-Kontext.Aktiviert die LaborLawInfoBox mit landesspezifischen Hinweisen.view:Country.
autoDeductBreaksneinBoolean (Switch)Pausen automatisch abziehen.Wenn aktiv, werden Pausen-Minuten serverseitig von der Sollzeit subtrahiert.

Sub-Felder pro WorkTimeModelDay

FeldnameDatentypWirkung
weekdayMo–SoWochentag-Identifier.
isWorkdayBooleanIst dieser Tag Arbeitstag?
targetHoursHH:MMSollzeit.
coreTimeStart / coreTimeEndHH:MMKernzeit (Anwesenheitspflicht).

Workflows und Zustaende

Kein Status-Feld. Änderungen werden automatisch gespeichert.

Wiederverwendbare Konzepte

Verknuepfungen zu anderen Modulen

  • Mitarbeiter-VerträgeEmployeeContract.workTimeModelId.
  • AufträgebranchId/employeeOfficeId werden aus dem aktiven Vertrag abgeleitet (siehe Auftraege).
  • ZeiterfassungEmployeeTimeTracking nutzt das Modell zur Soll-/Ist-Berechnung.
  • Setup-Wizard Schritt 9 — Standard-Set wird dort angelegt (Vollzeit 40h, Teilzeit 20h, 4-Tage-Woche 32h).

Häufige Fehler und Lösungen

FehlerLösung
LaborLawInfoBox zeigt nichtscountryId nicht gesetzt — Land wählen.
Stunden werden falsch berechnetautoDeductBreaks falsch konfiguriert; Pausen prüfen.
Modell nicht in Vertrag wählbarWorkTimeModel:view fehlt oder Modell ist soft-deleted.

API/Schnittstellen

MethodeEndpointZweckCASL
GET/api/work-time-modelsListeview WorkTimeModel
GET/api/work-time-models/:idDetailview WorkTimeModel
POST/api/work-time-modelsAnlegencreate WorkTimeModel
PUT/api/work-time-models/:idÄndernupdate WorkTimeModel
GET/api/work-time-models/:id/daysTage-Sub-Listeview WorkTimeModelDay

Versionshinweise

  • 2026-04-29: Initiale Veroeffentlichung mit FE-Tiefen-Standard.