E9-F4: Digital Wallet Integration¶
Epic: E9: Ticket Management & Delivery
Size: M (Medium)
Problem / Outcome¶
Add tickets to Apple Wallet / Google Pay.
Scope¶
In-Scope:
- Apple PassKit API integration
- Google Passes API integration
- Pass generation with ticket details
- Pass updates on ticket changes
Out-of-Scope:
- Watch integration
Acceptance Criteria¶
- AC1: "Add to Apple Wallet" generates .pkpass file
- AC2: "Add to Google Pay" adds pass via API
- AC3: Pass includes QR code, match details, seat info
Data Model Impact¶
Ticket table:
- wallet_pass_id (VARCHAR, nullable)
- wallet_type (ENUM: apple, google, nullable)
- wallet_added_at (TIMESTAMP)
WalletPass table:
- id (UUID, PK)
- ticket_id (UUID, FK)
- wallet_type (ENUM: apple, google)
- pass_id (VARCHAR) - external ID
- pass_serial (VARCHAR)
- last_updated_at (TIMESTAMP)
- created_at (TIMESTAMP)
Permissions/Roles¶
- Ticket holder
How to Verify¶
npm test -- --grep "digital wallet"
Expected: Pass added to wallet successfully.
Dependencies¶
Implementation Tasks¶
See E9: Ticket Management Tasks
Doc References¶
Last Updated: January 2026