Zur Startseite Live-Demo

Tischplan, Saalplan und Stellplätze

Wozu dient das?#

Der visuelle Tisch- und Saalplan bietet Ihrem Servicepersonal eine grafische Echtzeit-Übersicht über den gesamten Gastraum oder den Fahrzeug-Stellplatzbereich. Sie erkennen sofort, welche Tische frei, belegt oder im Status der Rechnungsanforderung sind, wie viele Gäste platziert sind und wie hoch der aktuelle Bonbetrag ausfällt. Das System ermöglicht das schnelle Umsetzen von Gästen, das Aufteilen von Rechnungen unter mehreren Zahlern sowie den nahtlosen Wechsel in die Stellplatz-Logik für Werkstätten und Vermietbetriebe.

Voraussetzungen#

  • Ein im Backoffice angelegter Tischplan oder ein Grundriss-Layout.
  • Eine aktiv geöffnete Standort-Schicht (→ Kapitel 12), um Bestellungen auf Tischen oder Stellplätzen aufzunehmen.

Der Tischplan im Überblick#

Tischplan-Übersicht Der Saalplan als Karte: freie Tische grau, belegte Tische mit Umrandung und offenem Betrag, rechts oben die Schaltflächen Reservierungen und Karte oder Liste. Tischplan-Übersicht Wählen Sie einen Tisch aus, um Bestellungen zu verwalten. Reservierungen Karte Liste BENUTZERDEFINIERTES LAYOUT 1 4 59,80 € 2 4 3 2 4 6 38,60 € 5 4 17,80 € 6 4 7 2 8 8 9 4 B1 2 B2 2 B3 2 1 2 3 4 5
Tischplan-Übersicht als Karte: freie Tische grau, belegte Tische mit Umrandung und Betrag, ein Tisch in der Abrechnung braun
  • 1 Reservierungen öffnet das Seitenfenster mit den Buchungen des Tages (→ Kapitel 30).
  • 2 Karte und Liste wechseln zwischen dem Saalplan und einer Liste der Tische.
  • 3 Ein freier Tisch ist grau und zeigt Tischnummer und Plätze.
  • 4 Ein belegter Tisch ist umrandet und trägt den offenen Betrag als Schild.
  • 5 Ein Tisch, für den Abrechnen / Bon erstellen angetippt wurde, ist braun umrandet: Er wird gerade abgerechnet.

Reservierte, wartende und veraltete Tische haben eigene Farben (Indigo, Gelb, Rot). Über der Karte steht, ob ein eigenes Layout (BENUTZERDEFINIERTES LAYOUT) oder das Standardlayout gilt.

Bildschirm für Bildschirm#

1. Kopfzeile der Tischübersicht (ResourceOverview.tsx)#

Oberhalb der Tischfläche befindet sich die Steuerungsleiste:

  • Haupttitel:
    • Im Restaurantmodus: **Tischplan-Übersicht** (t("table_overview")).
    • Im Werkstatt-/Vermietungsmodus: **Stellplatz-Übersicht** (t("bay_overview")).
  • Untertitel:
    • Im Restaurantmodus: Wählen Sie einen Tisch aus, um Bestellungen zu verwalten. (t("select_a_table_to_manage_transactions")).
    • Im Werkstattmodus: Wählen Sie einen Stellplatz aus, um Buchungen zu verwalten. (t("select_a_bay_to_manage_transactions")).
  • Schaltfläche Reservierungen (t("reservations")): Öffnet das seitliche Reservierungs-Panel mit der Tagesübersicht und der Warteliste.
  • Ansichten-Umschalter:
    • Button **Karte** (t("map")): Grafischer Saalplan mit maßstabsgetreuer Tischanordnung.
    • Button **Liste** (t("list")): Übersichtliche Kachelansicht aller Tische mit Status und Beträgen.
  • Layout-Modus-Badge: Zeigt an, ob das **Standard-Layout** (t("default_layout")) oder ein **Benutzerdefiniertes Layout** (t("custom_layout")) geladen ist.
  • Verbindungs-Anzeige: Zeigt im Live-Betrieb an, wie viele Geräte verbunden sind (z. B. 2 Geräte verbunden / t("devices_connected_count")) bzw. signalisiert den Status Offline (t("offline")).

2. Grafischer Saalplan (tables.floor_plan)#

Der Saalplan stellt die Tischfläche visuell dar:

  • Zonen-Beschriftungen: Markierungen für den **Hauptbereich** (t("main_zone")) und den **Nebenbereich** (t("secondary_zone")).
  • Tischkacheln:
    • Form: Quadratisch (square), Rund (round) oder Länglich (long).
    • Tischnummer / Label: Große, fett gedruckte Tischnummer (z. B. Tisch 4).
    • Gästezahl: Kapazitätsanzeige (z. B. 4/6 oder 4 Plätze / t("seats_count")).
    • Betrags-Badge: Bei belegten Tischen wird unten rechts ein dunkles Badge mit dem aktuellen Gesamtbetrag eingeblendet (z. B. €45.50).
    • Details-Button (Info): Kleines Info-Icon oben rechts an der Kachel, das beim Drüberfahren erscheint und den Detail-Overlay (TableDetailOverlay) öffnet.

3. Tisch-Kontextmenü (ResourceContextMenu.tsx)#

Durch Rechtsklick oder langes Drücken auf eine Tischkachel öffnet sich das Schnellmenü:

  • Button **Tisch besetzen** (t("seat_table")): Öffnet eine neue Gast-Sitzung.
  • Button **Transaktion öffnen** (t("open_transaction")): Springt direkt in die Bestellmaske des Tisches.
  • Button **Abrechnung festlegen** (t("set_billing")): Setzt den Tisch auf den Status Rechnungsanforderung.
  • Button **Tisch leeren** (t("clear_table")): Schließt die Sitzung ab und gibt den Tisch wieder frei.

4. Umbuchungsdialog (TransferDialog.tsx)#

Beim Umsetzen eines Tisches öffnet sich das Umbuchungsfenster:

  • Header: Titel **Tisch umbuchen** (t("transfer_table_title")) bzw. **Stellplatz umbuchen** (t("transfer_bay_title")), Untertitel Von Tisch 4 (t("from_resource_label")).
  • Zielbereich: Überschrift **Ziel-Tisch auswählen** (t("select_target_table")) bzw. **Ziel-Stellplatz auswählen** (t("select_target_bay")).
  • Zielkacheln: Raster aller freien Tische mit Tischnummer und Sitzplätzen (4 Plätze / t("seats_count")).
  • Warnanzeige bei Vollbelegung: Sind keine freien Tische vorhanden, erscheint der Text Keine Tische verfügbar / Alle anderen Tische sind derzeit belegt..
  • Aktions-Buttons: Grauer Button **Abbrechen** (t("cancel")) und blauer Haupt-Button **Umbuchung bestätigen** (t("confirm_transfer")).

5. Rechnung aufteilen#

Das Aufteilen einer Rechnung unter mehreren Gästen geschieht nicht am Tischplan, sondern in der Abrechnung über die Kachel BESTELLUNG AUFTEILEN (Dialog Bestellung aufteilen). Den Weg beschreibt Kapitel 13a (→ Kapitel 13a).


Tisch-Lebenszyklus einstellen#

Wie ein Tisch belegt und wieder frei wird, legt der Administrator im Backoffice unter TISCH-LEBENSZYKLUS fest (→ Kapitel 20).

Tisch-Lebenszyklus Backoffice-Einstellung Tisch-Lebenszyklus mit der Aktivierungsregel Erste Bestellung oder Manuelle Platzierung und der Freigaberegel Manuell freigeben oder Automatisch freigeben, darunter die Gästezahl-Erfassung PAX. BACKOFFICE VERLASSEN >_ BACKOFFICE Verwaltung PRODUKT-LAYOUT MENÜ-EDITOR LAGERVERWALTUNG PREIS- & RABATTREGELN RAUMPLAN-EDITOR TISCH-LEBENSZYKLUS GESCHÄFT FISKAL DRUCKEN GERÄTE ROLLEN & BERECHTIGUNGEN KI-ASSISTENT INHABER-DASHBOARD SCHICHTVERWALTUNG KARTENABSTIMMUNG DATENEXPORTE NEUER MANDANT QR-CODES KUNDEN STANDORTE GUTSCHEINE ARBEITSZEIT KORRIGIEREN MARKETING PMS FRANCHISE BRANDING Tisch-Lebenszyklus Konfigurieren Sie, wie Tische zwischen Zuständen wechseln. EINSTELLUNGEN Tisch-Lebenszyklus AKTIVIERUNGSREGEL Erste Bestellung Automatisch belegen beim ersten Artikel Manuelle Platzierung Expliziter Check-in durch Personal FREIGABEREGEL (LEEREN) Manuell freigeben Personal muss Tisch freigeben Automatisch freigeben Freigeben bei Zahlung Gästeanzahl (PAX) Tracking Verwalten Sie Gedecke und die Sichtbarkeit der Auslastung. 1 2 3
Einstellung Tisch-Lebenszyklus mit Aktivierungsregel, Freigaberegel und Gästeanzahl-Erfassung
  • 1 AKTIVIERUNGSREGEL: Bei Erste Bestellung wird der Tisch beim ersten Artikel automatisch belegt. Bei Manuelle Platzierung setzt das Personal die Gäste ausdrücklich an den Tisch (Tisch besetzen).
  • 2 FREIGABEREGEL (LEEREN): Bei Manuell freigeben muss das Personal den Tisch mit Tisch leeren freigeben. Bei Automatisch freigeben wird er bei der Zahlung frei.
  • 3 Gästeanzahl (PAX) Tracking: schaltet die Erfassung der Gäste je Tisch ein (Gäste-Tracking aktivieren). Darunter legen Sie fest, wo die Zahl erscheint: Gästeanzahl auf Tischkacheln anzeigen, Auf dem Saalplan anzeigen, Auf dem Betriebsmonitor anzeigen und Gästestatistiken im Dashboard anzeigen. Die Zahl wird für Pro-Kopf-Berichte und Kapazitätsprüfungen gebraucht.

Wählen Sie die Regeln und tippen Sie auf Service-Richtlinien speichern. Eine Servicegebühr stellen Sie hier nicht ein; diese Maske kennt sie nicht.

Schritt für Schritt (mit Verzweigungen & Spezialfällen)#

1. Saalplan aufrufen und Ansicht wählen#

  1. Tippen Sie in der Hauptnavigation auf **Tische**.
  2. Wählen Sie oben rechts **Karte** für die grafische Raumansicht oder **Liste** für die Listenübersicht.
  3. Die Tischanordnung passt sich automatisch an das im Backoffice definierte Grundriss-Layout an.

2. Tischzustände und Farbkodierung unterscheiden#

Jeder Tisch signalisiert seinen Betriebsstatus durch eine eindeutige Farbgebung:

  • Frei (Neutral Grau): Keine aktive Sitzung, keine offenen Artikel.
  • Besetzt (Primärblau/Lila): Aktive Sitzung mit offenem Bon. Der Tisch ist besetzt (seated / occupied).
  • Rechnungsanforderung (Amber/Gelb): Das Servicepersonal hat für den Tisch **Abrechnung festlegen** gewählt (billing). Das System signalisiert, dass die Gäste zahlen möchten.
  • Reserviert (Indigo/Violett): Der Tisch ist für eine anstehende Reservierung vorgemerkt. Das Kassensystem überwacht anstehende Reservierungen automatisch: Liegt für einen freien Tisch eine bestätigte Reservierung vor, die innerhalb der nächsten 60 Minuten beginnt (oder bereits läuft), wechselt der Tisch selbsttätig in den Zustand Reserviert. Auf der grafischen Karte erscheint die Tischkachel mit violetter Füllung und markantem Indigo-Rahmen, in der Listenansicht mit dezentem Indigo-Hintergrund und Indigo-Statusanzeige. Das Servicepersonal erkennt so auf einen Blick, dass der Tisch freigehalten werden muss und nicht an Laufkundschaft vergeben werden darf. Werden die Gäste platziert (→ Kapitel 30), wechselt der Tisch automatisch auf Besetzt; wird die Reservierung storniert oder als No-Show markiert, schaltet er sofort wieder auf Frei zurück.
  • Warten (Amber-Orange): Auf dem Tisch befinden sich Artikel, deren Zubereitung in der Küche noch aussteht (waiting).
  • Überfällig / Stale (Rot): Der Tisch wurde seit längerer Zeit nicht mehr bedient (stale).

3. Bestellung aufnehmen & Mehrbediener-Szenario#

  1. Tippen Sie auf einen freien oder belegten Tisch.
  2. Das Kassensystem öffnet die Bestellansicht (TransactionWorkspace) für diesen Tisch.
  3. Spezialfall — Zwei Bediener am selben Tisch: Öffnet Kellner A Tisch 4 auf Terminal 1 und tippt Getränke ein, sieht Kellner B auf Terminal 2 über die Echtzeit-Synchronisation sofort die von Kellner A hinzugefügten Artikel. Beide Kellner können gleichzeitig Artikel hinzufügen. Im System-Protokoll wird jeder Artikel exakt mit der ID des Bedieners gestempelt, der den Artikel ausgewählt hat.

4. Tisch umbuchen (Gäste wechseln den Tisch)#

  1. Wenn Gäste an einen anderen Tisch wechseln, tippen Sie in der Bestellansicht auf **Umbuchen** (oder wählen Sie im Kontextmenü **Tisch umbuchen**).
  2. Es öffnet sich der Dialog **Tisch umbuchen**.
  3. Tippen Sie unter **Ziel-Tisch auswählen** auf den neuen freien Tisch (z. B. Tisch 8).
  4. Bestätigen Sie mit **Umbuchung bestätigen**.
  5. Verzweigung — Kein freier Tisch: Wenn alle anderen Tische belegt sind, zeigt der Dialog Keine Tische verfügbar. Sie müssen erst einen Tisch freigeben oder Rechnungen zusammenführen, bevor umgebucht werden kann.
  6. Nach der Umbuchung wandert die gesamte Bestellung inklusive aller Artikel und Notizen auf Tisch 8. Tisch 4 wird automatisch als frei freigegeben.

5. Rechnungen aufteilen (Getrennte Bezahlung)#

  1. Wenn Gäste getrennt zahlen möchten, tippen Sie in der Bestellansicht auf **Aufteilen**.
  2. Wählen Sie **Nach Artikeln** (einzelne Produkte den Zahlern zuordnen) oder **Gleiche Aufteilung** (Gesamtsumme durch die Anzahl der Personen teilen).
  3. Verzweigung — Aufteilung nicht möglich: Versuchen Sie eine Bestellung aufzuteilen, die sich bereits im Bezahl- oder Stornoprozess befindet, verweigert der Server die Aktion mit dem Fehler Cannot split order in this status.
  4. Nach Bestätigung mit **Aufteilung bestätigen** werden die getrennten Rechnungsbons nacheinander kassiert.

6. Werkstatt- und Vermietungsmodus (Stellplatz-Variante)#

In Betrieben mit der Branchen-Konfiguration Vermietung / Werkstatt (rental_workshop) schaltet die Benutzeroberfläche automatisch auf Stellplätze um:

  • Tischnummern werden als Stellplätze ausgewiesen (z. B. Stellplatz 1 über den Sprachschlüssel bay_label: "Stellplatz {{label}}").
  • Der Titel wechselt zu **Stellplatz-Übersicht** (bay_overview) mit der Anweisung Wählen Sie einen Stellplatz aus, um Buchungen zu verwalten..
  • Der Umbuchungsdialog zeigt **Stellplatz umbuchen** (transfer_bay_title) und **Ziel-Stellplatz auswählen** (select_target_bay).
  • Die Funktionsweise der Buchungen, Kautionen und Zeiterfassungen entspricht exakt der Tischlogik.

Was passiert im Hintergrund#

  • Bei der Auswahl eines Tisches wird im Backend die Schnittstelle /api/v1/orders aufgerufen, um die verknüpfte table_id abzufragen.
  • Bei einer Tischumbuchung (tablesApi.transferTable) führt das Backend ein atomares Update der table_id in der orders-Tabelle aus und aktualisiert die Zustände beider Tische in einer gemeinsamen Datenbank-Transaktion.
  • Änderungen des Tischstatus (z. B. von free auf occupied oder billing) werden über Redis-Pub/Sub per WebSocket in Echtzeit an alle verbundenen POS-Terminals gestreamt.
  • Der Kassen-Tischplan fragt laufend die Statusübersicht aller Tische ab. Hierbei vergleicht das System offene Bestellungen und anstehende Reservierungen innerhalb eines 60-Minuten-Zeithorizonts, um freie Tische rechtzeitig als reserviert einzufärben.
  • Die Freigabe von Tischen nach der Bezahlung richtet sich nach den eingestellten Tisch-Lebenszyklus-Richtlinien (activation_rule und release_rule).

Häufige Probleme#

1. Table not found#

  • Ursache: Die übermittelte Tisch-ID existiert nicht in der Datenbank des aktuellen Mandanten (HTTP 404 Not Found).
  • Lösung: Aktualisieren Sie den Tischplan über das Umschalten von Karte auf Liste und zurück, um die aktuellen Tischdaten vom Server neu zu laden.

2. Table plan not found#

  • Ursache: Für den gewählten Standort wurde im Backoffice noch kein aktiver Tischplan konfiguriert (HTTP 404 Not Found).
  • Lösung: Rufen Sie als Administrator im Backoffice den **Raumplan-Editor** (floor_plan_editor) auf und aktivieren Sie ein Tischplan-Layout.

3. DUPLICATE_TABLE_NUMBER#

  • Ursache: Beim Anlegen oder Bearbeiten von Tischen im Backoffice wurde eine Tischnummer vergeben, die am selben Standort bereits existiert (HTTP 400 Bad Request).
  • Lösung: Vergeben Sie im Raumplan-Editor eine eindeutige Tischnummer oder Kennung.

4. Cannot split order in this status#

  • Ursache: Es wurde versucht, eine Bestellung aufzuteilen, die bereits als bezahlt (PAID), storniert (VOIDED) oder geschlossen (CLOSED) markiert ist (HTTP 400 Bad Request).
  • Lösung: Aufteilungen können nur bei aktiven, offenen Bestellungen durchgeführt werden.

5. No open bill found for this table#

  • Ursache: Auf dem Tisch wird der Status billing angezeigt, es existiert jedoch keine offene Rechnung in der Datenbank (HTTP 404 Not Found).
  • Lösung: Wählen Sie im Tisch-Kontextmenü die Aktion **Tisch leeren** (clear_table), um den verwaisten Status zurückzusetzen.

6. Table is already reserved for this time slot#

  • Ursache: Der Tisch kann nicht für eine neue Reservierung ausgewählt werden, da im selben Zeitfenster bereits eine andere Reservierung vorliegt (HTTP 409 Conflict).
  • Lösung: Wählen Sie über den Button **Reservierungen** einen alternativen freien Tisch aus oder passen Sie die Reservierungszeit an.

7. Table is unavailable or exceeds capacity for the selected time window#

  • Ursache: Die eingegebene Personenzahl (PAX) übersteigt die maximale Kapazität des ausgewählten Tisches (HTTP 400 Bad Request).
  • Lösung: Weisen Sie der Gruppe einen größeren Tisch zu oder kombinieren Sie zwei Tische im Saalplan.

8. Keine Tische verfügbar / Alle anderen Tische sind derzeit belegt.#

  • Ursache: Das Servicepersonal versucht eine Tischumbuchung durchzuführen, es befindet sich jedoch kein einziger freier Tisch im gesamten Raumplan.
  • Lösung: Schließen und kassieren Sie zuerst einen besetzten Tisch oder führen Sie die Rechnungen zweier Tische über die Aufteilungs-Funktion zusammen.

Rollen & Berechtigungen#

  • admin & manager: Vollmacht zum Erstellen und Bearbeiten von Tischplänen im Grundriss-Editor, Anpassen von Raum-Zonen, Umbuchen von Tischen sowie zur Konfiguration der Tisch-Lebenszyklus-Richtlinien.
  • waiter: Berechtigung zum Einsehen des Saalplans, Besetzen von Tischen, Aufnehmen von Bestellungen, Anfordern von Abrechnungen (set_billing), Umbuchen von Tischen auf freie Ziel-Tische und Aufteilen von Rechnungen.
  • auditor / inspector: Schreibgeschützter Lesezugriff auf den Saalplan und die historischen Tisch-Serviceverläufe.

Grenzen#

  • Das grafische Verschieben, Rotieren oder Neugestalten von Tischformen ist ausschließlich im Backoffice-Raumplan-Editor (floor_plan_editor) möglich und kann nicht direkt im laufenden Kassenservice durchgeführt werden.
  • Das Verschieben von einzelnen Artikeln zwischen zwei Tischen, die beide bereits besetzt sind, erfordert das Aufteilen der Quell-Bestellung und das anschließende Zusammenführen der Bons.

Dieses Kapitel gehört zum Merkuron-Handbuch für Inhaber und Servicepersonal.