From f038311614ac828e8705930c72816f1d704b3a2c Mon Sep 17 00:00:00 2001 From: DanielS Date: Wed, 11 Nov 2026 23:53:46 +0100 Subject: [PATCH] casposbridge README: results from the CASPOS 4.12.3 test POS Co-Authored-By: Claude Opus 5.5 --- modules/casposbridge/README.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/modules/casposbridge/README.md b/modules/casposbridge/README.md index 788b3c8e2..000621e94 100644 --- a/modules/casposbridge/README.md +++ b/modules/casposbridge/README.md @@ -73,11 +73,19 @@ docker compose -f docker-compose.yml -f docker-compose.server.yml exec -d -u www docker compose -f docker-compose.yml -f docker-compose.server.yml exec -u www-data app php docker/test-casposbridge.php ``` -## Gegen eine echte Kasse noch zu prüfen +## Erfahrungen mit einer echten Kasse (CASPOS 4.12.3, 2026-11-11) -Die API ist aus dem Quellcode der CASPOS OrderApp (`lib/api/api.dart`) abgeleitet, nicht aus einer Doku: +Die API ist aus dem Quellcode der CASPOS OrderApp (`lib/api/api.dart`) abgeleitet; an einer Testkasse bestätigt: -- Einheit von `enteredPrice` (Annahme: Cent) – nur relevant für `@preis`. -- Legt `openByName` unbekannte Tische an oder müssen sie existieren? -- Muss der Client einmalig in der Kasse freigeschaltet werden? -- Verhalten von `finalizeOrder` gegenüber TSE und Bonausgabe (Bestellbon für Zimmer-Tische ggf. abschalten). +- **Gerät freischalten:** Beim ersten Kontakt erscheint „Hotel QloApps“ im *Order-App Gerätemanager* der Kasse + und muss dort eingeschaltet werden (vorher 403 „Dieses Gerät ist in der CASPOS noch nicht aktiviert“). + Die Kasse erkennt den Gerätetyp am User-Agent: nur Clients mit `OrderApp/…` lassen sich aktivieren, alles + andere wird als „Orderman“ geführt und ist gesperrt. Das Modul sendet deshalb `OrderApp/1.4.0 (linux) QloApps-CasposBridge/1.0`. + Jedes aktivierte Gerät belegt eine der OrderApp-Lizenzen („x / 4 Geräte aktiviert“). +- **Kellner:** Kellner-Nummer und Schlüssel des Kassierers (z. B. KS 01 = `1`). +- **Tischnummern:** Jeder Tischbereich hat einen festen Nummernbereich; andere Nummern lehnt die Kasse mit + „Ungültige Tischnummer … für den gewählten Servicebereich“ ab. Freie Tische im Bereich öffnet `openByName` + selbst. Die Zimmernummern in QloApps müssen also gültige Tischnummern des Hotel-Bereichs sein (Testkasse: 101 …). +- **Preise:** `enteredPrice` ist in Cent (gesendet 14500 → 145,00 €; `bookedAmount` des Tisches ebenfalls in Cent). +- **Abschluss:** Nach `finalizeOrder` stehen die Positionen mit Status `committed` auf dem Tisch. +- Noch an der Kasse anzusehen: ob für Zimmer-Tische ein Bestellbon gedruckt wird und wie die TSE den Vorgang protokolliert.