# Getting started with Apple Wallet passes

Apple Wallet passes are digital cards, such as loyalty cards, coupons, event tickets, boarding passes, and store cards, that your users keep in the Wallet app on iPhone and Apple Watch. With Pushwoosh, you can design a pass visually in the Control Panel, share it, and then push updates at any time without asking users to reinstall anything.

When you change a pass, Pushwoosh notifies every device that added it, and iOS quietly fetches the new version. The barcode, balance, gate number, or expiry date on the user's phone updates on its own.

## What you can do with Apple Wallet passes

With Apple Wallet passes in Pushwoosh, you can:

* Design passes visually with colors, fields, logo, strip image, and barcode, without writing `pass.json` by hand.
* Create loyalty cards, coupons, event tickets, boarding passes, and generic store cards.
* Distribute passes to users as a `.pkpass` file, install link, or QR code.
* Update pass content and deliver changes to devices that added the pass.
* Reach pass holders with a one-time push, pass update, or Customer Journey. See [Message Apple Wallet pass holders](/product/messaging-channels/apple-wallet-passes/message-pass-holders/).

## Prerequisites

<Aside type="caution" icon="setting" title="Developer assistance needed">
Issuing Apple Wallet passes requires an Apple Developer account and signing certificates. Share this section with your developer team to complete the one-time setup.
</Aside>

Before you design your first pass, confirm the following:

* **Apple Developer Program:** You need an active membership to register Pass Type IDs and create signing certificates. [Enroll or manage your account](https://developer.apple.com/programs/)
* **iOS platform:** Your application must have iOS connected in Pushwoosh before you can add a pass signing certificate. [Set up iOS](/developer/first-steps/connect-messaging-services/ios-configuration/)

## Start working with Apple Wallet passes

After the [prerequisites](#prerequisites) are in place, work through this flow:

<Steps>

1. **Configure Wallet passes in Pushwoosh**

   Before you can design passes, Pushwoosh must have your Apple signing certificate for the application. Your developer team creates it in Apple Developer and uploads it to Pushwoosh. This is a one-time setup per application. 

   [How to set up the signing certificate](/developer/first-steps/connect-messaging-services/ios-configuration/ios-wallet-pass-configuration/)

2. **Design the pass**

   In the [pass builder](/product/messaging-channels/apple-wallet-passes/pass-builder/), choose a pass style, set fields and branding, and check the live preview.

3. **Generate a signed `.pkpass`**

   Once you create and validate the pass, in the [pass builder](/product/messaging-channels/apple-wallet-passes/pass-builder/#generate-the-pass), select **Generate**. Pushwoosh prepares images at the required resolutions and signs the file with your certificate.

4. **Distribute the pass**

   Send users the `.pkpass` file, install link, or QR code. See [Share the pass with users via Pushwoosh channels](#share-the-pass-with-users-via-pushwoosh-channels). When users add the pass to Wallet, their device registers for future updates.

5. **Update pass content**  

   Edit the pass in the pass builder or through the API and save. Pushwoosh notifies registered devices, and iOS downloads the new version in the background. Users do not need to reinstall the pass. 

6. **Message pass holders**

   Once users add the pass to Wallet, you can reach them with a one-time push, a pass update, or an automated Customer Journey.

   [Message Apple Wallet pass holders](/product/messaging-channels/apple-wallet-passes/message-pass-holders/)

</Steps>

## View and manage existing passes

In the Control Panel, go to **Campaigns → Wallet Passes** and open the **Apple Wallet** tab. The **All passes** table lists every pass for the application, including its name, style, the [User ID](/product/pushwoosh-knowledge-hub/users-userids/) it is associated with, and the date and time it was last updated.

On the passes list, open the actions menu (⋮) to:

* **Edit:** change pass name and description, field values and labels, change messages, colors, barcode message, expiration and status, and locations. Pass style and images stay locked after creation. When you save, every device that added the pass receives the update.

<Aside type="note" title="Updates are delivered as silent pushes">
When you save a change, Pushwoosh re-signs the pass and notifies every registered device with a content-free push. iOS fetches the new version on its own—no reinstall required.
</Aside> 

* **Download:** download the signed `.pkpass` file.
* **QR code:** show an install QR code users can scan to add the pass to Wallet and register their device for updates. In this window, you can also use **Copy install link** below the QR.
* **Copy install link:** copy the install URL to share the pass in your messaging channels. [Learn more](#share-the-pass-with-users-via-pushwoosh-channels).
* **Send message:** open the one-time push composer to message pass holders. When you open it from the list, it targets the pass owner by [User ID](/product/pushwoosh-knowledge-hub/users-userids/). See [Message Apple Wallet pass holders](/product/messaging-channels/apple-wallet-passes/message-pass-holders/) for all the ways to reach them.
* **Delete:** remove the pass. Copies already installed on devices stop receiving updates and become invalid on their next refresh.

## Share the pass with users via Pushwoosh channels

The install link you copy in the builder (**Copy install link**) is a regular URL. Opening it on an iPhone adds the pass to Apple Wallet. You can use this link in the same Pushwoosh channels you already use to reach your audience:

* **Email:** add the link to a button or text link in the [email editor](/product/content/email-content/drag-and-drop-email-editor/), for example, an "Add to Apple Wallet" call to action.
* **Push notifications:** set the link as the notification's [open action](/product/messaging-channels/push-notifications/send-push-notifications/one-time-push/#define-what-happens-when-the-push-is-clicked) so a tap opens the pass.
* **SMS:** include the link in [SMS content](/product/messaging-channels/sms/send-sms/send-sms-via-customer-journey/#configure-sms-content).

<Aside type="note" title="One link per pass">
Each install link is tied to a single pass (it carries that pass's serial number and token), so one link works for one shared pass, which is handy for a common coupon or event ticket. To give every recipient their own pass, generate a pass per user with the [PassKit API](/developer/api-reference/apple-wallet-passkit-api/) and send each user their own link. Wallet passes install on Apple devices only—iPhone and Apple Watch.
</Aside>

## Manage passes via API

Everything the pass builder does is also available programmatically through the PassKit Designer API: create, update, list, download, and delete passes.

<LinkCard title="Apple Wallet PassKit API" href="/developer/api-reference/apple-wallet-passkit-api/" />

## View pass holders in User Explorer

When a user adds your pass to Wallet, Pushwoosh lists it on the **Devices and platforms** tab in [User Explorer](/product/audience-data-and-segmentation/user-explorer/).

1. Go to **Audience → User Explorer** and open the user profile.
2. Open the **Devices and platforms** tab.
3. Select **Apple Wallet** in the sidebar.

On the platform profile, you can review:

* **Subscription status:** for example, **SUBSCRIBED**
* **Platform identifier:** the pass identifier shown under the platform name
* **Metadata:** **First subscription**, **Timezone**, and other fields when available
* **Tags:** platform tags, including any you set when issuing the pass

[Learn more](/product/audience-data-and-segmentation/user-explorer/#devices-and-platforms-tab)