Benutzer, Rollen & Rechte
Wozu dient das?#
Der Bereich Personalverwaltung regelt die Zugriffsrechte, Bedienerprofile und Sicherheits-PINs in Ihrem Betrieb. Sie verwalten hier alle Benutzerkonten für Kellner, Betriebsleiter und Administratoren. Durch die Zuweisung von Systemrollen und 4-stelligen Schnell-PINs steuern Sie exakt, wer Rechnungen kassieren, Stornierungen durchführen oder Stammdaten im Backoffice verändern darf.
Voraussetzungen#
- Administrator-Berechtigung im Backoffice (Systemrolle:
admin). - Ein zugewiesener Mandant und aktiver Standort.
Rollen#
- Administrator (
admin): Uneingeschränkter Vollzugriff auf das Kassen-Terminal, das Backoffice, die Personalverwaltung, PIN-Vergabe und Fiskaleinstellungen. - Betriebsleiter (
manager): Zugriff auf Tagesabschlüsse, Tischpläne, Speisekarten- und Preisbearbeitung sowie Stornierungen; darf jedoch keine Personal-PINs vergeben oder Fiskaleinstellungen verändern. - Servicepersonal (
server): Berechtigung zur Tischbedienung, Bestellaufnahme, Rechnungsdruck und Zahlungsabwicklung am Kassen-Terminal. Für Stornierungen oder Rabatte ist die Autorisierung durch eine Admin-PIN erforderlich.
Bildschirm für Bildschirm#
1. Hauptseite "Personalverwaltung" (RolesPermissions)#
- 1 Das Suchfeld Personal nach Name suchen... filtert die Karten sofort.
- 2 Neuen Bediener hinzufügen öffnet die Maske Neuer Zugriff.
- 3 Der Stift auf der Karte öffnet dieselbe Maske zum Bearbeiten, dann mit dem Titel Zugriff aktualisieren.
- 4 Der Mülleimer fragt zuerst nach: Der Dialog heißt Zugriff entziehen. Erst die Bestätigung entzieht dem Bediener den Zugang.
- 5 Vollständiger Name des Bedieners.
- 6 Systemrolle: Zur Wahl stehen server (Service) und admin (Administrator). Weitere Rollen vergeben Sie nicht in dieser Maske.
- 7 4-stellige geheime PIN. Beim Bearbeiten heißt das Feld Geheime PIN (leer lassen, um aktuelle zu behalten). Unten stehen Abbrechen und Zugriff gewähren (beim Bearbeiten Aktualisieren).
- Kopfzeile:
- Titel: Personalverwaltung.
- Beschreibung: Verwalten Sie Terminal-Bediener, weisen Sie Rollen zu und konfigurieren Sie sichere PINs..
- Schaltfläche "+ Neuen Bediener hinzufügen" (+ Add New Operator): Mit Plus-Icon – Öffnet das Dialogfenster zur Erstellung eines neuen Benutzerkontos.
- Suchleiste:
- Suchfeld "Personal nach Name suchen...": Such-Icon mit Texteingabefeld zur Echtzeit-Filterung nach Namen oder Benutzernamen.
- Mitarbeiterkarten-Raster:
- Profil-Icon: Benutzer-Icon in Container-Box.
- Rollen-Badge: Systemrolle im Farb-Badge (z. B.
adminin Primärfarbe,serverodermanagerin Konturfarbe). - Vollständiger Name: Große Überschrift mit dem Mitarbeiternamen (
full_name). - Benutzername: Text im Format
@username. - Sicherheits-Badge: Schlüssel-Symbol mit Text PIN-geschützt.
- Karten-Fußzeile:
- Status-Anzeige Aktiv mit Häkchen-Symbol.
- Schaltfläche "Bearbeiten" (Stift-Icon): Öffnet den Bearbeiten-Dialog für diesen Mitarbeiter.
- Schaltfläche "Löschen" (Mülleimer-Icon): Öffnet den Löschen-Bestätigungsdialog.
- Leerer Zustand (bei keinen Treffern):
- Text Keine Bediener gefunden.
2. Dialogfenster "Bediener-Editor" (StaffEditorModal)#
- Kopfzeile:
- Titel: Neuer Zugriff bei Neuerstellung bzw. Zugriff aktualisieren beim Bearbeiten.
- Beschreibung: Terminal-Zugangsdaten des Bedieners konfigurieren..
- Formularfelder:
- Feld "Vollständiger Name": Eingabefeld (Platzhalter z. B. Max Mustermann / e.g. Jean Dupont).
- Auswahlfeld "Systemrolle": Umschaltbare Raster-Buttons:
- server (Servicepersonal/Kellner).
- admin (Administrator).
- Feld "PIN":
- Bei Neuerstellung: 4-stellige geheime PIN.
- Beim Bearbeiten: Geheime PIN (leer lassen, um aktuelle zu behalten).
- Passwort-Eingabefeld (Platzhalter
••••, max. 4 Ziffern, numerischer Eingabemodus).
- Aktionsleiste:
- Schaltfläche "Abbrechen": Schließt das Fenster ohne Speichern.
- Schaltfläche "Zugriff gewähren" bzw. "Aktualisieren": Speichert den Bediener im Backend.
3. Bestätigungsdialog "Zugriff entziehen" (ConfirmDialog)#
- Titel: Zugriff entziehen.
- Nachricht: Remove access for {{name}}?
- Schaltfläche "Entfernen" (Rot): Löscht/deaktiviert den Mitarbeiter.
- Schaltfläche "Abbrechen": Bricht den Löschvorgang ab.
Schritt für Schritt (mit Verzweigungen)#
Pfad A: Neuen Mitarbeiter anlegen und PIN zuweisen#
- Navigieren Sie im Backoffice zu Personalverwaltung.
- Klicken Sie auf Neuen Bediener hinzufügen.
- Geben Sie den Namen des Mitarbeiters im Feld Vollständiger Name ein.
- Wählen Sie die Systemrolle:
- Klicken Sie auf server für Kellner und Servicekräfte.
- Klicken Sie auf admin für Betriebsleiter oder IT-Verantwortliche.
- Tragen Sie im Feld 4-stellige geheime PIN eine 4-stellige Zahlenkombination ein (z. B.
4321). - Klicken Sie auf Zugriff gewähren.
Pfad B: Bestehende PIN zurücksetzen oder Mitarbeiter bearbeiten#
- Nutzen Sie das Suchfeld Personal nach Name suchen..., um den Mitarbeiter zu filtern.
- Klicken Sie auf der Mitarbeiterkarte auf das Bearbeiten-Symbol (Stift-Icon).
- Verzweigung B1 (Nur Name/Rolle ändern): Passen Sie den Namen oder die Rolle an und lassen Sie das PIN-Feld leer.
- Verzweigung B2 (PIN ändern): Geben Sie im Feld Geheime PIN (leer lassen, um aktuelle zu behalten) eine neue 4-stellige Zahlenfolge ein.
- Klicken Sie auf Aktualisieren.
Pfad C: Mitarbeiterzugang sperren oder entziehen#
- Klicken Sie auf der Karte des Mitarbeiters auf das Mülleimer-Symbol.
- Es öffnet sich der Dialog Zugriff entziehen.
- Klicken Sie auf Entfernen. Der Zugang wird gesperrt und die PIN ungültig gemacht.
Rollen- & Rechte-Matrix (aus dem Quellcode abgeleitet)#
Die folgende Tabelle basiert exakt auf den Berechtigungsprüfungen im Backend (backend/modules/auth/) und den Absicherungen im Frontend:
| Funktion / Systembereich | Rolle server (Kellner) | Rolle manager (Betriebsleiter) | Rolle admin (Administrator) |
|---|---|---|---|
| Kassen-Terminal per Schnell-PIN entsperren | Ja | Ja | Ja |
| Tische öffnen, Bestellungen aufnehmen & an Küche senden | Ja | Ja | Ja |
| Rechnungen kassieren (Bar, Karte, Gutschein) | Ja | Ja | Ja |
| Zwischenrechnungen & Bewirtungsbelege drucken | Ja | Ja | Ja |
| Bestellposition stornieren / Tisch stornieren | Nein (Admin-PIN erforderlich) | Ja | Ja |
| Manuelle Rabatte (Prozent / Betrag) vergeben | Nein (Admin-PIN erforderlich) | Ja | Ja |
| Eigenen Schichtbericht (X-Bericht) einsehen | Ja | Ja | Ja |
| Tagesabschluss (Z-Bericht) & Schicht schließen | Eingeschränkt (nur eigene Schicht) | Ja | Ja |
| Speisekarte, Kategorien & Preise bearbeiten | Nein | Ja | Ja |
| Saalplan & Tisch-Layouts umgestalten | Nein | Ja | Ja |
| Mitarbeiter anlegen, bearbeiten & PINs vergeben | Nein | Nein | Ja |
| Drucker, POS Bridge & Hardware-Routing konfigurieren | Nein | Nein | Ja |
| Fiskaleinstellungen (TSE-Modus) verändern | Nein | Nein | Ja |
| DSFinV-K & DATEV Steuer-Exporte generieren | Nein | Nein | Ja |
| Mandanten-Einstellungen & Standorte verwalten | Nein | Nein | Ja |
Was passiert im Hintergrund#
- Die Schnell-Anmeldung am Terminal erfolgt über den Aufruf
POST /auth/verify-pinmit dem Body{"pin": "...", "tenant_id": "..."}. - Das Backend prüft die PIN gegen die Tabelle
users. Da die PIN innerhalb des Mandanten eindeutig ist, wird der Benutzer ohne vorherige Namensauswahl identifiziert. - Bei erfolgreicher Validierung wird ein JWT-Token ausgestellt, welches die
sub(Username),tenant_idundroleenthält. - Versucht ein
servereine geschützte Funktion (z. B. Storno), fordert das Frontend den EndpunktPOST /auth/verify-pinmit einer Admin-PIN an, um die Einzelaktion per Autorisierungstoken zu freizugeben.
Häufige Probleme#
1. Invalid PIN#
- Meldung:
Invalid PIN - Ursache: Am Kassen-Terminal oder im Authentifizierungs-Dialog wurde eine falsche oder nicht existierende PIN eingegeben.
- Lösung: Prüfen Sie die PIN. Wenn der Mitarbeiter seine PIN vergessen hat, muss ein Admin in der Personalverwaltung unter Zugriff aktualisieren eine neue 4-stellige PIN vergeben.
2. Incorrect username or password#
- Meldung:
Incorrect username or password - Ursache: Bei der Anmeldung am Backoffice wurden Benutzername oder Hauptpasswort falsch eingegeben.
- Lösung: Überprüfen Sie Groß-/Kleinschreibung des Benutzernamens oder setzen Sie das Passwort über das Admin-Portal zurück.
3. Staff member not found#
- Meldung:
Staff member not found - Ursache: Es wurde versucht, ein Benutzerprofil zu bearbeiten oder zu löschen, das in der Datenbank nicht mehr existiert.
- Lösung: Aktualisieren Sie die Personalliste im Backoffice (Seite neu laden).
4. Username already registered#
- Meldung:
Username already registered - Ursache: Beim Anlegen eines neuen Mitarbeiters erzeugt das System einen internen Benutzernamen, der im Mandanten bereits vergeben ist.
- Lösung: Vergeben Sie im Feld Vollständiger Name einen leicht abgeänderten Namen (z. B. mit Mittelinitiale).
5. Admin role required#
- Meldung:
Admin role required - Ursache: Ein Benutzer mit der Rolle
serverodermanagerversucht, die Personalverwaltung zu öffnen oder PINs anderer Mitarbeiter zu ändern. - Lösung: Melden Sie sich als Administrator an. Nur Benutzer mit der Systemrolle
admindürfen Benutzerkonten verwalten.
6. Not your tenant#
- Meldung:
Not your tenant - Ursache: Ein Administrator versucht, auf Mitarbeiterdaten eines fremden Mandanten zuzugreifen.
- Lösung: Stellen Sie sicher, dass Ihr Benutzerkonto dem korrekten Mandanten zugeordnet ist.
7. Access denied#
- Meldung:
Access denied - Ursache: Der angemeldete Benutzer besitzt keine gültigen Token-Rechte für die angeforderte Aktion.
- Lösung: Melden Sie sich am Terminal ab und mit dem passenden Konto bzw. Admin-PIN erneut an.
8. Only system admins can change mode or status#
- Meldung:
Only system admins can change mode or status - Ursache: Ein lokaler Administrator versucht, den globalen System-Status des Mandanten zu verändern.
- Lösung: Diese Aktion ist dem System-Superadmin vorbehalten.
Grenzen#
- Die Schnell-PIN am Kassen-Terminal ist aus Ergonomiegründen auf exakt 4 Ziffern beschränkt.
- Benutzerdefinierte Rechteprofile außerhalb von
server,managerundadminkönnen aktuell nicht frei konfiguriert werden.
Dieses Kapitel gehört zum Merkuron-Handbuch für Inhaber und Servicepersonal.