Skip to content

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