Live webinar, Saturday 14 November 2026
A card that lives on your customer's phone, can appear on the lock screen when they walk near your store, and updates itself after every visit.


The next 45 minutes
What a pass is, what you need from Apple, the file itself, and the lines that put it on the lock screen.
About 16 minutesStamps and points that update on the customer's phone after every bill.
About 14 minutesGetting it onto phones, Android, cost, and what to ask a vendor.
About 10 minutesQuestions at the end. This page becomes your guide: apple-webinar.thedataduck.com
The moment we are building towards
Simulated for the webinar. On a real iPhone you have to be standing near the store.
What just happened
The pass carries your store's coordinates. iPhone compares them with where it is, on the device.
Apple does not tell the brand that a customer walked past. No tracking, nothing to explain to your customers.
Apple says the card "can" appear on the lock screen. The customer can switch it off for any card.
So we design for two moments: the one near the store, and the one where their balance changes. That is Flow 1 and Flow 2.
Source: Apple Developer documentation, "Showing a Pass on the Lock Screen"; iPhone User Guide (iOS 27).
Flow 1 of 2
First, what a pass actually is
The words, colours, barcode and your store locations.
Your pictures.
A fingerprint of every file, so nothing can be altered.
Your brand's digital seal, made with a certificate from Apple.
Zip the folder, rename it .pkpass. That file is the pass.
No app. No App Store review. A file you host on your own website.
Source: Apple Developer documentation, "Building a Pass".
Step 01. Before you start
The same membership app makers use. You never publish an app.
Rs. 8,700 a year. From India you enrol in the Apple Developer app.
Your brand's digital seal. Every pass is signed with it so iPhones trust it came from you.
Made in the developer portal. No Mac needed. It expires: check the date and renew in time.
Latitude and longitude of each entrance.
Copy them from Google Maps.
A small server of your own, or a wallet platform.
We compare both later.
Start the account today. A company account needs a D-U-N-S number; Apple says to allow up to 7 business days for that alone, then it verifies the company. A sole proprietor enrols as an individual and needs no D-U-N-S number.
It must be your own account. Apple's rules do not let an agency sign your passes with its certificate.
Source: Apple Developer Program enrolment and licence agreement; India App Store price, checked 13 Nov 2026.
Step 02. Design the card
Source: Apple Human Interface Guidelines, Wallet.
Step 03. Write the pass file
{
"formatVersion": 1,
"passTypeIdentifier": "pass.com.kaapilane.loyalty",
"teamIdentifier": "A1B2C3D4E5",
"serialNumber": "KL-004218",
"organizationName": "Kaapi Lane",
"description": "Kaapi Lane stamp card",
"backgroundColor": "rgb(14, 77, 58)",
"foregroundColor": "rgb(255, 255, 255)",
"labelColor": "rgb(191, 227, 208)",
"logoText": "Kaapi Lane",
"storeCard": {
"headerFields": [{ "key": "stamps", "label": "STAMPS", "value": "7 of 10" }],
"secondaryFields": [{ "key": "member", "label": "MEMBER", "value": "Ananya Rao" }],
"auxiliaryFields": [{ "key": "next", "label": "NEXT REWARD", "value": "Free coffee at 10" }],
"backFields": [{ "key": "terms", "label": "How it works", "value": "..." }]
},
"barcodes": [{ "format": "PKBarcodeFormatQR", "message": "KL-004218",
"messageEncoding": "iso-8859-1" }],
"locations": [{ "latitude": 19.0607, "longitude": 72.8302,
"relevantText": "3 more stamps to a free coffee." }],
"webServiceURL": "https://passes.kaapilane.example/",
"authenticationToken": "vxwxd7J8AlNNFPS8k0a0FfUFtq0ewzFd"
}
Each group does one job.Choose a number to see each one.
Six required lines. Your Pass Type ID and Team ID come from your Apple account. The serial number is this one customer's card.
Your brand colours, written as rgb values.
Each field has a label and a value. These are the six places from the last slide.
A QR code containing the member number.
Your stores. This is the next slide.
Two lines that let your system update the card later. That is Flow 2.
Source: Apple Developer documentation, Wallet Passes, "Pass" reference.
Step 04. Add your stores
latitude, longitude: your store entrance, not the middle of the mall. Check each one on a map before you launch.
relevantText: the line the customer reads. One per store, so each outlet can say something different.
Ten locations at most in one pass. We deal with bigger chains shortly.
Roughly 100 metres, and Apple decides. Apple's guide calls the store-card radius small, "on the order of a hundred meters", and says it may change. maxDistance can make it smaller, never larger.
Simulated for the webinar.
Source: Apple Developer documentation, "Pass.Locations"; Wallet Developer Guide (archived).
The line on the lock screen
The text is stored in the pass: update the pass and the line changes. Apple sets no length limit, long lines get cut; 60 characters is our rule of thumb. Anyone nearby can read a lock screen, so keep health and money lines discreet.
Simulated for the webinar.
Source: Apple Wallet Developer Guide (archived): relevantText should say why the pass is relevant at that place.
And the time part?
A loyalty card appears by place, at any hour. Apple's store-card style has no setting for opening hours or campaign dates.
So you change the card when the moment changes. Your system updates the pass at the start of a campaign and again at the end.
The line on Ananya's lock screen, across one weekChoose a day
Friday, 6 pm Your system updates the pass
Sunday night and changes it back
Need date and place together, like an event? Other pass styles, such as event tickets and generic passes, support relevant dates. There, the date and the place must both match.
Simulated for the webinar.
Source: Apple Developer documentation, "Showing a Pass on the Lock Screen".
More than ten stores
Ananya lives in Bandra.
She buys a coffee in Bengaluru on a work trip.
Rule used here: the ten stores nearest to her home and her latest purchase.
Her pass holds the ten stores nearest to her home. All in Mumbai.
Your system rewrote her list and updated her pass. She did nothing.
The other way: a small Bluetooth beacon in every store, all sharing one ID. One line in the pass then covers every store, but you buy and maintain the hardware.
Source: Apple Developer documentation: a pass holds up to 10 locations; update the pass to change the list.
Step 05. Sign it and share it
A code library does all five steps in one call (for example passkit-generator for Node.js).
Apple's own new tools: Pass Designer for Mac and Pass Builder for servers (released 2026, early preview).
A wallet platform does it behind a dashboard.
Source: Apple Developer documentation, "Building a Pass"; WWDC 2026 "What's new in Wallet".
Before you promise this to your team
Promise your team a helpful nudge, not a megaphone. The megaphone, used gently, is Flow 2.
Flow 1, done
pass.json writtenFlow 2 of 2
The idea in one picture
Paper cards and most apps break here. Nobody sees their balance, so nobody comes back for it.
Step 01. Choose the shape
Good for cafes, salons, car washes; frequent, similar bills.
Buy 9, the 10th is free.
Good for varied bills.
1 point per Rs. 100. 500 points = Rs. 500 off.
Good for jewellery, fashion, hotels; rare, large purchases.
Spend unlocks status and services, not discounts.
Good for fashion and retail.
5% of every bill comes back as credit.
Three numbers to decide before you build
Illustration: nine coffees at Rs. 250 is Rs. 2,250 of spend. The free tenth costs you about Rs. 60 to make: under 3% of that spend. A reward of Rs. 250 off would cost you the full Rs. 250. Know which one you are giving.
Step 02. What your side remembers
| Name | Mobile | Card number |
|---|---|---|
| Ananya Rao | 98••• ••210 | KL-004218 |
| Priya Nair | 99••• ••874 | KL-004102 |
| Rohan Mehta | 97••• ••036 | KL-003871 |
| Card number | Stamps | Last visit |
|---|---|---|
| KL-004218 | 7 | 12 Nov |
| KL-004102 | 9 | 9 Nov |
| KL-003871 | 3 | 2 Nov |
| Card number | Phone ID | Push address |
|---|---|---|
| KL-004218 | 4f9a… | b71c… |
| KL-004102 | a03e… | 9d42… |
| KL-003871 | c7b1… | 5e0f… |
Filled in automatically when the card is added to a phone.
A spreadsheet is enough to start. A wallet platform keeps these lists for you.
Step 03. Change a balance
| Customer | Card number | Stamps |
|---|---|---|
| Rohan Mehta | KL-003871 | 3 of 10 |
| Priya Nair | KL-004102 | 9 of 10 |
| Ananya Rao | KL-004218 | 7 of 10 |
| Farhan Sheikh | KL-004305 | 2 of 10 |
| Meera Iyer | KL-004377 | 5 of 10 |
Ananya Rao's card
All 1,240 cards
Line shown near a store3 more stamps to a free coffee.
What is happening
Try it: Start again, then Add a stamp.
Simulated for the webinar.
Behind that button
One time, when she added the card
“Hello, I hold card KL-004218. Here is my push address.”
Because the pass file contains your web address and a secret key.
“Bill paid. One stamp for KL-004218.”
“Something changed.”
An empty signal. No message inside.
“What changed?”
“Here is the new card.”
The phone downloads a freshly signed pass.
Wallet compares old and new, and shows your change message.
Your system needs a secure (https) web address.
The same certificate signs the card and authorises the signal.
Delivery is best-effort: a phone that is offline catches up later.
Source: Apple Developer documentation, “Adding a Web Service to Update Passes”.
The one line that makes the phone speak
| When does the customer see something? | What happens |
|---|---|
| The value of a field changes, and that field has a change message | A notification on the lock screen. |
| Anything else changes (colours, store list, the lock‑screen line, a field with no change message) | The card updates silently. |
You cannot send free text. The words come from the field. So platforms keep one field called “Offer” or “Message” and change its value.
Simulated for the webinar.
Source: Apple Developer documentation, “PassFieldContent: changeMessage”.
Step 04. Connect it to your billing
Staff scan the card's QR and tap “Add a stamp”.
Day one. No billing integration.
When a bill closes with the customer's mobile number, the balance updates by itself.
Needs your billing software to offer an API or webhook, its way of telling other software about a bill.Shopify, Restroworks and Zoho POS document one. With others, such as Petpooja, ask the vendor for partner access.
Your website or store platform reports each paid order the same way.
Same mechanism.
The staff page needs a staff login, so customers cannot stamp their own card.
Source: vendor developer documentation (Shopify, Restroworks, Zoho, Petpooja), checked 13 Nov 2026.
Step 05. House rules
Change messages are for timely updates the customer needs, never for marketing.
Apple's design guidelines
Promotions are allowed when they relate directly to the pass, for example a coupon for that store. Excessive pushes are not.
Apple's developer agreement
The customer can switch off notifications or updates for any card, or delete it.
On the customer's iPhone
Source: Apple Human Interface Guidelines (Wallet), updated June 2026; Apple Developer Program License Agreement.
Flow 2, done
Getting it onto phones
Simulated for the webinar.
The page makes a card just for them, with their own number.
Android visitors see an Add to Google Wallet button instead.
Apps with their own built-in browser, such as Instagram, may not add the card. The page should say: open in Safari.
Source: Apple Developer documentation, "Distributing and Updating a Pass".
Where the link goes
Staff say one sentence: scan this, tap Add.
A QR at the bottom of every receipt.
Send the link, not the file. Test it on an iPhone first.
Link in bio, with the open-in-Safari hint.
Use Apple's official Add to Apple Wallet badge, unaltered.
After any online order.
Apple's badge may not be redrawn or recoloured. Download it from Apple's badge guidelines page.
Why people keep it
In a well-known study, a 10-stamp card with 2 stamps already filled was completed more often than a blank 8-stamp card, though both needed 8 purchases. Call the two stamps a welcome bonus.
If the balance on the card is ever wrong, trust is gone.
Balance changes and real rewards only.
One sentence at the counter: "Scan this, tap Add." A card nobody mentions does not get added.
Source: Nunes and Dreze, "The Endowed Progress Effect", Journal of Consumer Research, 2006.
What you can count
Treat "cards on phones" as an estimate. Measure what matters: visits and bills from members.
The question everyone asks
Share of web usageSource: StatCounter
Share of premium phone shipmentsSource: IDC
The question is not how many Indians have an iPhone. It is how many of your customers do.
| Apple Wallet | Google Wallet | |
|---|---|---|
| In India | Yes | Yes, for passes, since May 2024 |
| Card updates | Your system serves the new card | You call Google's service |
| Near-store alert | Up to 10 places, you write the line | Up to 10 places, Google writes the line (we have not tested it in India) |
| Getting started | Apple Developer account, Rs. 8,700 a year | Google issuer account, approval before going public |
Same customer list, same balances, two card formats. Plan for both from the start.
Source: StatCounter (Oct 2026); IDC (Feb 2026); Google Wallet developer documentation.
What it takes
| Costs | Apple Developer account | Rs. 8,700 a year. |
|---|---|---|
| Per card or per update | We found no Apple fee documented. The membership is the only one. | |
| Google Wallet issuer account | Google lists no fee. | |
| Decisions | A place to run it | A small serverora platform subscription |
| Someone to build it | Your developerora partner | |
| Upkeep | Every year | Renew the Apple membership and the certificate. If the certificate lapses, cards keep working but new cards and updates stop. |
Source: India App Store price, checked 13 Nov 2026.
Three ways to get there
Your developer, an open-source library, your server. Most control, most work.
Our estimate: about two working weeks for a first Apple-only version.
A dashboard that designs, signs and updates cards. Fast to start, monthly fee in dollars, check how it connects to your billing.
Examples: Loopy Loyalty from US$25 a month, PassKit from US$39.50 a month. Some still need your own Apple account.
A partner sets it up in your Apple account and connects it to your billing.
You own it.
Source: prices as published on each company's website, 13 Nov 2026.
One responsibility
At sign-up, in plain words: what you collect and what for. A name and a mobile number are enough for a loyalty card.
A box they tick themselves. Keep "send me offers" as a separate choice.
One link to withdraw. Then erase their details, not just the card.
India's Digital Personal Data Protection Act: its notice and consent duties are due to apply from mid-May 2027, as notified so far. A programme you launch now will still be running then, so build to that standard today.
General guidance, not legal advice. Apple also requires your name, address, phone and email on the pass.
Source: Digital Personal Data Protection Act 2023 and DPDP Rules 2025; Apple Developer Program License Agreement.
Take this with you
Enrol your brand in the Apple Developer Program today.
Decide the shape: stamps, points, tiers or credit, and its three numbers.
Design the card: six places, essentials at the top.
List your store coordinates and write one line per store.
Choose: build, rent, or have it built.
Launch at the till first: one QR, one sentence from staff.
Add Google Wallet for your Android customers.
This guide
apple-webinar.thedataduck.com
If you would rather not do this alone
The Data Duck sets it up in your own Apple account, designs the card, connects it to your billing, and hands you the keys.
thedataduck.com/#brief


Your turn
Ask anything. The common ones already have answers on this page.
Press Q for all prepared answers.
Tap a question to jump to its answer further down this page.