Tickets im pkpass-Format unter Android und Windows
Ihr habt Veranstaltungstickets als pkpass-Datei bekommen? Praktisch, aber leider kein Android-Standard.
Die Gamescom hat dieses Jahr Tickets im Format pkpass verteilt - und siehe da: Zumindest mein Pixel konnte damit erst mal nichts anfangen. Kein Wunder: Das Format gehört zur iOS-App Passbook, heute Wallet. Ist aber kein Problem: Das pkpass-Format ist ziemlich simpel, es gibt passende Apps und auch manuell kommt man an die Inhalte.
pkpass unter Android
Tickets gehören auf das Smartphone. Und wer sich nicht wirklich für das pkpass-Format selbst interessiert, dürfte mit dem App-Tipp schon zufrieden sein und kann sich den Rest des Artikels sparen (wäre aber schade ;). Auf Google Play gibt es allerhand passende Wallets, ich empfehle wie üblich Open Source aus dem F-Droid-Store, hier PassAndroid, dass es natürlich auch bei Google Play gibt.
Die App kann Tickets anzeigen und auch erstellen, vor allem zeigt sie natürlich den QR-Code des Tickets, um dann entsprechend den Einlass einer Veranstaltung passieren zu können. Auch Teilen ist als Funktion dabei: Hier wird das Ticket allerdings im Format espass weitergegeben, das eigentlich auf Ethereum zurückgeht. Inhaltlich sind die Formate aber fast identisch, wie Ihr unten im Windows-Part seht. Tickets lassen sich zudem dem Kalender hinzufügen und für die Navigation nutzen. Schön: Die App kommt problemlos mit Offline-Dateien klar, die Ihr sonst wo heruntergeladen habt.
Die Nutzung ist trivial: Öffnet die App, klickt auf den Plus-Button und wählt die heruntergeladene pkpass-Datei:
Alle Pässe landen in einer Übersicht und die Details des Tickets lassen sich natürlich auch aufrufen:
Schaut Euch mal die Daten in den Screenshots an - an die kommt man auch ohne App!
pkpass manuell auslesen
Unter Windows sind pkpass-Dateien in der Regel nicht sonderlich sinnvoll, wer hält am Messeeingang schon den Laptop vor den Scanner? Dennoch: Vielleicht wollt Ihr die reinen Daten der Tickets erfassen, um sie der Reiseverwaltung zu überlassen, sie zu archivieren oder einfach zu verstehen.
pkpass-Dateien sind zunächst einfach ZIP-Archive, die Ihr mit 7-Zip oder einem sonstigen Packprogramm öffnen könnt. Darin findet Ihr zum einen eine ganze Reihe an Bildern, zum Beispiel das Logo des Ausstellers. Dann gibt es die Dateien manifest.json (Signaturen aller Dateien außer der signature-Datei) und signature (Signatur der manifest-Datei) die die Integrität des Archivs und der enthaltenen Dateien sicherstellen sollen. Optional können auch noch Ordner für unterschiedliche Sprachen vorhanden sein.
Interessant ist aber vor allem die Datei pass.json: Darin finden sich alle relevanten Ticketdaten, inklusive des eigentlichen Zugangscodes, den Ihr sonst vor allem in Form des QR-Codes zu Gesicht bekommt - oder in den Ticket-Details von zum Beispiel PassAndroid.
Die pass.json-Datei lässt sich in jedem Texteditor öffnen und zeigt dann daten im JSON-Format - hier ein Auszug:
...
"description" : "gamescom 2023 eTicket",
"eventTicket" : {
"auxiliaryFields" : [
{
"value" : "Herr Mirco Lang",
"label" : "Inhaber",
"key" : "a1-label"
}
...
Im Terminal könnt Ihr problemlos auch nur bestimmte Daten auslesen und die Ausgabe entschlacken:
cat pass.json | egrep -i "value|relevant" | cut -c23-
Damit werden nur Zeilen ausgegeben, die mit value oder relevant beginnen, minus die ersten 23 Zeichen:
023-08-24T09:00+01:00",
" : "Herzlich willkommen zur gamescom 2023",
"Herr Mirco Lang",
"23. - 27. August 2023",
"23.08., 09:00-19:00 Uhr / 24.-27.08., 09:00-20:00 Uhr",
"Dieses Ticket gilt nicht als Fahrausweis im ÖPNV.",
"https://www.gamescom.de",
"ABCDE123456",
"gamescom 2023",
"P",
"Presse Dauerticket",
Das ABCDE123456 ist dabei der eigentliche Zugangscode - und den könntet Ihr dann auch in Online-Generatoren wieder manuell zu einem QR-Code machen. Warum auch immer ..., aber es geht.
Wenn man solch ein pkpass-Ticket über PassAndroid teilt, wird ein espass-Ticket verschickt - das nur minimal anders ist: Hier gibt es eine zusätzliche Datei main.json mit den weitgehend gleichen Daten, leicht anders formatiert. Zudem findet sich in meinem Ticket noch eine leere Datei source.obj. Insgesamt ist das espass-Format hier nicht unbedingt wünschenswert, weil kein Standard.
Übrigens: Natürlich könnt Ihr die Dateien auf dem Rechner entpacken, ändern, wieder packen und dann wieder als Ticket importieren. Falls Ihr die pass.json verändert, müsst Ihr in der Datei manifest.json aber noch den neuen Hash hinterlegen und dann auch noch für die manifest.json eine neue signature-Datei bauen. Zumindest theoretisch, hier ging es auch ohne korrekte signature-Datei ...
So mittel schön ...
Ein-Absatz-Rant: Die App PassAndroid mag nicht perfekt sein, aber sie kann etwas, was zumindest die ersten drei aus Google Play installierten Ticket-Apps nicht konnten: pkpass-Offline-Dateien importieren. Aber irgendwie ist die Gesamtsituation doch Bullshit! Warum verschickt die Gamescom Tickets in einem Format, das nur für Apple-Menschen nativ ist, ohne ein paar nützliche Hinweise? Warum können kommerzielle (!) Ticket-Apps das Format, das noch am ehesten einem Standard gleich kommt, nicht auf Dateiebene öffnen? Warum gibt es scheinbar keinerlei Desktop-Apps für die Dinger? Warum muss man sich 2023 echt noch mit solchen Fragen herumschlagen?
Aber die eigentlich wichtige Frage: Wie sehen Eure Erfahrungen mit pkpass-Dateien aus? Oder generell mit derlei Tickets?
Titelbild basierend auf Fotos von Anete Lusina und Liza W. von Pixabay.
Danke für den Tipp! Total lästig, diese proprietären Formate. Google verspricht schon seit über einem Jahr die Implementierung, aber nichts passiert. Im Playstore bekommt man tausende von Datagrabbern angezeigt. Sucht man nach PassAndroid heißt’s nur für ältere Android-Version verfügbar, mit F-droid geht’s dann aber doch und lässt sich anschließend auch im Playstore verwalten. Jetzt pkpass-Datei antippen und -zack- Ticket auf dem Schirm (und gleichzeitig in der App gespeichert). In die Veranstaltungen, in die ich gehe, kommen die allermeisten mit Ausdrucken ihrer online gekauften PDFs an. Wir haben es nicht anders verdient als auszusterben …
Super Tipp, Dankeschön.
Vielen Dank, das hat mir geholfen.