Skip to content

feat: apple wallet pkpass generation, website CTA once tickets are assigned, and attempt at android wallet support#2119

Open
ab-gh wants to merge 10 commits into
emfcamp:mainfrom
ab-gh:feat/apple-wallet-passes
Open

feat: apple wallet pkpass generation, website CTA once tickets are assigned, and attempt at android wallet support#2119
ab-gh wants to merge 10 commits into
emfcamp:mainfrom
ab-gh:feat/apple-wallet-passes

Conversation

@ab-gh

@ab-gh ab-gh commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Picks up #1822 from last year to close #1338, with:

  • generated assets from 2026 hero/logo assets, rather than specific assets
  • CTA button when logged in with tickets assigned, opening your ticket QR code and buttons to add to apple/android wallet
  • experimental android wallet - i don't have an android device to confirm compatibility

Apple Wallet pass

Generated preview with apple Pass Designer
ticket_v1_admissionticket_v4_all

Google Wallet pass

the .pkpass appears to parse and display just fine natively on android/google wallet (thanks @Kunsi)
1024-2285

CTA Button

image image

wlcx and others added 9 commits August 19, 2025 20:42
# Conflicts:
#	apps/common/receipt.py
#	apps/payments/tasks.py
#	apps/users/account.py
#	config/development-example.cfg
Generate the pass image set from the 2026 brand assets at runtime: a
full-card blurred background cropped to the comet-arc hero, a brand-orange
icon tile, and the white EMF logo mark. Set the icon (38pt) and background
(345x505pt) sizes to match Wallet's required dimensions.

Restructure the eventTicket fields: add "Electromagnetic Field" as the logo
text shown at the top, and show attendee, location (Eastnor Deer Park),
gates-open and admission, with parking/campervan only when held. Stringify
field values for cross-wallet (Apple + Google) compatibility.

Add generate_unsigned_pkpass() so the artwork/layout can be previewed
without a signing certificate.
`flask dev pkpass [--email] [--out]` writes an unsigned .pkpass for previewing
the pass artwork and layout (e.g. in Apple's Wallet Pass Designer) without
needing the signing certificate.
Once tickets are distributed (ISSUE_TICKETS) and the user holds a paid
ticket, show a floating "Show ticket" button on every page. It opens a
closable modal with the check-in QR code and "Add to Apple Wallet" /
"Add to Google Wallet" buttons.

Both wallet buttons serve the existing signed .pkpass; Google Wallet imports
it natively on Android. Self-contained include (inline styles + a nonce'd
script, both permitted by the CSP) reusing the existing QR and pkpass routes,
so it needs no SCSS/JS build changes.
@ab-gh ab-gh marked this pull request as draft June 20, 2026 13:59
@ab-gh ab-gh marked this pull request as ready for review June 20, 2026 14:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Generate apple/android wallet passes for tickets

2 participants