# Arbeitszeitmodelle

> Arbeitszeitmodelle erstellen, konfigurieren und zuweisen, inklusive Arbeitsperioden, Pausen, Kernzeiten und Pausenstaffelung



## Übersicht [#übersicht]

<Frame>
  <img src="/images/schedule-models/stamp-schedule-models-overview.png" />
</Frame>

Arbeitszeitmodelle (auch Arbeitszeitmodelle genannt) definieren die **Soll-Arbeitszeiten** Ihrer Mitarbeitenden. Jedes Modell enthält einen Wochenplan mit:

* **Arbeitsperioden**: Wann wird gearbeitet?
* **Pausen**: Wann ist Pause? (explizit oder als Lücke zwischen Perioden)
* **Kernzeiten**: Wann ist Anwesenheitspflicht? (optional)
* **Pausenstaffelung**: Individuelle Mindestpausen statt der gesetzlichen Standardwerte (optional)

Das System berechnet aus dem Wochenplan automatisch die **Soll-Arbeitszeit** und die **Soll-Pause** pro Tag.

<Info>
  Arbeitszeitmodelle werden [Mitarbeitenden zugewiesen](#modell-zuweisen) über eine **Zuweisungshistorie**. So lassen sich Modellwechsel (z.B. von Vollzeit auf Teilzeit) jederzeit nachvollziehen.
</Info>

## Typen [#typen]

Jedes Arbeitszeitmodell hat einen Typ, der bestimmt, wie die Arbeitszeit berechnet wird:

| Typ                    | Beschreibung                                                                  | Beispiel    |
| ---------------------- | ----------------------------------------------------------------------------- | ----------- |
| **Tagschicht**         | Reguläre Arbeitszeiten tagsüber                                               | 08:00–17:00 |
| **Nachtschicht**       | Arbeitszeiten über Mitternacht, die Arbeitszeit wird dem Starttag zugerechnet | 22:00–06:00 |
| **Dynamische Schicht** | Flexible Arbeitszeiten ohne feste Start-/Endzeit, nur Soll-Stunden            | Gleitzeit   |

<Warning>
  Der Typ beeinflusst die Zuordnung zur Mitternachtsgrenze. Bei **Nachtschicht** wird eine Schicht von 22:00–06:00 komplett dem Vortag zugerechnet. Bei Tagschicht endet der Arbeitstag um Mitternacht.
</Warning>

## Arbeitszeitmodell erstellen [#arbeitszeitmodell-erstellen]

<Frame>
  <img src="/images/schedule-models/stamp-schedule-models-create.png" />
</Frame>

<Steps>
  <Step title="Name und Typ festlegen">
    Vergeben Sie einen aussagekräftigen Namen (z.B. "Vollzeit 40h", "Teilzeit 20h Mo–Mi") und wählen Sie den passenden Typ.
  </Step>

  <Step title="Wochenplan definieren">
    Für jeden Arbeitstag (Mo–Fr, optional Sa/So) definieren Sie Arbeitsperioden und Pausen.
  </Step>

  <Step title="Speichern">
    Das Modell wird gespeichert und kann [Mitarbeitenden zugewiesen](#modell-zuweisen) werden.
  </Step>
</Steps>

## Wochenplan konfigurieren [#wochenplan-konfigurieren]

<Frame>
  <img src="/images/schedule-models/stamp-schedule-models-weekplan.png" />
</Frame>

Pro Wochentag stehen vier Konfigurationsbereiche zur Verfügung:

### Arbeitsperioden [#arbeitsperioden]

Arbeitsperioden definieren die Zeiträume, in denen gearbeitet wird. Jede Periode hat einen **Start** und ein **Ende**.

| Feld      | Beschreibung                           |
| --------- | -------------------------------------- |
| **Start** | Beginn der Arbeitsperiode (z.B. 08:00) |
| **Ende**  | Ende der Arbeitsperiode (z.B. 12:00)   |

**Mehrere Perioden pro Tag** sind möglich, z.B. Vormittag und Nachmittag getrennt. Die **Lücke** zwischen zwei Perioden wird automatisch als Pause interpretiert.

### Pausen [#pausen]

Explizite Pausenzeiten innerhalb einer Arbeitsperiode. Verwenden Sie dies, wenn die Pause **innerhalb** einer durchgehenden Periode liegt.

| Feld      | Beschreibung                  |
| --------- | ----------------------------- |
| **Start** | Beginn der Pause (z.B. 12:00) |
| **Ende**  | Ende der Pause (z.B. 12:30)   |

<Info>
  Sie können Pausen auf zwei Arten definieren: **als Lücke** zwischen Perioden oder **als explizite Pause** innerhalb einer Periode. Beides funktioniert identisch. Mehr dazu im Abschnitt [Beispiele](#beispiele).
</Info>

### Kernzeiten [#kernzeiten]

Kernzeiten definieren Pflichtanwesenheitszeiten. Wenn Mitarbeitende während der Kernzeit nicht anwesend sind, wird dies in der Zeiterfassung markiert.

| Feld      | Beschreibung                     |
| --------- | -------------------------------- |
| **Start** | Beginn der Kernzeit (z.B. 09:00) |
| **Ende**  | Ende der Kernzeit (z.B. 15:00)   |

### Pausenstaffelung [#pausenstaffelung]

Individuelle Pausenschwellenwerte, die die [gesetzlichen Standardwerte](/docs/zeiterfassung/pause-calculation) für diesen Wochentag ersetzen.

| Feld         | Beschreibung                                                |
| ------------ | ----------------------------------------------------------- |
| **Schwelle** | Ab welcher Brutto-Arbeitszeit die Pause greift (in Minuten) |
| **Dauer**    | Wie lange die Mindestpause sein muss (in Minuten)           |

<Warning>
  Individuelle Schwellenwerte ersetzen die ArbZG-Standardwerte **vollständig**. Stellen Sie sicher, dass Ihre Konfiguration mindestens die gesetzlichen Anforderungen erfüllt. Details zur Pausenberechnung finden Sie unter [Pausenberechnung](/docs/zeiterfassung/pause-calculation).
</Warning>

## Berechnung: Soll-Arbeitszeit und Soll-Pause [#berechnung-soll-arbeitszeit-und-soll-pause]

Das System berechnet aus dem Wochenplan automatisch zwei Werte pro Tag:

```
Soll-Arbeitszeit = Summe aller Perioden - Summe aller expliziten Pausen
Soll-Pause       = Gesamtspanne (letztes Ende - erster Start) - Soll-Arbeitszeit
```

Die **Soll-Pause** umfasst dabei sowohl explizite Pausen als auch Lücken zwischen Perioden.

### Berechnungsbeispiel [#berechnungsbeispiel]

**Konfiguration**: Zwei Perioden, keine explizite Pause

| Feld      | Wert                 |
| --------- | -------------------- |
| Periode 1 | 08:00–12:00 (4 Std.) |
| Periode 2 | 12:30–16:30 (4 Std.) |
| Pausen    | keine                |

**Berechnung**:

* Summe Perioden: 4h + 4h = &#x2A;*8 Std.**
* Explizite Pausen: 0
* Soll-Arbeitszeit: 8h - 0 = &#x2A;*8 Std.**
* Gesamtspanne: 16:30 - 08:00 = 8,5 Std.
* Soll-Pause: 8,5h - 8h = &#x2A;*30 Min.** (die Lücke 12:00–12:30)

**Anzeige in der Zeiterfassung**:

| Arbeitszeit       | Pause             |
| ----------------- | ----------------- |
| 07:32 / **08:00** | 00:16 / **00:30** |

So sehen Mitarbeitende sofort: "Ich soll 8 Stunden arbeiten und 30 Minuten Pause machen."

## Beispiele [#beispiele]

### Vollzeit 40 Stunden (Mo–Fr) [#vollzeit-40-stunden-mofr]

**Ziel**: 8 Stunden Arbeit pro Tag, 30 Minuten Mittagspause

<Tabs>
  <Tab title="Variante A: Zwei Perioden (empfohlen)">
    | Wochentag | Periode 1   | Periode 2   | Pausen |
    | --------- | ----------- | ----------- | ------ |
    | Mo–Fr     | 08:00–12:00 | 12:30–16:30 | -      |

    Die 30-Minuten-Lücke (12:00–12:30) ist die Mittagspause.

    * **Soll-Arbeitszeit**: 8 Std./Tag → 40 Std./Woche
    * **Soll-Pause**: 30 Min./Tag
  </Tab>

  <Tab title="Variante B: Eine Periode + Pause">
    | Wochentag | Periode     | Pausen      |
    | --------- | ----------- | ----------- |
    | Mo–Fr     | 08:00–16:30 | 12:00–12:30 |

    Die Pause wird explizit von der durchgehenden Periode abgezogen.

    * **Soll-Arbeitszeit**: 8,5h - 0,5h = 8 Std./Tag → 40 Std./Woche
    * **Soll-Pause**: 30 Min./Tag
  </Tab>

  <Tab title="Variante C: Eine Periode ohne Pause">
    | Wochentag | Periode     | Pausen |
    | --------- | ----------- | ------ |
    | Mo–Fr     | 08:00–16:00 | -      |

    **Achtung**: Hier gibt es keine Lücke und keine explizite Pause.

    * **Soll-Arbeitszeit**: 8 Std./Tag → 40 Std./Woche
    * **Soll-Pause**: 0 Min. (keine Pause definiert)

    <Warning>
      Bei dieser Konfiguration greift trotzdem die [gesetzliche Mindestpause](/docs/zeiterfassung/pause-calculation) (30 Min. bei >6h Arbeit). Die Pause wird bei der Netto-Berechnung automatisch abgezogen, aber es wird keine Soll-Pause in der Übersicht angezeigt.
    </Warning>
  </Tab>
</Tabs>

### Teilzeit 20 Stunden (Mo–Fr) [#teilzeit-20-stunden-mofr]

**Ziel**: 4 Stunden Arbeit pro Tag, keine Pause nötig (unter 6h)

| Wochentag | Periode     | Pausen |
| --------- | ----------- | ------ |
| Mo–Fr     | 08:00–12:00 | -      |

* **Soll-Arbeitszeit**: 4 Std./Tag → 20 Std./Woche
* **Soll-Pause**: keine (unter 6 Stunden, keine gesetzliche Mindestpause)

### Teilzeit 30 Stunden (Mo–Fr) [#teilzeit-30-stunden-mofr]

**Ziel**: 6 Stunden Arbeit pro Tag, 30 Minuten Mittagspause

| Wochentag | Periode 1   | Periode 2   | Pausen |
| --------- | ----------- | ----------- | ------ |
| Mo–Fr     | 08:00–11:00 | 11:30–14:30 | -      |

* **Soll-Arbeitszeit**: 3h + 3h = 6 Std./Tag → 30 Std./Woche
* **Soll-Pause**: 30 Min./Tag

### Nachtschicht [#nachtschicht]

**Ziel**: 8 Stunden Nachtarbeit, 30 Minuten Pause

<Frame>
  <img src="/images/schedule-models/stamp-schedule-models-nightshift.png" />
</Frame>

| Wochentag | Periode 1   | Periode 2   | Pausen |
| --------- | ----------- | ----------- | ------ |
| Mo–Fr     | 22:00–02:00 | 02:30–06:30 | -      |

* **Typ**: Nachtschicht
* **Nachtschichtbeginn**: 22:00 (konfigurierbar pro Modell)
* **Soll-Arbeitszeit**: 4h + 4h = 8 Std.
* Die Arbeitszeit wird dem **Starttag** zugerechnet (z.B. Montag 22:00 bis Dienstag 06:30 zählt als Montag)

### 4-Tage-Woche [#4-tage-woche]

**Ziel**: 40 Stunden auf 4 Tage verteilt (Mo–Do)

| Wochentag | Periode 1   | Periode 2   | Pausen |
| --------- | ----------- | ----------- | ------ |
| Mo–Do     | 07:00–12:00 | 12:45–17:45 | -      |
| Fr–So     | -           | -           | -      |

* **Soll-Arbeitszeit**: 5h + 5h = 10 Std./Tag → 40 Std./Woche
* **Soll-Pause**: 45 Min./Tag (Lücke 12:00–12:45)

## Modell zuweisen [#modell-zuweisen]

Arbeitszeitmodelle werden über eine **Zuweisungshistorie** den Mitarbeitenden zugeordnet. Jede Zuweisung hat ein **Gültigkeitsdatum** (`gültig ab`).

<Steps>
  <Step title="Person auswählen">
    Öffnen Sie die Person unter **Mitarbeitende** und wechseln Sie in den Bereich **Vertrag & Lohn**. Dort verwalten Sie die Arbeitszeitmodell-Zuweisungen als versionierte Liste.
  </Step>

  <Step title="Gültigkeitsdatum setzen">
    Legen Sie fest, ab welchem Datum das Modell gelten soll. Typischerweise der 1. eines Monats.
  </Step>

  <Step title="Speichern">
    Die Zuweisung wird gespeichert und bei der nächsten Arbeitszeitberechnung berücksichtigt.
  </Step>
</Steps>

<Info>
  **Mehrere Zuweisungen**: Eine Person kann mehrere Zuweisungen mit unterschiedlichen Gültigkeitsdaten haben. Es gilt immer das **zuletzt gültige** Modell. So lassen sich z.B. Wechsel von Vollzeit auf Teilzeit abbilden.
</Info>

### Beispiel: Modellwechsel [#beispiel-modellwechsel]

| Gültig ab  | Modell       |
| ---------- | ------------ |
| 01.01.2025 | Vollzeit 40h |
| 01.07.2025 | Teilzeit 20h |

* **Januar–Juni 2025**: Soll-Arbeitszeit basiert auf "Vollzeit 40h"
* **Ab Juli 2025**: Soll-Arbeitszeit basiert auf "Teilzeit 20h"

Die alten Berechnungen bleiben unverändert, nur neue Tage werden mit dem neuen Modell berechnet.

## Änderungen an bestehenden Modellen [#änderungen-an-bestehenden-modellen]

<Warning>
  Wenn Sie ein **bestehendes Modell** ändern (z.B. Perioden anpassen), wirkt sich das auf **alle Mitarbeitenden** aus, denen dieses Modell zugewiesen ist, auch rückwirkend bei Neuberechnung vergangener Zeiträume.
</Warning>

### Empfehlung: Neues Modell statt Bearbeitung [#empfehlung-neues-modell-statt-bearbeitung]

Wenn sich die Arbeitszeiten für bestimmte Mitarbeitende ändern:

1. **Neues Modell** erstellen (z.B. "Vollzeit 40h ab 2026")
2. **Neue Zuweisung** mit dem gewünschten Gültigkeitsdatum anlegen
3. Das alte Modell bleibt **unverändert** für historische Berechnungen

So ist die Arbeitszeithistorie vollständig nachvollziehbar.

### Revisionssicherheit [#revisionssicherheit]

Alle Änderungen an Arbeitszeitmodellen werden automatisch protokolliert:

* **Erstellung, Bearbeitung und Löschung** werden mit Zeitstempel und verantwortlicher Person gespeichert
* **Alte und neue Werte** werden bei jeder Änderung aufgezeichnet
* **Zuweisungshistorie** bleibt vollständig erhalten, alte Einträge werden nie überschrieben

## Rahmenarbeitszeit [#rahmenarbeitszeit]

Die [Rahmenarbeitszeit](/docs/zeiterfassung/frame-working-time) begrenzt die anrechenbare Arbeitszeit auf feste Zeitfenster pro Wochentag. Stempelungen außerhalb werden weiterhin vollständig erfasst und protokolliert, fließen aber nicht in das Arbeitszeit- und Überstundenkonto ein.

Aktiviert wird sie über den Schalter **Rahmenarbeitszeit** im Arbeitszeitmodell; die Fenster werden anschließend pro Wochentag festgelegt. Zusätzlich lassen sich ganze Wochentage sperren, zum Beispiel das Wochenende, und in den Einstellungen eine Toleranz an der Fenstergrenze konfigurieren.

Alle Details, Beispiele und häufige Fragen: [Rahmenarbeitszeit](/docs/zeiterfassung/frame-working-time)

## Häufige Fragen [#häufige-fragen]

<AccordionGroup>
  <Accordion title="Warum zeigt die Zeiterfassung eine andere Soll-Arbeitszeit als erwartet?">
    Prüfen Sie im Arbeitszeitmodell:

    1. Sind die **Perioden korrekt** konfiguriert? Die Soll-Arbeitszeit ergibt sich aus der Summe aller Perioden abzüglich expliziter Pausen.
    2. Gibt es **Lücken zwischen Perioden**? Diese werden automatisch als Pause erkannt.
    3. Ist das richtige **Modell zugewiesen**? Prüfen Sie die Zuweisungshistorie der betroffenen Person.
  </Accordion>

  <Accordion title="Was ist der Unterschied zwischen Pausen und Lücken zwischen Perioden?">
    Beides hat den gleichen Effekt:

    * **Lücke zwischen Perioden**: z.B. Periode 1 endet um 12:00, Periode 2 beginnt um 12:30 → 30 Min. Pause
    * **Explizite Pause**: z.B. Periode 08:00–16:30, Pause 12:00–12:30 → 30 Min. Pause

    In beiden Fällen berechnet das System 30 Minuten Soll-Pause. Die Variante mit zwei Perioden und Lücke ist etwas intuitiver.
  </Accordion>

  <Accordion title="Kann ich ein Modell rückwirkend ändern?">
    Technisch ja, aber **nicht empfohlen**. Änderungen am Modell wirken sich bei Neuberechnung auf alle zugewiesenen Mitarbeitenden und Zeiträume aus. Erstellen Sie stattdessen ein neues Modell und weisen Sie es mit neuem Gültigkeitsdatum zu.
  </Accordion>

  <Accordion title="Was passiert mit der gesetzlichen Mindestpause?">
    Die [gesetzliche Mindestpause](/docs/zeiterfassung/pause-calculation) (30 Min. bei >6h, 45 Min. bei >9h Arbeit) wird **immer** eingehalten, unabhängig von der Konfiguration im Modell. Wenn die tatsächliche Pause geringer ist als die gesetzliche Mindestpause, wird automatisch der höhere Wert verwendet.
  </Accordion>

  <Accordion title="Wie funktioniert Gleitzeit?">
    Verwenden Sie den Typ **Dynamische Schicht**. Definieren Sie nur die Soll-Stunden pro Tag, ohne feste Start- und Endzeiten. Die Mitarbeitenden können flexibel stempeln, es zählt nur die Gesamtarbeitszeit.
  </Accordion>
</AccordionGroup>
