Zügli

Turn your public transport tickets into Apple/Google Wallet passes.

Supported ticket types include:

If you want your tickets to automatically update when they are renewed, you can create an account and add the subscription. Currently, DB, SaarVV, S-Bahn Berlin, AVV (Aachen), MVV, and HVV Switch are supported.

If you're having trouble scanning your ticket, uploading a picture/screenshot of your ticket usually works better. The decoder on the server is better than the one in your browser.

Upload a picture or a PDF instead

Paste your ticket as hex/text


Have your ticket on a Smartcard?

VDV-KA (German) Smartcards can also be read, click below to start.

Currently, it is not possible to convert Smartcard tickets to Wallet passes.

Read your Smartcard

Not working?

Get in touch with a picture of your ticket and I'll see what I can do.

Privacy

Your ticket barcode will be stored to allow automatic updates to subscription tickets. Tickets commonly include your name and date of birth - this information is not processed except to generate the pass.

We conduct aggregate analysis on tickets uploaded to better understand how people use Zügli and as part of efforts to combat ticketing fraud. Individual detailed ticket data may be inspected by a human if you ask for help, or if fraud is suspected.


API

You can send scanned Aztec barcode contents to this service's API and retrieve PKPass files from it.

API details

POST /api/upload

Content-Type: application/json

{
    "barcode_data": "<base64 encoded aztec contents>"
}

---

200 OK
Content-Type: application/json

{
    "ticket_id": "EXAMPLE_ID",
    "access_token": "EXAMPLE_TOKEN"
}

---

422 Unprocessable Entity
Content-Type: application/json

{
    "title": "Invalid barcode",
    "message": "This doesn't look like a valid ticket"
}

GET /api/apple/v1/passes/pass.ch.magicalcodewit.vdv.ticket/EXAMPLE_ID

Authorization: ApplePass EXAMPLE_TOKEN

---

200 OK
Content-Type: application/vnd.apple.pkpass
Content-Disposition: attachment; filename="EXAMPLE_ID.pkpass"

Pass Contents