# Introduction to Digital Wallet Ticketing ## Overview Digital Wallet Ticketing is a modern approach to ticket delivery and validation that replaces traditional QR-code-based tickets with wallet-native passes such as **Apple Wallet (.pkpass)** and **Google Wallet passes**. Instead of displaying a static QR code inside an application or email, users store their tickets directly in their digital wallet. This enables a more secure, reliable, and user-friendly ticketing experience. ## What Is a Digital Wallet Ticket? A digital wallet ticket is a **pass** stored inside a mobile wallet application. It contains structured ticket data such as: - Event or admission name - Date and time - Ticket identifier - Venue information - Visual branding - Embedded barcode or NFC payload In this system, tickets are generated dynamically by the backend and delivered as a **`.pkpass` file**, which can be added directly to a user's wallet. ## Key Benefits Over QR Codes ### Better User Experience - Tickets live in Apple Wallet / Google Wallet - No need to open the app or search emails - Automatic lock-screen notifications before events ### Improved Reliability - Wallet passes work offline - No dependency on app state or network connectivity - Less risk of brightness or scanning issues ### Enhanced Security - Passes are signed and tamper-resistant - Each ticket is uniquely generated per user - Reduced risk of screenshot reuse or duplication ### Easier Validation at Entry - Standardized barcode formats - Faster scanning - Compatible with existing scanners ## How It Fits Into the Museum API The Museum API supports digital wallet ticketing via a dedicated endpoint: ``` GET /tickets/{ticketId}/pkpass ``` This endpoint generates and returns a **wallet-compatible ticket pass** for a previously purchased ticket. The ticket pass includes: - Event or admission name - Date and time - Ticket ID - Wallet-compatible barcode ## High-Level Ticket Flow 1. User purchases a ticket using the `/tickets` endpoint 2. Backend creates a ticket record 3. User requests a wallet pass via `/tickets/{ticketId}/pkpass` 4. Backend generates a `.pkpass` 5. User adds the ticket to their digital wallet 6. Ticket is scanned at entry ## Supported Use Cases - General museum admission - Special event entry - Time-based ticket validation - Offline access at the venue ## Summary Digital wallet ticketing replaces QR codes with secure, native wallet passes that: - Improve usability - Increase security - Reduce operational issues at entry points This approach is now the **recommended ticketing method** for all new integrations.