Durch die Abkündigung der Anwesenheitsendpunkte der API V1 ab Ende 2026 wurden umfassend auf die API V2 umgestellt. Pause in der V2 müssen nun mit einem konkreten Zeitraum angegeben werden und können nicht mehr wie die "legacy_break" der V1 ohne Zeitraum übergeben werden.
Die ursprüngliche Darstellung
Für die automatische Pausenberechnung durch clockit ohne feste Zeiträume (Pausenmodelle mit der Darstellung 180;15|360;30|480;45) muss clockit entsprechend die Pausenzeiträume bestimmen. Für die Auswahl von Start- und Endzeitpunkt der Pause benutzt clockit folgende Logik:
Beispiel Pausenmodell 180;15|360;30|480;45
Bestimmung der Pausendauer
Zum Zeitpunkt einer Gehen-Buchung wird anhand der Länge der Arbeitszeit (ohne bereits bestehende Pausen) bestimmt, wie lange ein Mitarbeiter anwesend war. Ausgehend von dieser Summe wird bestimmt, welche Pausenlänge für den Tag laut Pausenmodell hinterlegt werden muss. Dabei wird die größte überschrittene Pausenregel verwendet.
Beispiel:
Bei einer Anwesenheit von 08:00 - 16:45 ohne Pausen bedeutet das eine Arbeitszeit von 8:45h (525min), wodurch die Pausenregel 480;45 zum tragen kommt. Dadurch, dass keine Pausen an dem Tag gebucht wurden werden die vollen 45 Minuten der Pausenregel gebucht.
180 Minuten Arbeitszeit -> keine Pause
360 Minuten Arbeitszeit -> 180;15
361 Minuten Arbeitszeit -> 360;30
Sollten während des Tages bereits durch den Mitarbeiter Pausen geworden sein wir die Summe der durch den Mitarbeiter gebuchten Pausen von der Pausenregel geforderten Summe abgezogen und die Restsumme wird gebucht. Sollte dadurch eine Summe entstehen, die kleiner ist als die bisher gebuchten Pausen wird die Zeit der zuvor durch clock:it gebuchten Pausen reduziert. Hierbei wird stets zuerst die kleinste durch clock:it gebuchte Pause reduziert um möglichst wenig Pausenabschnitte im Tagesverlauf zu inkludieren.
Beispiel:
Folgende Buchungsreihenfolge: Kommen 08:00, Gehen 12:00, Kommen 12:30, Gehen 16:45
Durch die Gehen-Buchung um 12:00 wird eine automatische Pause von 15 Minuten gebucht (240min -> 180;15). Durch das erneute Kommen um 12:30 wird die Zeit von 12:00-12:30 als Pause gewertet. Die Gehen-Buchung um 16:20 schließt den Tag erneut und die automatischen Pausen werden neu berechnet. Die Arbeitszeit zu dem Zeitpunkt beträgt 7:50h (470min), wodurch 360;30 als Pausenregel verwendet wird. Es bestehen bereits die Pause von 12:00 - 12:30 und die automatische Pause von 15min, welche zusammen 45 Minuten ergeben, was die Regel überschreitet. Dadurch wird versucht, die durch clock:it gebuchten Pausen zu reduzieren, bis die gewünschte Dauer erreicht wird. Durch die Reduzierung der 15min Pause um 15min wird dieses Ziel erreicht.
WICHTIG: clock:it reduziert nicht die konkret gebuchten Pausen des Mitarbeiters. Sollte der Mitarbeiter durch aktiv gebuchte Pausen die Pausenforderung der Pausenregel überschreiten wird dies nicht von clock:it korrigiert.
Bestimmung der Pausen Start- und Endzeit
Grundsätzlich versucht clock:it die Pausen an die Schwellen der Pausenregeln zu legen, damit diese leicht nachzuvollziehen sind. Somit wird eine Pause durch 180;15, wenn möglich 3h nach Arbeitsbeginn gelegt.
Beispiel:
Arbeitszeit 08:00 - 12:00, 240 min -> 180;15 -> Pause nach 3h für 15min
Es ist möglich, dass die Pause nicht an die Schwelle einer Pausenregel gelegt werden kann. Dafür gibt es in clock:it 3 Einstellungsparameter um den nächstmöglichen Buchungszeitraum zu finden:
- AutoBreakLatestTime - Maximaler Abstand der automatischen Pause zum Schichstart (Default: 360)
- AutoBreakEndOfDayBuffer - Mindestabstand der automatischen Pause zum Schichtende (Default: 15)
- AutoBreakMinSpacingBuffer - Mindestabstand der automatischen Pause zu anderen Buchungen (Default: 15)
Die Einstellungen finden Sie in der "Einstellungen"-Maske unter dem Punkt "Personalwirtschaft" -> "Personio".
Mit diesen 3 Einstellungsparametern wird versucht den nächstmöglichen Buchungszeitraum für die Pause zu finden, ausgehend vom Standard-Zeitraum.
AutoBreakLatestTime
Diese Einstellung sorgt dafür, dass eine Pause nicht später als der angegebene Schwellwert gebucht wird. Dadurch kann gewährleistet werden, dass die gebuchten Pausen mögliche Gestze zur Einhaltung einer Mindestpause nach x Minuten eingehalten werden können.
Beispiel:
Bei einer Arbeitszeit von 08:00 - 16:30 ergibt sich eine Arbeitszeit von 8:30h (510min -> 480;45). Statt die Pause von 45 Minuten nach 8 Stunden zu setzen (wäre ohnehin nicht möglich, dazu mehr in AutoBreakEndOfDayBuffer) sorgt die AutoBreakLatestTime von 360 Minuten dafür, dass die Pause 6h nach Arbeitsbeginn gebucht wird und damit von 14:00 - 14:45.
AutoBreakEndOfDayBuffer
Durch diese Einstellung lässt sich festlegen, wie groß der Abstand einer Pause zum Schichtende sein muss. Dadurch kann gewährleistet werden, dass plausible Buchungsdaten entstehen und die Pause nicht unplausibel kurz vorm Schichtende liegt.
Beispiel:
Bei einer Arbeitszeit von 08:00 - 11:05 ergibt sich eine Arbeitszeit von 3:05 (185min -> 180;15). Statt die Pause von 15 Minuten nach 3 Stunden zu setzen, wo es nicht genügend Platz gibt, sorgt der AutoBreakEndOfDayBuffer von 15 Minuten dafür, dass die Pause zum nächstmöglichen Zeitraum mit Mindestabstand von 15 Minuten verschoben wird. In unserem Beispiel wäre der nächstmögliche Zeitpunkt dann 10:35 - 10:50 um 15 Minuten zum Schichtende zu gewährleisten.
AutoBreakMinSpacingBuffer
Durch diese Einstellung lässt sich festlegen, wie groß der Abstand einer Pause zu anderen Buchungen sein muss. Dadurch kann man ähnlich zum AutoBreakEndOfDayBuffer gewährleisten, dass Buchungsdaten plausibel zu anderen Buchungsdaten sind.
Beispiel:
Bei einer Arbeitszeit von 08:00 - 14:10 ergibt und einer explizit gebuchten Pause von 13:50 - 13:55 ergibt sich eine reine Arbeitszeit von 6:05h (365min -> 360;30) mit einer Pause von 5 Minuten (statt 30 Minuten Pause nur noch 25 Minuten Pause nötig).
Die Pause wird zunächst versuch nach dem AutoBreakLatestTime von 360min zu buchen, der Zeitraum von 14:00 - 14:25 überschreitet jedoch die Arbeitszeit. Mit dem AutoBreakEndOfDayBuffer wird die Pause 15 Minuten vor Schichtende geschoben, zu 13:30 - 13:55. Da es hier jedoch eine Überschneidung zu der explizit gebuchten Pause gibt wird die Pause erneut nach vorne geschoben. Dort kommt nun der AutoBreakMinSpacingBuffer zum ins Spiel, der gewährleistet, dass vor und nach der zu buchenden Pause jeweils 15 Minuten frei sind. Somit wird die Pause letztendlich von 13:10 - 13:35 gebucht.