Konfiguration¶
Voraussetzungen am CCO Manager¶
Die Table Areas, auf die die Pläne der tableplan.json zeigen
(plans[].tableArea), müssen am Manager existieren und dem Org-Knoten
der Kasse (bzw. root) zugewiesen sein.
Stockwerke und Bereiche bildet man über Table Areas ab: eine Area pro Etage, ein Plan pro Area. Der Stockwerk-Wechsler (Dropdown links unten in der Tischübersicht) erscheint erst ab zwei für die Kasse sichtbaren Areas.
Berechtigungen¶
Das Plugin bringt keine eigenen Rollen mit, sondern nutzt vorhandene CCO-Berechtigungen:
| Berechtigung | Wirkung im Tischplan |
|---|---|
SETTINGS_SCREEN |
Zeigt den Knopf „Plan bearbeiten". Wer die Kasseneinstellungen öffnen darf, darf auch den Raum umstellen — eine Servicekraft sieht den Knopf nicht. |
TABLE_SEE_AMOUNT_OF_OTHER_TABLES |
Zeigt Beträge auch auf Tischen anderer Kellner (orange). Ohne die Berechtigung sieht man dort nur den Kellnernamen. |
Plugin-Einstellungen¶
Unter Konfiguration → Plugins → TablePlanPlugin an der Kasse (bzw. per Umgebungsvariable, etwa im Container):
| Einstellung | Umgebungsvariable | Bedeutung |
|---|---|---|
hubUrl |
TABLEPLAN_HUB_URL |
Adresse des Tischplan-Hubs. Leer = kein Hub, die Kasse arbeitet nur mit ihrer lokalen Datei. |
hubToken |
TABLEPLAN_HUB_TOKEN |
Zugangstoken für den Hub. |
hubTenant |
TABLEPLAN_HUB_TENANT |
Name des Betriebs am Hub (Default default). |
hubPollSeconds |
— | Wie oft die Kasse den Hub im Hintergrund nach Änderungen fragt (Default 20 Sekunden; die Anfrage ist ein paar hundert Byte klein). |
Die Umgebungsvariable dient als Vorgabe; ein in den Plugin-Einstellungen gesetzter Wert geht vor.
Die Layoutdatei¶
Der Plan liegt als tableplan.json neben dem Plugin-Jar
(<POS-Datenverzeichnis>/POSPlugins/AP/tableplan.json). Aufbau, Felder und
Beispiele: tableplan.json — Layout-Format.
Die Datei wird zur Laufzeit gelesen: Beim Öffnen des Tischplan-Tabs holt
die Oberfläche den aktuellen Stand — eine Änderung wirkt sofort, ohne
Kassenneustart. Jede Speicherung schreibt atomar und legt Sicherungen an
(tableplan.json.1 … tableplan.json.5).
Die Tab-Beschriftung steuert das Feld title in der Datei (Default
„Tischplan"; die Kasse rendert Tab-Beschriftungen in Großbuchstaben).
Zugriff über Rechnernamen oder Reverse Proxy¶
Die Kasse akzeptiert schreibende Aufrufe (z. B. das Speichern des Plans) nur,
wenn die Adresse im Browser zu ihr passt — localhost, ihr eigener
Rechnername oder eine ihrer IP-Adressen. Wird die Kassen-Oberfläche unter
einem anderen Namen aufgerufen (DNS-Alias, Reverse Proxy), muss dieser Name
in der CCO-Einstellung internal.web.server.remoteAccessAllowedHosts
(customerCheckout.properties) stehen. Lesen funktioniert auch ohne — der
Tischplan erscheint dann zwar, aber Speichern scheitert mit HTTP 403.