EVENTRA Docs
Event Operations

Gastronomy & POS System

POS codes for bar staff: map tasks to roles, create accounts in the POS system and distribute codes by email.

Anyone taking payments at the bar needs a personal login code for the POS system. The Gastronomie area connects the shift plan to the till: it creates the missing POS accounts, assigns codes and sends them to exactly the people confirmed for a POS-relevant task.

Feature add-on

Gastronomie is a paid add-on. Without it the menu entry does not appear. You also need at least the full planning permission tier.

You find the area in the sidebar below the event switcher as Gastronomie.

Prerequisite: set up the connection

Before the page can do anything, the POS integration has to be configured under Einstellungen › BookZuck.

Connection

Every tenant has its own BookZuck installation. Enter the API base URL here -- the root of the dynamic API, without a trailing /alluser or /user:

https://<host>/api/dynamic-api

Username and password are stored server-side and are not visible in the UI. Leaving the field empty falls back to the server-configured URL.

Code types

There are three roles. Only active code types can be mapped to tasks and appear in the gastro overview -- at least one must stay active.

RoleWhat the code is for
Verkäufer (seller)Login code for the payment device at the bar.
Bar HeadCode with void permission and access to the ordering system.
Ausgabe (dispense)Task mapping only. Accounts are maintained manually in the POS system.

Role IDs

Each active role needs its systemRole ID from this tenant's BookZuck installation. Without these IDs no accounts can be created.

Email texts

The wording of the code email is freely editable per code type and per language; recipients get the version in their own language. You can edit subject, heading, intro, note about the code, note about the profile, info card (title and bullet points, one per line), callout box, the text and label of the button plus its link, and the closing.

  • An empty field removes that block from the email.
  • Standard restores the original text.
  • The preview shows every change immediately as it will arrive on the phone (with sample data and code 4821).
  • Testmail an mich senden sends the current version to your own address.

Available placeholders are {firstName}, {event} and {date} (e.g. "12. August 2026"). **bold** and [link text](https://…) are also supported.

Step 1: map tasks to roles

At the top of the gastro page sits the Tätigkeiten card: "Lege fest, welche Tätigkeiten einen Kassen-Code benötigen und in welcher Rolle."

Assign a role to every POS-relevant task -- for example "Barkraft" → Verkäufer, "Barleitung" → Bar Head. Tasks without a mapping never appear in the staff table.

Empty table?

If you see "Keine Mitarbeiter mit bestätigten Schichten auf Kassen-Tätigkeiten gefunden", then either no task has been mapped to a role yet, or nobody has confirmed a shift on such a task. Only confirmed shifts count.

Step 2: read the staff table

ColumnContent
MitarbeiterName and profile picture
TätigkeitThe POS-relevant task of the confirmed shift
RolleThe POS role EVENTRA expects
KassensystemAccount status in BookZuck
CodeThe stored code -- hidden by default, revealed via Code anzeigen
E-MailWhether the current code has already been sent

Account status

StatusMeaning
OKAccount exists, code set, role matches.
Kein KontoNo account exists for this email address.
Kein CodeAccount exists, but no code has been set yet.
InaktivThe POS account is deactivated.
Rolle abweichendThe POS system holds a different role than EVENTRA expects.
ManuellDispense accounts. EVENTRA neither creates them nor sends codes.

If at least one role deviates, a note appears above the table: "n Mitarbeiter haben im Kassensystem eine abweichende Rolle. Synchronisieren ersetzt die hinterlegte Rolle durch die in EVENTRA erwartete."

Email status

  • Ausstehend -- the current code has not been sent yet.
  • Versendet -- the current code has gone out; the tooltip names the time.

„Current“ means: this code

When a code is reissued, that person's email status flips back to Ausstehend -- the old mail shows a code that no longer works.

Step 3: synchronise and send

The full run. Alle Synchronisieren does all of the following in one go:

  • creates missing accounts in the POS system,
  • assigns codes to everyone without one,
  • replaces deviating roles with the one EVENTRA expects,
  • sends emails to everyone who has not received their current code.

A confirmation dialog gates the run. Afterwards a toast reports what happened -- e.g. "3 Kontos erstellt", "5 Codes vergeben", "2 Rollen aktualisiert", "7 E-Mails gesendet". If there was nothing to do: "Alles bereits aktuell".

Sends emails only to staff who have not yet received their current code. Nothing is changed in the POS system.

Sends the codes again to all staff with confirmed shifts -- including those who already have their current code. Dispense accounts are skipped because they are managed manually. Again, nothing is changed in the POS system.

Every row has its own sync action. It creates the account if missing, assigns a code if none is set, and sends the email if the current code has not gone out yet.

Error messages

„Das Kassensystem ist nicht konfiguriert.“

The settings under Einstellungen › BookZuck are incomplete -- usually the role IDs or the API base URL are missing.

„Das Kassensystem ist nicht erreichbar.“

The BookZuck installation is not responding. Erneut versuchen repeats the request; otherwise check the base URL.

Feedback after sending

A bulk send also reports what did not work: "n ohne Code im Kassensystem", "n ohne E-Mail-Adresse", "n fehlgeschlagen" or "Keine Empfänger gefunden". People without a stored email address cannot receive a code.

On this page