The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Passbook
Passbook is an application in iOS that allows users to store coupons, boarding passes, and other forms of mobile payments. It was announced by Apple at the 2012 Apple Worldwide Developers Conference on June 11, 2012 and finally released with iOS 6 on September 19, 2012.
Contents
Features
The Passbook application displays 2D barcodes of following types:
- Aztec
- PDF417
- QR
Each digital coupon or ticket is known as a "pass". When the user launches Passbook for the first time, they will be redirected to the App Store to download applications with Passbook integration. Passes can also be added using a webbrowser and the built-in Mail application as well, along with the corresponding OS X applications in OS X Mountain Lion.
Although the application is available in iOS 6 or later, it is currently only available on iPhone and iPod touch, but not on iPad.
Passbook has the following features
- Displays 2D barcodes of following types: Aztec, PDF417 and QR.
- Triggered by location.
- Triggered by time of pass.
- Can be updated by the pass provider or user himself.
Passbook Passes
Pass files are stored on disk as a zipped package with the pkpass file extension. The top level of the package contains the following files:
- background.png
The image displayed as the background of the front of the pass.
- footer.png
The image displayed on the front of the pass near the barcode.
- icon.png
The pass’s icon. This is displayed in notifications and in emails that have a pass attached, and on the lock screen. When it is displayed, the icon gets a shine effect and rounded corners.
- logo.png
The image displayed on the front of the pass in the top left.
- manifest.json
A JSON dictionary. Each key is the path to a file (relative to the top level of the bundle) and the key’s value is the SHA-1 hash for that file. Every file in the bundle appears in the manifest, except for the manifest itself and the signature.
- pass.json
A JSON (JavaScript Object Notation) dictionary that defines the pass. Its contents are described in detail in “Top-Level Keys.” Example: http://pastebin.com/y3Sgc3r6
- signature
A detached PKCS#7 signature of the manifest.json file.
- strip.png
The image displayed behind the primary fields on the front of the pass.
- thumbnail.png
An additional image displayed on the front of the pass. For example, on a membership card, the thumbnail could be used to a picture of the cardholder.
Note: All of the pass’s images are loaded using standard UIImage image-loading methods. This means, for example, the file name of high resolution (retina) version of the image ends with @2x.png.
Transportation Services on Passbook
The following services currently support passbook passes.
- Air China
- Air Canada
- American Airlines
- Lufthansa
- Porter Airlines
- United Airlines
- Virgin Australia Airlines
- Amtrak
Loyalty Cards
The following loyalty cards are available on Passbook.
- Gyft
- Sephora
- Staples
- Starbucks
- Target Corporation
- Valpak
- Walgreens
Online Passbook Creators
The following websites allow you to create Passbook content.
Name | URL |
---|---|
PassKit | http://passk.it & https://create.passkit.com |
Passbook Generator | http://www.passbookgenerator.com |
Passfu | http://passfu.com |
iPass.pk | http://ipass.pk |
PassPages | http://passpages.com |
Passslot | http://passslot.com |
PassbookInfo | https://passbookinfo.com/convert-card-to-passbook/ |
iPhone Apps
The following Apps allow you to create Passbook passes.
Software
To generate or validate Passbook passes, there are many tools, libs and classes in various programming languages available.
Name | Language | License | URL |
---|---|---|---|
passbook | Ruby | MIT | https://github.com/frozon/passbook |
Passbook | Ruby | MIT | https://github.com/mattt/passbook_rails_example |
passbook | Python | MIT | https://github.com/devartis/passbook |
PHP-Passkit | PHP | N/A | https://github.com/tschoffelen/PHP-Passkit |
passkit | PHP | N/A | https://github.com/laksgandikota/passkit |
passkit.php | PHP | MIT | https://github.com/SimonWaldherr/passkit.php |
PassFactory.js | node.JS | MIT | https://github.com/jetheis/PassFactory.js |
jpasskit | Java | Apache | https://github.com/bitzeche/jpasskit |
passbook | PHP | MIT | https://github.com/skyzyx/passbook |
dotnet-passbook | C# | MIT | https://github.com/tomasmcguinness/dotnet-passbook |