Pipelines¶
Pipelines legen fest, was passiert, wenn einer Ihrer Scanner einen Code einliest. Sie bauen eine Pipeline einmal und weisen sie anschließend beliebig vielen Scannern zu.
Navigieren Sie zu Pipelines in der Seitenleiste, um alle für Ihr Unternehmen konfigurierten Pipelines zu sehen.

Konzept¶
Eine Pipeline liegt zwischen Ihren Integrationen und Ihren Scannern. Integrationen stellen wiederverwendbare Bausteine bereit (Checker, HTTP-Anfragen), eine Pipeline setzt diese zu einer Schrittfolge zusammen, und jeder Scanner bekommt eine oder mehrere Pipelines zugewiesen und führt sie beim Einlesen eines Codes aus.
Wie Integrationen, Pipelines und Geräte zusammenspielen.
Jede Pipeline besteht aus Schritten, die in drei Abschnitten organisiert sind und immer in dieser Reihenfolge ausgeführt werden:
1. Validate¶
Der Scanner prüft den Code gegen eine oder mehrere Ihrer Integrationen (Roller, USC, listenbasiert usw.). In diesem Abschnitt wird entschieden, ob der Code gültig ist. Wenn alle Validierungsschritte erfolgreich sind, geht es weiter. Schlägt ein Schritt fehl, entscheidet die On-Failure-Einstellung, ob abgebrochen oder fortgefahren wird.
2. Commit¶
Sobald der Code validiert ist, halten Commit-Schritte fest, was passiert ist, zum Beispiel ein Ticket als eingelöst markieren oder einen Zonen-Eintritt zählen. Das sind die Aktionen, die tatsächlich den Zustand am Standort oder in einer Integration verändern.
3. Notify¶
Notify-Schritte senden das Ergebnis weiter, zum Beispiel an einen HTTP-Endpunkt oder ein nachgelagertes System. Sie laufen zuletzt, und ein Fehler in diesem Abschnitt blockiert den Scan nie.
Warum diese Trennung wichtig ist
Die Aufteilung in Validate, Commit und Notify sichert eine wichtige Eigenschaft: Seiteneffekte, die den realen Zustand verändern (Ticket einlösen, Zone hochzählen), passieren erst, wenn der Code als gültig erkannt wurde. Externe Benachrichtigungen wiederum passieren erst, wenn diese Seiteneffekte erfolgreich waren.
Pipeline-Liste¶
Auf der Pipelines-Seite wird jede Pipeline mit zwei Zählern angezeigt:
- Steps - wie viele Schritte die Pipeline enthält
- Devices - wie vielen Scannern sie zugewiesen ist
Klicken Sie auf eine Pipeline, um die Detailansicht zu öffnen.

Die Schritte sind nach Validate / Commit / Notify gruppiert und zeigen jeweils:
- Das Icon und den Namen der Integration (z.B. Roller, Zones, HTTP Request)
- Das Aktions-Badge (z.B.
Validate Ticket,Zone Enter) - Das On-Failure-Badge (
AbortoderContinue) für Validate- und Commit-Schritte - Die Checker oder Anfragen, gegen die der Schritt läuft
Unterhalb der Schritte listet die Karte Assigned Scanners jedes Gerät, dem die Pipeline zugewiesen ist, samt Reihenfolge auf.
Eine Pipeline bauen¶
Wählen Sie auf der Pipelines-Seite + New Pipeline, vergeben Sie einen Namen und fügen Sie dann in jedem der drei Abschnitte über + Add Schritte hinzu.
Validate-Schritt hinzufügen¶
Klicken Sie im Validate-Bereich auf + Add und wählen Sie einen Validator.

Das Menü zeigt einen Eintrag pro Integration, die Validierung anbietet (Roller, USC, listenbasiert usw.).
Nach dem Hinzufügen wählen Sie, gegen welche Checker der Validator laufen soll. Hat eine Integration noch keine Checker, erscheint ein Hinweis, zuerst unter Integrations einen anzulegen.

Für jeden Validate-Schritt legen Sie On Failure fest:
Abort- Pipeline stoppen und bereits Committetes rückgängig machenContinue- mit dem nächsten Schritt fortfahren
Mit Check All / Uncheck All schalten Sie alle Checker des Schritts auf einmal an oder aus.
Commit-Schritte hinzufügen¶
Fügen Sie im Commit-Bereich über + Add hinzu, was bei einem erfolgreichen Scan tatsächlich passieren soll.

Typische Commit-Schritte:
- Redeem Ticket - Ticket in der Integration als eingelöst markieren. Nur Tickets, die durch einen Checker mit aktivierter Einlösung gelaufen sind, werden hier tatsächlich eingelöst
- Zone Enter - Belegung einer Zone über einen Zone Checker erhöhen
- Zone Exit - Belegung einer Zone verringern
Commit-Schritte zeigen Fires for: und Skipped for:, sodass auf einen Blick erkennbar ist, für welche Checker der Schritt wirkt.
Einlösung an letzter Stelle
In den meisten Setups sollte Redeem Ticket der letzte Commit-Schritt sein. Eine Einlösung lässt sich nicht rückgängig machen. Schlägt ein späterer Schritt (etwa ein Zone Enter) mit Abort fehl, kann ein bereits eingelöstes Ticket nicht mehr in den uneingelösten Zustand zurückversetzt werden. Die Einlösung als letzten Schritt zu platzieren macht sie zur endgültigen, irreversiblen Aktion.
Wie bei Validate-Schritten hat jeder Commit-Schritt eine On Failure-Einstellung (Abort oder Continue).
Notify-Schritte hinzufügen¶
Fügen Sie im Notify-Bereich über + Add hinzu, wohin das Ergebnis weitergegeben werden soll. Die häufigste Wahl ist HTTP Request, womit der Scanner eine oder mehrere HTTP-Anfragen auslöst, etwa um lokal oder auf einem entfernten Server eine Attraktion freizugeben.

Haken Sie jede HTTP-Anfrage an, die der Schritt senden soll. Notify-Schritte fahren bei Fehlern immer fort, ein nicht erreichbarer Endpunkt blockiert einen Scan nie.
Schritte umsortieren und entfernen¶
- Per Drag & Drop am Griff auf der linken Seite lassen sich Schritte innerhalb eines Abschnitts umordnen
- Mit Remove am unteren Rand eines Schritts löschen Sie ihn
Der Editor gibt zusätzlich hilfreiche Hinweise. Ist an einem Checker die Einlösung aktiviert, aber kein Redeem-Ticket-Schritt vorhanden, schlägt er vor, einen hinzuzufügen.
Pipelines Scannern zuweisen¶
Eine Pipeline wirkt erst, wenn sie einem Scanner zugewiesen ist. Auf der Detailseite einer Pipeline listet die Karte Assigned Scanners jedes Gerät mit einem Order-Wert auf.
Einem Scanner können mehrere Pipelines zugewiesen sein, jedoch nur eine pro Validierungstyp (eine Roller-Pipeline, eine USC-Pipeline usw.). Wird ein Code eingelesen, probiert der Scanner die Pipelines in der Reihenfolge ihres Order-Werts (niedrigster zuerst), bis eine den Code erkennt. So kann ein einzelner Scanner etwa sowohl Roller-Tickets als auch USC-Mitgliedschaften akzeptieren, indem zwei Pipelines zugewiesen werden:
| Order | Pipeline | Erkennt |
|---|---|---|
0 |
Entry (Roller) | Roller-Ticketcodes |
1 |
Entry (USC) | USC-Mitgliedercodes |
Das Zuweisen und Entfernen erfolgt auf der Detailseite des Scanners unter Devices.
Beispiel: Zoneneintritt für Mitgliedschaften¶
Eine vollständige Pipeline für einen zugangsgeregelten Mitgliederbereich könnte so aussehen:
- Validate - Roller (Checker: Membership Checker, Daypass Checker), On Failure:
Abort - Commit - Zone Enter (Happy Zone Check), On Failure:
Abort - Commit - Redeem Ticket (greift nur für Checker mit aktivierter Einlösung, hier die Tagestickets), On Failure:
Abort - Notify - HTTP Request (Football Wall 1 ON)
Ein Scan einer gültigen Mitgliedschaft wird erkannt, der Besucher wird in die Zone eingezählt, es wird nichts eingelöst (Mitgliedschaften werden nicht eingelöst) und die Attraktion wird lokal eingeschaltet. Ist die Zone voll, bricht die Pipeline in Schritt 2 ab, das Ticket wird nicht eingelöst und die Attraktion wird nicht eingeschaltet.