Zügli

Turn your public transport tickets into an 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, and AVV (Aachen) 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. Ticket data may be inspected by a human if you ask for help.


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