Zum Inhalt springen

Tickets

Ein Ticket ist ein Eintrag in einer Warteschlange, der einem Kunden bei seinem Beitritt ausgestellt wird. Es ist die zentrale Einheit des Warteschlangensystems — von der Anzeige bis zur Schalter-Oberfläche dreht sich alles um Tickets.

  • Ticketnummer — eine fortlaufende Ganzzahl, sichtbar für den Kunden, gedruckt auf dem Kiosk-Beleg, angezeigt auf der Anzeige und sichtbar in der Warteliste am Schalter. Nummern gelten pro Warteschlange und steigen monoton — sie werden nie zurückgesetzt.
  • Ticket-Hash — eine 22 Zeichen lange Zufallszeichenfolge mit 128 Bit Entropie. Dieser Hash ist der anonyme Berechtigungsnachweis des Kunden (siehe unten).
  • Status — einer von sechs Werten (siehe unten).
  • Warteschlange — die Warteschlange, zu der das Ticket gehört.
  • Zeitstempel — wann das Ticket erstellt, aufgerufen, abgeschlossen usw. wurde.
  • Anmerkungen (optional) — vom Personal erfasste Metadaten: Kundenname, Personenzahl und eine Freitextnotiz. Siehe Ticket-Anmerkungen.

Ein Ticket durchläuft während seines Lebenszyklus folgende Status:

StatusEndgültig?Bedeutung
WAITINGNeinDer Kunde befindet sich in der Warteschlange und wartet darauf, aufgerufen zu werden.
CALLEDNeinEin Schalter hat dieses Ticket aufgerufen; der Kunde sollte zum Tresen kommen.
SKIPPEDNeinDer Schalter hat dieses Ticket übersprungen. Erneut aufrufbar — das Personal kann es zurück in den Status WAITING versetzen.
COMPLETEDJaDer Schalter hat die Bedienung als abgeschlossen markiert.
CANCELEDJaDer Kunde hat seinen eigenen Platz in der Warteschlange storniert.
NO_SHOWJaDer Schalter hat bestätigt, dass der Kunde nicht erschienen ist. Wird in der Analyse getrennt von SKIPPED gezählt.
WAITING → CALLED → COMPLETED
↘ SKIPPED → WAITING (Schalter ruft den Kunden erneut auf)
↘ NO_SHOW (Schalter bestätigt Abwesenheit)
↘ CANCELED (Kunde storniert seinen aufgeschobenen Platz)
WAITING → CANCELED (vom Kunden ausgelöst)
CALLED → CANCELED (vom Kunden ausgelöst)
SKIPPED → CANCELED (vom Kunden ausgelöst — entfernt aus dem Pool erneut aufrufbarer Tickets)

SKIPPED ist ein erneut aufrufbarer Aufschub — der Kunde wurde übersprungen, aber das Ticket ist weiterhin aktiv. Das Personal kann den Kunden mit der Aktion Zurück in die Warteschlange in der Nachschlage-Ansicht des Schalters zurückrufen, oder indem es innerhalb von 5 Sekunden nach dem Überspringen Rückgängig drückt. Das Push-Abonnement eines übersprungenen Kunden bleibt aktiv, sodass die Rückruf-Push-Benachrichtigung ihn auch dann erreicht, wenn die Ticketseite geschlossen wurde.

NO_SHOW ist eine bestätigte, endgültige Abwesenheit. Das Ticket wird aus dem Pool erneut aufrufbarer Tickets entfernt und in der Analyse separat gezählt. Verwenden Sie dies, wenn Sie sicher sind, dass der Kunde gegangen ist.

Siehe Nichterscheinen behandeln für den vollständigen Schalter-Arbeitsablauf.

Das Personal kann über die Aktion Anmerkung hinzufügen am Schalter leichte Metadaten an jedes Ticket anhängen:

  • Kundenname — wird am Schalter jederzeit angezeigt. Auf der Anzeige nur, wenn die Einstellung Namentlich aufrufen der Warteschlange aktiviert ist, und selbst dann nur in gekürzter Form („Vorname N.“) — nie der vollständige Name.
  • Personenzahl — wird immer am Schalter angezeigt und an die Anzeige übertragen (eine wenig sensible Zahl).
  • Notiz — freie interne Notiz. Nur am Schalter; wird nie an Anzeige oder Kunde gesendet.

Ein Überspringungsgrund (eingegeben im Feld Grund für das Überspringen (optional), wenn ein Ticket übersprungen wird) wird im Notizfeld des Tickets gespeichert und ist in der Nachschlage-Ansicht des Schalters sichtbar.

Anmerkungen können jederzeit hinzugefügt oder aktualisiert werden, solange das Ticket keinen endgültigen Status erreicht hat.

Ein Ticket im Status WAITING kann über die Schaltfläche Verschieben am Schalter in eine andere Warteschlange desselben Standorts übertragen werden. Das ist nützlich, wenn ein Kunde der falschen Warteschlange beigetreten ist oder eine Einschätzung ergibt, dass er einen anderen Service benötigt.

Übertragungsregeln:

  • Nur Tickets im Status WAITING können übertragen werden. Tickets im Status CALLED müssen zuerst abgeschlossen, übersprungen oder als nicht erschienen markiert werden.
  • Quell- und Zielwarteschlange müssen sich am selben Standort befinden.
  • Die Zielwarteschlange muss ACTIVE sein.
  • Der Schalter muss sowohl der Quell- als auch der Zielwarteschlange zugewiesen sein.
  • Ein aktives Abonnement ist erforderlich.

Positionierung nach der Übertragung — das Ticket behält die ursprüngliche Beitrittszeit des Kunden zuzüglich eines 5-minütigen Zuschlags. Dies bewahrt die bereits abgeleistete Wartezeit und verhindert gleichzeitig, dass der Kunde Kunden überholt, die in der Zielwarteschlange bereits länger warten.

Der Ticket-Hash bleibt erhalten — die URL der Ticketseite des Kunden bleibt gültig. Das Ticket erhält in der Zielwarteschlange eine neue fortlaufende Nummer. Echtzeit-Aktualisierungen werden sofort an beide Warteschlangen gesendet.

Siehe den Abschnitt Ein Ticket in eine andere Warteschlange übertragen im Schalter-Leitfaden für eine schrittweise Anleitung.

Kunden sind anonym — für den Beitritt zu einer Warteschlange ist keine Anmeldung oder kein Konto erforderlich. Stattdessen dient der 22 Zeichen lange Ticket-Hash als Eigentumsnachweis des Kunden. Er ist in die URL der Ticketseite eingebettet:

https://customer.jonot.io/{org}/{location}/{queue}/{ticket-hash}/

Die Kenntnis des Hash beweist, dass Ihnen dieses Ticket gehört. Die API verwendet den Hash zur Autorisierung von:

  • ticketByHash — Ihr Ticket und Ihre Position nachschlagen
  • cancelTicket — Ihr eigenes Ticket stornieren (funktioniert für Tickets in WAITING, CALLED und SKIPPED)

Dieses Design ist beabsichtigt: Es beseitigt jede Reibung beim Beitritt zu einer Warteschlange. Kein Konto, keine App, kein Passwort — nur eine URL.

Der Hash hat 128 Bit Entropie (entspricht einer UUID v4), was es rechnerisch praktisch unmöglich macht, den Ticket-Hash eines anderen Kunden zu erraten.

Verifizierung bei ungewöhnlichem Verkehrsaufkommen

Abschnitt betitelt „Verifizierung bei ungewöhnlichem Verkehrsaufkommen“

Der Beitritt bleibt bei normaler Nutzung reibungslos. Als Schutzmaßnahme gegen Missbrauch kann Kunden, die über das Web (QR-Code oder Link) beitreten, eine kurze „Ich bin ein Mensch“-Verifizierung vorgelegt werden, bevor ihr Ticket ausgestellt wird — allerdings nur, wenn eine einzelne Warteschlange in kurzer Zeit einen ungewöhnlich hohen Ansturm an Beitritten erhält. Die meisten legitimen Besucher bestehen sie unbemerkt. Sie erscheint nur bei solchen Ansturmspitzen — bei normalem Verkehrsaufkommen wird keine Verifizierung angezeigt — und gilt nie für den Kiosk vor Ort, dessen Beitritte über den Geräte-Berechtigungsnachweis als vertrauenswürdig gelten.

Solange sich ein Ticket im Status WAITING befindet, zeigt die Ticketseite des Kunden eine geschätzte Wartezeit an. Dieselbe Schätzung erscheint auf dem Bestätigungsbildschirm des Kiosks nach dem Beitritt, damit der Kunde den Kiosk mit einer Zahl im Kopf verlässt. Dies ist eine bestmögliche Schätzung, keine Garantie.

Die Schätzung wird aus den jüngsten Bedienintervallen dieser Warteschlange berechnet: Liegen genügend abgeschlossene Tickets aus den letzten 90 Minuten vor, ermittelt der Server eine mediane Bedienzeit und multipliziert sie mit der Position des Kunden in der Warteschlange (Personen davor + 0,5). Ist der Kunde als Nächster an der Reihe (null Personen davor), wird die Schätzung als null ausgegeben. Ist die jüngste Historie spärlich, wird als Fallback die konfigurierte erwartete Bearbeitungszeit der Warteschlange verwendet. Die Schätzung trägt einen Vertrauensindikator (high, wenn sie aus Echtzeitdaten abgeleitet wurde oder der Kunde als Nächster dran ist, low, wenn auf den konfigurierten Standardwert zurückgegriffen wird).

Die Schätzung wird nur für Tickets im Status WAITING in einer Warteschlange im Status ACTIVE angezeigt. Sie wird nicht angezeigt, wenn die Warteschlange pausiert ist, und verschwindet, sobald das Ticket aufgerufen wird.

  1. Der Kunde tritt per QR-Code oder Kiosk bei → ein Ticket wird im Status WAITING ausgestellt.
  2. Der Kunde öffnet die Ticketseite → sieht seine Position in der Warteschlange und, sofern verfügbar, eine geschätzte Wartezeit in Echtzeit.
  3. Ruft der Schalter seine Nummer auf, wechselt das Ticket in den Status CALLED → die Seite des Kunden aktualisiert sich sofort.
  4. Der Kunde geht zum Tresen. Nach der Bedienung markiert der Schalter das Ticket als COMPLETED.
  5. Reagiert der Kunde nicht, kann der Schalter:
    • Überspringen → das Ticket wechselt in den Status SKIPPED (erneut aufrufbarer Aufschub). Der Bildschirm des Kunden zeigt an, dass er übersprungen wurde, mit den Optionen zu warten oder erneut beizutreten.
    • Nicht erschienen → das Ticket wechselt in den Status NO_SHOW (endgültig). Die Analyse zählt dies getrennt von übersprungenen Tickets.
  6. Ein übersprungener Kunde kann vom Personal zurückgerufen werden (wechselt zurück in den Status WAITING an die Spitze der Warteschlange), oder er kann seinen Platz stornieren und am Ende erneut beitreten.