BoB & Apple Wallet
This document contains information to Apple from Samtrafiken regarding the BoB ticketing infrastructure. Mobile app developers using BoB may find it useful to use this page as a common source of information when communicating with Apple.
Background
BoB is a ticketing infrastructure for Swedish public transport developed by Samtrafiken, owned by the Swedish regional public transport authorities and most of the commercial operators.
BoB tickets are digitally signed by the ticket issuer (e.g., public transport authority) using EC P-256 and dynamically signed by the mobile app using truncated HS-256 (HMAC SHA-256). The mobile app signature is typically updated every 10 seconds. Once by the mobile app, the tickets are transferred from the mobile app to the onboard validation units encoded using Aztec. This process is further described in BoB MTS1 Mobile Ticket Format.
Most onboard validation units implements NFC in addition to the optical interface. This is to support contactless travel and payment using various standards, e.g, BoB MTS7, EMV and MiFare.
Impact for Apple Customers
In order for the tickets to be presented to the onboard validation unit, the app must be able to suppress pass presentation while displaying the ticket Aztec code on screen. If this is not allowed, the traveller will be unable to present the ticket unless the traveller disabled Apple Wallet.
Summary
The BoB ticketing infrastructure relies on dynamically signed Aztec codes.
It is currently (with iOS 13) not possible to manage mobile BoB tickets using Apple Wallet.
com.apple.developer.passkit.pass-presentation-suppression
must be granted to developers for an acceptable user experience.The only known workaround is to ask the traveller to disable Apple Wallet.
More information
In order to disable Apple Wallet follow these steps. Contact Apple with your request at apple-pay-inquiries@apple.com and CC a copy to lsureliamanners@apple.com, include answers to the additional information below.
Are your QR codes static or dynamic?
In what country are your budiness headquarters located?
Reviewed, compledted, sign & returned Terms & Conditions, will be delivered by Apple.
Detailed description of your app and supporting use case, including plans to support adding a Pass to Apple Wallet.
Team name, information about the specific app that shall be disabled.
Team ID, information about the specific app that shall be disabled.
App name, information about the specific app that shall be disabled.
Adam ID, information about the specific app that shall be disabled.
Bundle ID, information about the specific app that shall be disabled.
For further information go to Wallet Developers Guide at http://developer.apple.com
Known Implementations
This is a (possible incomplete) list of mobile apps granted the required entitlements:
Hallandstrafiken (not yet published)
Länstrafiken Kronoberg (not yet published)
Kalmar länstrafik (not yet published)
Jönköpings länstrafik (not yet published)