Kontingente (Quota)
Definition
Abschnitt betitelt „Definition“Ein Kontingent (Quota) definiert, wie viele Minuten/Stunden eine Mitarbeiter:in für eine bestimmte Zeitklasse (z. B. Nachtarbeit, Sonntagsarbeit, Überstunden, etc.) in einem Zeitraum zur Verfügung hat. Chronapp verwendet Kontingente, um verbuchte Arbeitszeiten gegen verfügbare Zeit-Budgets abzugleichen.
Es gibt zwei Arten von Kontingenten:
- Periodenkontingente: Gültig für ein beliebiges Start- und Enddatum innerhalb desselben Kalenderjahres.
- Jahreskontingente: Gültig pro ganzem Kalenderjahr (01.01.–31.12.) und ggf. über mehrere Jahre fortlaufend.
Datenmodell (vereinfacht)
Abschnitt betitelt „Datenmodell (vereinfacht)“Ein Kontingent besitzt u. a. folgende Felder:
- user: Mitarbeiter:in, für die das Kontingent gilt.
- timeclass: Zeitklasse, für die das Kontingent gilt. Nur Zeitklassen, die Kontingente erlauben, sind zulässig.
- from / to: Gültigkeitszeitraum.
- quotaInMinutes: Umfang des Kontingents in Minuten.
- yearly: Kennzeichen, ob es sich um ein Jahreskontingent handelt.
Regeln und Validierungen
Abschnitt betitelt „Regeln und Validierungen“Die wichtigsten fachlichen Regeln bei der Erstellung und Pflege von Kontingenten:
-
Pflichtfelder
- Beginn (
from), Ende (to), Benutzer:in (user) und Zeitklasse (timeclass) müssen gesetzt sein. quotaInMinutesmuss > 0 sein.
- Beginn (
-
Zeitraumlogik
- Beginn muss vor Ende liegen.
- Periodenkontingente müssen innerhalb eines Kalenderjahres liegen.
- Jahreskontingente müssen volle Kalenderjahre umfassen: exakt 01.01.–31.12.
-
Zeitklassen-Eignung
- Nur Zeitklassen, die in der jeweiligen Periode für Kontingente freigegeben sind, sind zulässig.
- Nur Zeitklassen, welche für Jahreskontingente freigegeben sind, lassen sich als Dauerkontingente erfassen.
-
Überschneidungen
- Ein neues oder geändertes Kontingent darf sich nicht mit einem bestehenden Kontingent derselben Zeitklasse und derselben Person überschneiden.
- Bei Massenerfassung für mehrere Personen wird die Überschneidungsprüfung pro Person durchgeführt.
-
Restquoten und Änderungen
- Bei Änderungen oder Aufteilungen prüft das System die Restkontingente gegenüber bereits verbuchten Arbeitszeiten.
- Wird durch eine Änderung das Restkontingent negativ, wird die Änderung abgelehnt.
- Beim Löschen von Kontingenten verhindert das System das Löschen, wenn Arbeitszeiten ausserhalb verbleibender Quoten liegen oder Restquoten-Regeln verletzt würden.
Jahreskontingente vs. Periodenkontingente
Abschnitt betitelt „Jahreskontingente vs. Periodenkontingente“- Jahreskontingente sind speziell, da sie oft über mehrere Jahre laufen können. Intern werden solche Kontingente für Berechnungen pro Jahr „virtuell“ aufgeteilt, damit Restquoten pro Jahr korrekt ermittelt werden.
- Periodenkontingente sind flexibler (z. B. nur ein Monat, oder ein konkreter Sonntag), müssen aber innerhalb eines Jahres liegen.
Bearbeitung und Aufteilen
Abschnitt betitelt „Bearbeitung und Aufteilen“Beim Aktualisieren eines Kontingents können zwei Fälle unterschieden werden:
- Ändern (ohne Aufteilung): Zeitraum und Umfang werden angepasst. Dabei dürfen keine Restquoten negativ werden und es darf zu keinen Überschneidungen kommen.
- Aufteilen (Split): Ein bestehendes Kontingent wird in zwei Abschnitte aufgeteilt (z. B. „Ändern ab“ Datum). Dabei gilt u. a.:
- Die Zeitklasse darf nicht geändert werden.
- Spezielle Regeln kontrollieren, dass das neue „Ändern ab“-Datum innerhalb des ursprünglichen Intervalls liegt und die Restquoten konsistent bleiben.
Berechtigungen
Abschnitt betitelt „Berechtigungen“Die Sicht- und Schreibrechte für Kontingente werden differenziert geprüft. Relevante Permissions sind u. a.:
- Lesen:
quota.read,quota.read.self,quota.read.ou,quota.read.coco,quota.read.tenant - Schreiben:
quota.write,quota.write.ou,quota.write.coco,quota.write.tenant - Zeitklassen lesen:
timeclass.read(u. a. zur Auswahl geeigneter Zeitklassen)
Neben den oben genannten generischen Rechten prüft der Server bei der Anlage/Bearbeitung die Berechtigung pro Benutzer:in und ob die ausgewählte Zeitklasse für Quoten erlaubt ist.
Typische Anwendungsfälle
Abschnitt betitelt „Typische Anwendungsfälle“- Behördlich bewilligte Sonntagsarbeit
- Weiterbildungsbudget pro Quartal/Jahr
- angeordnete Überstunden
Fehlermeldungen (Auszug)
Abschnitt betitelt „Fehlermeldungen (Auszug)“- „Beginn muss vor Ende sein.“
- „Beginn und Ende müssen im gleichen Kalenderjahr liegen (für nicht-jährliche Kontingente).“
- „Jahreskontingente sind nur für volle Jahre erlaubt (01.01.–31.12.).“
- „Zeitklasse ist ungültig (oder für Jahreskontingente nicht erlaubt).“
- „Dieses Kontingent überschneidet sich mit einem anderen Kontingent.“
- „Änderung würde zu negativem Restkontingent führen.“
- „Kontingent kann nicht gelöscht werden, da Arbeitszeiten ausserhalb verbleibender Quoten liegen.“
Best Practices
Abschnitt betitelt „Best Practices“- Jahreskontingente verwenden, wenn Budgets pro Kalenderjahr geführt werden sollen.
- Periodenkontingente einsetzen, wenn temporäre Budgets benötigt werden (z. B. projektspezifisch innerhalb eines Jahres).
- Zeitklassen sorgfältig konfigurieren (Freigabe für Quoten bzw. Jahresquoten), um ungültige Kombinationen zu vermeiden.
- Bei Änderungen zuerst prüfen, ob bereits viele Zeiten verbucht sind; ggf. mit „Aufteilen ab Datum“ arbeiten.