So verkaufen Sie ein elektronisches Bahnticket





Wir beschäftigen uns seit 17 Jahren mit elektrischen Zügen in Tutu. Möglicherweise haben Sie unseren Zeitplan als Kind oder Schüler gesehen. Während dieser ganzen Zeit wurden wir gefragt, wann es möglich sein wird, ein Ticket für den interessierenden Zug direkt über die Anwendung zu kaufen. Seit 17 langen Jahren warten wir auf den Beginn einer glänzenden Zukunft, und es dauerte die Hälfte des Planeten, bis die Nachfrage nach digitalen Tickets unter Quarantäne gestellt wurde.



Der Grund ist, dass noch niemand herausgefunden hat, wie man sie so verkauft, dass:



  1. Einerseits - genau der gleiche Preis wie an der Kasse;
  2. Auf der anderen Seite, um sicherzustellen, dass es keinen Missbrauch gibt, wie „Ich sehe einen Controller in zwei Schritten - ich kaufe ein Ticket“;
  3. Schnell, bequem und zuverlässig.


Der dritte Punkt ist noch nicht zusammengewachsen. Jetzt werde ich Ihnen sagen, wie geschickt dieses Schema bereits funktioniert. Und ich werde sagen, dass ich alle Voraussetzungen sehe, um es in Zukunft bequemer zu machen.



Lassen Sie uns durchgehen, wie ein Benutzer kauft und was während dieses Vorgangs auf verschiedenen Systemen passiert.



Der übliche knifflige Weg ohne Fehler



Schritt 1: Ticketauswahl und Bezahlung. Hier ist alles ziemlich einfach und vertraut. Zwei unserer mobilen Apps mit Fahrplänen erhielten Kauftasten für TsPPK-Züge (bisher nur TsPPK, ja, das heißt, die meisten Richtungen in Moskau).





Die Preise in der App sind genau die gleichen wie an der Kasse. Wir verwenden dieselben Mechanismen wie CPPC, um Tickets zu verkaufen. Es sieht aus wie eine Art interne technische API. Das alles war sehr aufwändig, da sich vorgefertigte Bibliotheken für iOS und Android nicht zu 100% stabil verhielten. Der Unterschied zwischen "fast nie abstürzt" und "manchmal stürzt ab" bedeutet manchmal, technologisch fortschrittlichere Wrapper zu erstellen.



Aber kaufen wir weiter ein Ticket:





Apple Pay und Google Wallet waren für uns bei diesem Projekt aufgrund der Funktionen des Gateways schwierig. Diese Geschichte wird später von meinem Kollegen besser erzählt. Zunächst untersuchten wir die Möglichkeit, einen Kunden auf die offizielle CPPK-Anwendung zu übertragen. Es wurde von der Firma Movista entwickelt, die die entsprechende Ausschreibung gewann. Nach einer Reihe von Experimenten haben wir festgestellt, dass viel Integrationsarbeit immer noch besser ist, als die Benutzeroberfläche beim Kauf zu ändern.



Schritt 2: PD. Hier erwartet Sie die nächste Überraschung mit unglaublicher Leistung: Wenn Sie bei einer regelmäßigen Kaufabwicklung nicht Ihren vollständigen Namen und Ihre Passnummer eingeben müssen, können Sie dies online tun. Ja, auch für Bahntickets. Grundlage ist die Anordnung des Verkehrsministeriums Nr. 322.





Hier ist ein Beweis :

:



  • ( ) ;
  • ;
  • ;
  • ;
  • () ;
  • — , , * ( ), , , ;
  • .


3.4. :



  • ( ) ;
  • ;
  • ;
  • ;
  • () ;
  • — , , * ( ), , , ;
  • .


Wie Sie vielleicht erraten haben, haben Benutzer hier Angst, und wir haben unser Bestes versucht, um ihr Zögern zu verringern. In Betatests gab es jedoch große Unzufriedenheit mit der Ausführung dieses Auftrags.



Wenn Sie der Meinung sind, dass Sie nach der Zahlung ein Ticket in der Hand haben, dann immer noch nicht. Sie haben ein Dokument in der Hand, das bei Aktivierung am Drehkreuz am Bahnhof zum Ticket werden kann.



Daher Schritt 3: Gehen Sie durch das rote Drehkreuz. Dies ist eigentlich ein zusätzlicher Schritt, aber dies ist eine Sicherheitsanforderung: Sie müssen zuerst ein Ticket kaufen und dann das Drehkreuz durchlaufen:











Rote Drehkreuze (normalerweise 1 oder 2 davon an CPPK-Stationen) und grüne Validatoren passen. Am oberen Rand des Beitrags sind sie groß, aber normalerweise sehen sie folgendermaßen aus:







Was passiert:



  1. Wenn Sie ein Ticket kaufen, erstellen wir eine Reservierung auf dem Server.
  2. Wenn Sie für ein Ticket bezahlen, werden vom Gateway Daten empfangen, dass die Zahlung erfolgreich war.
  3. Das CPPK sendet ein Ticket und einen Base64-Schlüssel an das Telefon. Dies ist die Hälfte des Schlüssels zur Aktivierung dieses Tickets.
  4. Die andere Hälfte des Schlüssels muss am Drehkreuz oder Validator entnommen werden. Sie gehen zum Drehkreuz und scannen den QR-Code darauf.
  5. Dann wird aus den beiden Hälften ein Schlüssel zusammengesetzt, der das Ticket "öffnet". Sie legen Ihr Ticket zum Drehkreuz und gehen durch.


Wichtig :



  • Das Drehkreuz hat überhaupt keine Logik zum Überprüfen des QR-Codes und des Tickets. Er zeigt einfach seine ständig wechselnden Teile des Schlüssels in Form von QR-Codes mit dort eingenähten Stationsetiketten.
  • Sie benötigen kein Internet, um die Schlüsselhälften zu verbinden und ein Ticket zu erhalten. Alles geschah fast unmittelbar nach dem Kauf, Sie haben ein Ticket erhalten, und dann wird alles offline auf dem Telefon in der Anwendung erledigt - sowohl die Aktivierung als auch die Anzeige.
  • QR- — . — . .


Wenn alles gut gegangen ist, erhalten Sie ein Ticket. Wenn alles schlecht gelaufen ist (anstelle des Drehkreuzes haben Sie sein sorgfältig gespeichertes Foto von einer anderen Station gescannt), erhalten Sie entweder ein ungültiges Ticket (wenn Sie es beispielsweise mit dem gestrigen QR-Code aktiviert haben) oder das Ticket ist nicht aktiviert. Die Möglichkeit, ein ungültiges Ticket zu erhalten, ließ uns übrigens denken, dass es einfach wäre, den Bibliothekscode umzukehren.



Die letzte Aufgabe bleibt : Wie kann der Controller das elektronische Ticket überprüfen? Immerhin unterscheidet es sich optisch nicht vom Screenshot des exakt gleichen Tickets! Es stellt sich heraus, dass das CPPK eine geniale Lösung gefunden hat: Sie müssen ein Ticket in der Anwendung öffnen und darauf tippen. Das aktivierte Ticket beginnt sich zu drehen. Es wird davon ausgegangen, dass dies die Mehrheit der Bevölkerung zuverlässig vor Fälschungen in Photoshop schützt.







Wir haben die Reaktivierung hinzugefügt, falls Sie unterwegs am Bahnhof aussteigen.



Kommen wir nun zu den süßen Sachen - Käfern!



Das rote Drehkreuz öffnet sich möglicherweise nicht. Nimm es einfach und öffne dich nicht. Weil etwas in seinem Drehkreuzgehirn nicht rechtzeitig feuert. Zum Beispiel ein Schutz, der verhindert, dass Sie denselben QR-Code gleichzeitig an zwei Drehkreuze weitergeben. Die Wahrscheinlichkeit ist sehr gering, aber es gibt. In diesem Fall kommt ein müder Großvater, der am Bahnhof Dienst hat, auf Sie zu. Er hat das hunderte Male gesehen und weiß, was es bedeutet, am roten Drehkreuz zu zögern. Überprüfen Sie das Ticket in der Anwendung ("Spinning? Spinning!") Und lassen Sie Sie ruhig passieren.



Der grüne Validator auf der Plattform funktioniert möglicherweise nicht. Dies ist Russland, nicht Japan, daher kann es hier insgesamt länger als 3 Minuten pro Jahr dauern. In diesem Fall müssen Sie zu einem anderen Prüfer gehen, der sich auf einer anderen Plattform befindet. Die Wahrscheinlichkeit ist auch sehr gering, aber es gibt. Es ist unwahrscheinlich, dass ein gewöhnlicher Mensch mit einer solchen Situation konfrontiert wird, aber wir haben sie lange und heftig getestet, also wissen wir es.



Wenn Sie den QR-Code auf dem roten Drehkreuz zum Zeitpunkt der Änderung des Durchflusses gescannt haben (wenn sie Ihnen sagen: „Gehen Sie zu einem anderen, hier steigen die Leute aus dem Zug“), müssen Sie genau diesen Code durchlaufen, sonst schneiden Sie denselben Code, für den Sie verantwortlich sind Mit einem Ticket haben Sie nicht alle Drehkreuze gleichzeitig durchlaufen. Der Nachbar wird nicht sofort synchronisiert. Dies bedeutet entweder eine halbe Minute Verspätung oder die Überprüfung des Tickets durch den diensthabenden Großvater. "Dreht es sich? Spinnen! "



Kleine FAQ



- Kann ich ein elektronisches Ticket für einen Zug in der U-Bahn kaufen?

Können. Deshalb haben wir Sie dazu gebracht, auf der Rolltreppe zu kaufen.



- Wenn die Verbindung nach dem Aktivieren des Tickets unterbrochen wird, bleibt das Ticket bestehen?

Ja. Und es wird sich drehen.



- Benötige ich Internet, wenn das Ticket am Drehkreuz aktiviert ist?

Nein, alles geschieht offline in Ihrer Telefonsoftware. Sie haben bereits ein Ticket, es wird einfach entschlüsselt.



- Wenn ich einen Controller sehe, ist es zu spät, um ein elektronisches Ticket zu kaufen, oder?

Ja, wenn Sie keinen QR-Code von der nächsten Station zur Hand haben. Und wenn man unsere Mentalität kennt, ist es nicht so vollständig Sarkasmus.



- Ha, was ist, wenn ich ihn am Morgen beim Durchqueren des Drehkreuzes fotografiert habe?

Wechselt regelmäßig innerhalb weniger Minuten.



- Und wenn ich das Muster dieses Codes verstanden habe?

Der Codierungsalgorithmus ändert sich um Mitternacht, und die Codes unterscheiden sich dramatisch von den vorherigen.



- Wenn ich das Ticket mit dem falschen QR-Code aktiviere, was dann?

Dann haben Sie ein ungültiges Ticket. Oder ein Ticket für das falsche Datum.



- Wie lange ist das E-Ticket gültig?

Nach der Aktivierung ist das Ticket bis 03:00 Uhr des nächsten Tages gültig. Das heißt, Sie können es um 7 Uhr morgens am Drehkreuz scannen und um 21 Uhr verwenden. Kein Problem.



- Was ist, wenn ich um 00:01 Uhr in den Zug steige?

An der Kreuzung der Daten befindet sich ein Heisenbug im Ticketverifizierungssystem (auch Papiertickets, dh nicht in unserem Stapel), wenn die Drehkreuze möglicherweise nicht auf das gestrige Ticket reagieren. Die Bearbeitung ist normal - Sie müssen das diensthabende Drehkreuz anrufen, das sich das Drehticket ansieht und Sie durchlässt.



- Und wenn ich um 2:59 am Drehkreuz vorbeikam?

Wenn in der Sekunde zwischen der Aktivierung des Tickets und der Überfahrt zum Drehkreuz der technische Tag abgelaufen ist, muss das Problem auch durch den Großvater gelöst werden. Er wird alles ertragen.



Andere Tickets



Wir verhandeln mit anderen Fluggesellschaften über den Verkauf von Tickets zu den gleichen Preisen wie an der Abendkasse. In vielen Richtungen gibt es keine derartigen Schwierigkeiten bei der Ticketaktivierung. Beispielsweise können Sie in den meisten Leningradskoye-Zügen ein Ticket im Zug kaufen. Dies führt natürlich zu einer bekannten Sicherheitslücke, und es muss ein Kompromiss gefunden werden, der für alle geeignet ist. Aber ich fürchte, dies ist eher ein Bereich der Gemeindearbeit als der Entwicklung. Wenn Sie Ideen haben, setzen wir diese gerne um.



All Articles