Documentation
Everything you need to know about creating, signing, and distributing Apple Wallet passes with PassMaker.
Pass Structure
An Apple Wallet pass is a compressed ZIP archive (renamed to .pkpass) containing a JSON description, image assets, and a digital signature.
1pass.json
The core file defining the pass type, structure, content, and visual appearance.
2manifest.json
A JSON file containing SHA1 checksums for every file in the pass package.
3signature
A detached PKCS#7 digital signature of the manifest file, verifying the issuer's identity.
4Images
Standard assets like icon.png, logo.png, and strip.png (plus @2x and @3x variants).
Pass Types
Apple Wallet supports five distinct pass styles, each designed for a specific use case.
Boarding Pass
For flights, trains, and other transit. Displays origin, destination, and boarding information prominently.
Event Ticket
For concerts, movies, and sporting events. Highlights the event name, venue, and seat details.
Coupon
For discounts and special offers. Focuses on the offer value and expiration date.
Store Card
For loyalty programs and gift cards. Displays current balance or points.
Generic
For anything that doesn't fit the other categories, like gym memberships or coat check tickets.
Fields & Data
Passes display information using three main field types, each with a specific visual priority.
{
"boardingPass": {
"primaryFields": [
{
"key": "origin",
"label": "SAN FRANCISCO",
"value": "SFO"
}
],
"secondaryFields": [
{
"key": "gate",
"label": "GATE",
"value": "A12"
}
],
"auxiliaryFields": [
{
"key": "seat",
"label": "SEAT",
"value": "4A"
}
]
}
}Primary Fields
The most important information, displayed prominently at the top (e.g., Flight Number, Balance).
Secondary Fields
Supporting details, usually displayed in rows below the primary fields.
Auxiliary Fields
Additional info, often displayed in the last row or on the back of the pass.
Validation
To ensure your pass works correctly in Apple Wallet, it must pass several validation checks. Use our Validator tool to check your files.
- Required Keys:
passTypeIdentifier,teamIdentifier,serialNumber, etc. - Valid JSON: The
pass.jsonfile must be valid JSON with no syntax errors. - Asset Checksums: Every file in the package must have a corresponding SHA1 hash in
manifest.json. - Valid Signature: The
signaturefile must be a valid PKCS#7 signature of the manifest, signed by a valid Apple Developer certificate.