Tickets and membership cards in Apple Wallet and Google Wallet, live today
Design the pass once and issue it from the console or with one API call. Your customers save it to their phone, and if anything changes, it updates automatically.
Free to try, no card · A test pass on your phone in 10 minutes
- No Apple or Google accountsWe issue with ours, on every plan.
- Nothing is switched off for non‑paymentPasses you've delivered keep working.
- Your data is yoursExport templates and passes whenever you want.
- Public service statusSee uptime
How your customer gets it
No new apps: they use the Wallet already on their phone.
They get a link
By email, WhatsApp, or a QR code on your site or at the box office. They open it on their phone.
They save it to their Wallet
One tap and it sits next to their cards. No sign-up, nothing to download.
- Lumen TheaterGate change: please use Gate 4.now
Changes reach them
Change a detail in the console and every phone that has the pass gets the update.
What's included
Everything you need to issue passes and keep them up to date.
iPhone and Android at once
Design the pass once and it works in Apple Wallet and Google Wallet. No need to make two versions.
Know what happens to every pass
See who saved it, who removed it and who used it at the door. Your own system hears about it right away too.
Door check-in
The web scanner reads the code and flags tickets that were already used. Any staff phone works; several stations at once from Growth.
Under your brand
Your customers see your logo, your colors and your web address. Passnotch doesn't show up anywhere.
Use cases
Built for businesses that hand out tickets, cards or coupons every week. It also works for a one-off event.
Venues and ticketing
Section, row and seat where they belong. Change the entry gate and saved tickets update. The scanner flags tickets that were already used.
Gyms and clubs
Membership card with expiry date and classes left. Sign-ups, cancellations and renewals from your system, no plastic cards.
Retail and loyalty
Points card with an always-current balance and coupons per campaign. Issued from your CRM with one call per customer.
Airlines and transit
Boarding passes for flights, trains or buses. A gate or schedule change reaches the phone with a notification.
Badges and credentials
Staff, students, press and vendors. Voiding a badge invalidates it on the person's phone.
Platforms that resell
White label on your domain, bulk issuing by API and notifications to your system. Your customers never see us.
How to get started
The first three steps take an afternoon. The fourth, when you're ready to charge.
Create your account
With your email or Google account. You start in test mode, no card.
Design your pass
Logo, colors and fields in an editor with iPhone and Android previews side by side.
Send it
From your system through the API, by uploading a CSV file, or by hand in the console. Each person gets their link.
Go live
Pick a plan and issue real passes. With our Apple and Google credentials, or with yours from the Growth plan up.
One call per pass
What your backend sends and what it gets back.
- No duplicates. Retrying with the same
Idempotency-Keyreturns the same pass. - Notifications to your system. Signed webhooks when someone saves, removes or uses a pass, retried for 24 hours.
- Errors you can understand. Every error comes with a type, a code, a clear message and a link to the docs.
curl https://api.passnotch.com/v1/passes \
-H "Authorization: Bearer $PASSNOTCH_API_KEY" \
-H "Idempotency-Key: 9f1c2b7e-4a1d-4c3e-8f7a-2d5b6c9e0a13" \
-H "Content-Type: application/json" \
-d '{
"template_id": "tpl_01hn3ke8f5xdrqcezb4ptsw2mg",
"external_id": "order-99812",
"fields": {
"section": "Orchestra B",
"row": "12",
"seat": "24",
"gate": "3"
},
"holder": {
"name": "Ana López",
"email": "[email protected]",
"phone": null
},
"relevant_date": "2026-10-18T19:30:00-06:00",
"expires_at": "2026-10-19T06:00:00-06:00",
"deliver": {
"email": true,
"whatsapp": false
}
}'{
"id": "pass_01j9x4b7m2q8r5t3v6w9y0z1ck",
"object": "pass",
"livemode": true,
"status": "active",
"serial": "8f2c1d44-9a77-4e10-b3c2-77a1f0e5aa10",
"template_id": "tpl_01hn3ke8f5xdrqcezb4ptsw2mg",
"template_name": "Jazz Night — General",
"template_version": 3,
"external_id": "order-99812",
"fields": {
"section": "Orchestra B",
"row": "12",
"seat": "24",
"gate": "3"
},
"barcode": null,
"holder": {
"name": "Ana López",
"email": "[email protected]",
"phone": null
},
"relevant_date": "2026-10-19T01:30:00Z",
"expires_at": "2026-10-19T12:00:00Z",
"locations": null,
"change_messages": {},
"revision": 1,
"apple": {
"status": "pending",
"signed_revision": null,
"signed_at": null,
"error_code": null,
"pass_type_id": "pass.com.passnotch.platform"
},
"google": {
"status": "pending",
"object_id": null,
"error": null
},
"installs": {
"apple": 0,
"google": 0
},
"apple_url": "https://api.passnotch.com/v1/passes/pass_01j9x4b7m2q8r5t3v6w9y0z1ck/apple.pkpass",
"google_url": "https://api.passnotch.com/v1/passes/pass_01j9x4b7m2q8r5t3v6w9y0z1ck/google",
"google_save_url": null,
"page_url": "https://pass.passnotch.com/p/9Xk2a7Lq0Zr4Tb8Wc1Nd5E",
"public_links": {
"apple": "https://pass.passnotch.com/p/9Xk2a7Lq0Zr4Tb8Wc1Nd5E/apple.pkpass",
"google": "https://pass.passnotch.com/p/9Xk2a7Lq0Zr4Tb8Wc1Nd5E/google"
},
"void_reason": null,
"voided_at": null,
"redeemed_at": null,
"expired_at": null,
"reactivated_at": null,
"created_at": "2026-09-15T18:20:00Z",
"updated_at": "2026-09-15T18:20:00Z"
}Pricing
You pay for active passes: issued passes that aren't voided, expired or used. Reissuing a pass doesn't count twice. Every plan includes 15% headroom at no extra cost, and we never charge overages. Pay yearly and get 2 months free.
Starter
- 1,000 active passes
- On-phone updates
- CSV import and batches
- One-station scanner, offline too
- IP allowlist per key: 3 ranges
Need 2,500 passes? Plus, 59 USD/month
Growth
Everything in Starter, plus:
- 6,000 active passes
- Your certificate and issuer, if you want them
- White label: up to 3 domains and 2 senders
- Scanner on 10 stations
- IP allowlist per key: 10 ranges
- Support within 1 business day
15,000 for 24930,000 for 399
Scale
Everything in Growth, plus:
- 15,000 active passes
- SSO with SAML and an exportable audit log
- Scanner on 50 stations
- IP allowlist per key: 25 ranges
- Signed DPA and security questionnaire
- Support within 4 hours, private channel
30,000 for 599
Enterprise
Everything in Scale, plus:
- Direct contract and invoice, no Paddle
- SLA with credits and a named escalation path
- Custom region or cloud, NFC
- Loyalty billed per issued pass
Does the person need to install an app?
No. Apple Wallet comes with every iPhone and Google Wallet with Android. If they don't have it, they see their pass on a web page with the same code.
How does the pass reach them?
Through the channel you already use: send a link by email or WhatsApp, or show a QR code on your site or at the box office.
Does it work offline?
Yes. Once saved, the pass and its code open without internet. Changes arrive when the phone reconnects.
Do I need Apple or Google accounts?
No. On every plan we issue with our own Apple and Google credentials, and live passes show your company name with no test watermark. From the Growth plan up you can use your own Apple certificate and your own Google issuer: you set them up, and that's when the Apple Developer Program (99 USD a year) is needed.
What happens if I stop paying?
You stop issuing new passes. The ones already on someone's phone keep working and updating. We don't punish people who already got their ticket.
Can I move to another provider?
Yes. Export templates, passes and history whenever you want. With our credentials, passes already delivered can't be moved to another provider; with yours, from the Growth plan up, they can. We tell you before you sign up, not when you cancel.
Your first pass, today
Free to try, no card. When you're ready, pick a plan and issue real passes.