Zum Inhalt springen

Rollenkonzept

Das Rollenkonzept in chronapp regelt, welche Benutzer:innen welche Funktionen sehen und ausführen dürfen. Rollen werden Benutzer:innen zugewiesen und können auf eine Organisationseinheit (OE) oder einen Company Code (CoCo) bezogen sein. Der Umfang des verfügbaren Rollenmodells richtet sich nach dem gebuchten Lizenzmodell.

MerkmalBasicProUltimate
Anzahl Rollen5 standardisierte Rollen5 + 2 direkte ZuweisungsrollenFrei definierbar
OE-StrukturTenant-übergreifende OETenant-OE + direkte Zuweisungs-OEsVollständige OE-Struktur
Direkte RollenzuweisungNeinJaJa
StellvertretungNeinJaJa
CoCo-StrukturNeinNeinJa

Bei der Basic Lizenz stehen fünf standardisierte Rollen zur Verfügung. Diese haben sich in der Praxis bewährt und ermöglichen eine einfache, kostengünstige Verwaltung ohne zusätzlichen Konfigurationsaufwand.

Es gibt genau eine Organisationseinheit im Tenant. Ein:e Vorgesetzte:r ist damit immer für den gesamten Tenant zuständig – eine feinere Gliederung nach Abteilungen oder Teams ist nicht vorgesehen.

Direkte Rollenzuweisungen und die Stellvertreterfunktion sind bei der Basic Lizenz nicht verfügbar.

RolleBeschreibung
MitarbeitendeStandardrolle für alle Mitarbeitenden. Ermöglicht die Erfassung und Einsicht der eigenen Arbeitszeiten und Abwesenheiten.
Leitung OrganisationVorgesetztenfunktion für die gesamte Organisation (= Tenant). Kann Abwesenheiten und Arbeitszeiten der unterstellten Mitarbeitenden einsehen und genehmigen.
Time Admin OrganisationVerwaltet Zeitdaten für die gesamte Organisation. Kann Korrekturen vornehmen und hat erweiterten Lesezugriff auf Zeiterfassungsdaten.
ProjektadminZuständig für die Verwaltung von Tätigkeiten und Projekten im gesamten Tenant.
AdminVollständige Administrationsberechtigung im Tenant. Kann Benutzer:innen, Rollen und Einstellungen verwalten.

Die Pro Lizenz erweitert das Rollenmodell um zwei zusätzliche Rollen mit direkter Benutzerzuweisung sowie um die Stellvertreterfunktion.

Neben der Tenant-übergreifenden OE können weitere OEs ausschliesslich für die direkte Rollenzuweisung angelegt werden.

RolleDirekte ZuweisungBeschreibung
MitarbeitendeNeinWie in der Basic Lizenz.
Leitung OrganisationNeinVorgesetztenfunktion für die gesamte Organisation.
Leitung (Direkte Zuweisung von Benutzer:innen)JaVorgesetztenfunktion, die gezielt einzelnen Benutzer:innen zugewiesen werden kann.
Time Admin OrganisationNeinZeitadministration für die gesamte Organisation.
Time Admin (Direkte Zuweisung von Benutzer:innen)JaZeitadministration, die gezielt einzelnen Benutzer:innen zugewiesen werden kann.
ProjektadminNeinWie in der Basic Lizenz.
AdminNeinWie in der Basic Lizenz.

Ab der Pro Lizenz steht die Stellvertreterfunktion zur Verfügung. Sie ermöglicht es, für jede Rollenzuweisung bis zu sechs Stellvertretende zu hinterlegen.

Stellvertretende übernehmen während der Abwesenheit der berechtigten Person (z.B. Ferien, Krankheit) deren Aufgaben und Berechtigungen im Rahmen der jeweiligen Rolle. Die Stellvertretung ist an die konkrete Rollenzuweisung geknüpft und muss pro Zuweisung separat konfiguriert werden.

Typische Anwendungsfälle:

  • Genehmigung von Abwesenheiten bei Abwesenheit der Führungskraft
  • Zeitkorrekturen durch eine Stellvertretung des Time Admins
  • Sicherstellung der Betriebskontinuität ohne Dauerberechtigungen vergeben zu müssen

Vollständige OE-Struktur und Rollenverwaltung (Ultimate Lizenz)

Abschnitt betitelt „Vollständige OE-Struktur und Rollenverwaltung (Ultimate Lizenz)“

Die Ultimate Lizenz bietet die maximale Flexibilität:

  • Frei definierbare Rollen mit individuell konfigurierbaren Berechtigungen
  • Vollständige OE-Struktur mit beliebig tiefer Organisationshierarchie
  • CoCo-Struktur (Company Code) für Kostenstellen-basierte Berechtigungen
  • Vollständige Rollen- und Berechtigungsverwaltung ohne Einschränkungen

Rollen in chronapp sind keine festen Berechtigungspakete, sondern werden aus einzelnen, granularen Berechtigungen ( Permissions) zusammengesetzt. Jede Rolle erhält eine definierte Menge von Berechtigungen, die zusammen ihren Funktionsumfang ergeben.

Berechtigungen folgen einem einheitlichen Namensschema:

[Modul].[Aktion].[Geltungsbereich]

Der Geltungsbereich (Scope) bestimmt, auf welche Daten sich die Berechtigung auswirkt. Nicht alle Berechtigungen existieren in allen Varianten – je nach Aktion sind nur bestimmte Scopes sinnvoll.

Am Beispiel der Berechtigung worktime.create (Arbeitszeit erfassen):

BerechtigungGeltungsbereichBedeutung
worktime.createEigene Person (Basis)Der/die eingeloggte Benutzer:in darf die eigene Arbeitszeit erfassen.
worktime.create.selfSelbst-AusnahmeSteuert, ob die eigene Person eingeschlossen ist, wenn man aufgrund von .ou, .coco oder .tenant grundsätzlich Rechte hätte (siehe unten).
worktime.create.ouOrganisationseinheitDarf Arbeitszeiten aller Personen in der zugewiesenen OE (und darunter) erfassen.
worktime.create.cocoCompany CodeDarf Arbeitszeiten aller Personen im zugewiesenen Company Code erfassen.
worktime.create.tenantGesamter TenantDarf Arbeitszeiten aller Personen im Tenant erfassen.

Der Scope ou berücksichtigt die Tiefe der Organisationshierarchie: Bei der Zuweisung wird durch eine Zahl angegeben, für welche Tiefe der untergeordneten OEs die Berechtigung ebenfalls greift. Eine Tiefe von 1 bedeutet, dass die Berechtigung nur für die ausgewählte OE greift. Eine Tiefe von N + 1 heisst, dass die Berechtigungen für jede untergeordnete OE der Tiefe <= N gilt.

Die Basis-Berechtigung ohne Scope (z.B. worktime.create) gilt immer für die eigene Person. Die .self-Variante hat eine andere, ergänzende Bedeutung: Sie greift dann, wenn jemand aufgrund einer übergeordneten Berechtigung (.ou, .coco, .tenant) auch sich selbst einschliessen würde – etwa eine Führungskraft, die ihrer eigenen OE angehört.

Mit .self lässt sich dieses Verhalten gezielt steuern:

  • .self gesetzt → die Person darf die Berechtigung auch auf sich selbst anwenden
  • .self nicht gesetzt → die eigene Person ist von der übergeordneten Berechtigung ausgeschlossen

Typisches Gegenbeispiel – Auszahlung: Eine Führungskraft hat payment.workflow.approve.ou, um Auszahlungen in der eigenen OE zu genehmigen. Damit sie sich nicht selbst Auszahlungen genehmigen kann, wird payment.workflow.approve.self bewusst nicht vergeben.

Der Begriff CoCo steht für Company Code – einen Kostenrechnungskreis, der eine organisatorische Einheit für die Finanzbuchhaltung abbildet. In chronapp ermöglicht der CoCo-Scope eine bereichsübergreifende Berechtigung, die sich nicht an der OE-Hierarchie orientiert, sondern an der zugewiesenen Kostenrechnungseinheit.

Die Berechtigungen sind nach Modulen und Aktionen strukturiert. Die wichtigsten Kategorien:

KategorieBeispiel-Berechtigungen
Arbeitszeitenworktime.read, worktime.create, worktime.update, worktime.delete, worktime.correction
Abwesenheitenabsence.read, absence.write, absence.workflow.approve, absence.workflow.confirm
Saldenbalance.read, balance.write, balance.recalculate
Rollen & Benutzerrole.user.read, role.user.write, role.user.deputy.manage, role.user.impersonate
Tätigkeitenactivitytype.read, activitytype.write
Benutzerprofileuser.profile.read, user.profile.write
Arbeitszeit-Workflowworktime.workflow.status.read, worktime.workflow.status.approve, worktime.workflow.status.confirm

Jede dieser Kategorien steht in der Regel in den Varianten (kein Scope), .self, .ou, .coco und .tenant zur Verfügung.

Jede Rolle bündelt eine festgelegte Kombination aus Berechtigungen und Scopes. Bei der Ultimate Lizenz können Berechtigungen und ihre Scopes frei kombiniert und eigenen Rollen zugewiesen werden – ohne Einschränkung auf vordefinierte Rollenpakete.

Beispiel – Berechtigung worktime.read nach Rolle:

RolleZugewiesene BerechtigungEffekt
Mitarbeitendeworktime.readSieht nur die eigene Zeiterfassung
Leitung Organisationworktime.read.ouSieht alle Zeiterfassungen in der eigenen OE
Time Admin Organisationworktime.read.ou + worktime.correction.ouSieht und korrigiert Zeiterfassungen in der OE
Adminworktime.read.tenantSieht alle Zeiterfassungen im gesamten Tenant

Jeder API-Endpunkt in chronapp ist mit mindestens einer konkreten Berechtigung abgesichert. Wo sinnvoll, werden mehrere Endpunkte durch dieselbe Berechtigung geschützt – zum Beispiel: Einzelne Absenz abfragen und Liste von Absenzen abfragen.

Beispiel – Endpunkte für Arbeitszeiten:

EndpunktAktionErforderliche Berechtigung
GET /worktimesArbeitszeiten lesenworktime.read.[scope]
POST /worktimesArbeitszeit erfassenworktime.create.[scope]
PUT /worktimes/{id}Arbeitszeit bearbeitenworktime.update.[scope]
DELETE /worktimes/{id}Arbeitszeit löschenworktime.delete.[scope]
PUT /worktimes/{id}/approveArbeitszeit genehmigenworktime.workflow.status.approve.[scope]

Diese Struktur stellt sicher, dass ein:e Benutzer:in zwar Daten lesen, aber nicht zwingend ändern darf – selbst wenn beide Aktionen dasselbe Modul betreffen. Der Scope schränkt dabei zusätzlich ein, wessen Daten betroffen sind.


Bestehende Kunden, die von timesaver zu chronapp migriert wurden, wurden automatisch in das neue Rollenmodell überführt. Die folgende Tabelle zeigt die Zuordnung der alten timesaver-Rollen zu den neuen chronapp-Rollen:

timesaver (alt)chronapp (neu)
MitarbeiterMitarbeitende
VorgesetzterLeitung Organisation
AbwesenheitsverwaltungTime Admin Organisation
TätigkeitsverwaltungProjektadmin
Mandant VerantwortlicherAdmin