> For the complete documentation index, see [llms.txt](https://help.joy.so/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.joy.so/customers/generate-customer-qr-code/apple-wallet-pass-notifications.md).

# Apple Wallet Pass Notifications

{% hint style="info" %}
This feature requires the **Advanced or above**
{% endhint %}

### Overview

<figure><img src="/files/LKPpbRYvRKGGHcjgyZ6A" alt="" width="375"><figcaption></figcaption></figure>

Once your customers add their loyalty pass to Apple Wallet, you can send them real-time push notifications whenever key loyalty events happen. This helps you:

* **Re-engage customers passively** — alerts appear on their iPhone lock screen without needing any app open
* **Confirm activity instantly** — your customers know their points were counted or rewards were applied
* **Drive tier motivation** — celebrate upgrades and nudge customers to act before a downgrade

***

### Requirements

* Joy plan: **Advanced or above**
* Your Apple Wallet Pass must be **enabled and saved** in Joy admin
* You must **manually turn on** each notification type (all are off by default)
* Your customer must have **added their loyalty pass to Apple Wallet**

***

### How to set up

#### Step 1: Go to Apple Wallet Pass Setting

Go to **Customers → Generate digital loyalty pass**

Choose **Apple Wallet**

<figure><img src="/files/3vxgFObv940Q5Shfc0si" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sBxknuTOcONZa78nYK49" alt=""><figcaption></figcaption></figure>

#### Step 2: Open Notification Settings

Go to **Notifications tab**

You'll see a list of 7 notification types. Each shows its current status (**Active** badge if on) and a **Turn on / Turn off** button.

<figure><img src="/files/Zq0y3T4l6UEkfHKLjeW8" alt=""><figcaption></figcaption></figure>

#### Step 3: Configure each notification

Click any notification row to expand it and edit the message body.

| Notification type        | Triggers when                                                 | Required variables                                      |
| ------------------------ | ------------------------------------------------------------- | ------------------------------------------------------- |
| **Earn rewards**         | Your customer earns points from any activity                  | `{{rewards}}`                                           |
| **Redeem rewards**       | Your customer redeems points for a reward                     | `{{points}}`, `{{program}}`, `{{balance}}`              |
| **Tier upgrade**         | Your customer moves up to a higher VIP tier                   | `{{oldTier}}`, `{{newTier}}`                            |
| **Tier downgrade**       | Your customer drops to a lower VIP tier (e.g. after a refund) | `{{oldTier}}`, `{{newTier}}`                            |
| **Points expiring**      | Your customer's points are about to expire                    | `{{balance}}`                                           |
| **Coupon expiring soon** | A coupon your customer holds is about to expire               | `{{couponCode}}`, `{{expiryDate}}`, `{{daysRemaining}}` |
| **Coupon expired**       | A coupon your customer holds has just expired                 | `{{couponCode}}`, `{{expiryDate}}`                      |

Each notification has a **Notification body** field with a default message pre-filled. You can edit the text freely — just keep the required variables (shown below the text field) so Joy can fill in the correct values for each customer.

{% hint style="info" %}
**Set how early to remind for Coupon expiring soon**: expand the **Coupon expiring soon** row and enter how many days before expiry the reminder should go out (e.g., `3` for 3 days ahead). **Coupon expired** fires the next day after the coupon becomes invalid — no delay setting needed.
{% endhint %}

**Example — Earn rewards (default):**

> *You earned {{rewards}}. Visit our store to see rewards you can redeem*

<figure><img src="/files/G5pRK7E5SEpTIqazTQxm" alt=""><figcaption></figcaption></figure>

#### Step 4: Turn on and save

Click **Turn on** for each notification type you want active, then hit **Save** at the top of the page.

***

### Your customer's experience

When a qualifying event occurs (e.g. your customer places an order and earns points), Joy automatically:

1. Detects the loyalty event
2. Sends a silent push to Apple's notification service (APNs)
3. Your customer's iPhone fetches the updated pass
4. A lock screen notification appears with your customized message

Tapping the notification opens their loyalty pass directly in Apple Wallet with the latest points and tier info.

***

### FAQ

**Do my customers need to do anything after adding the pass?** No. As long as they've added the loyalty pass to Apple Wallet and have Wallet notifications enabled on their iPhone, they'll receive alerts automatically.

**Why isn't a customer receiving notifications?** Ask them to check: **iPhone Settings → Notifications → Wallet** and make sure notifications are allowed. Also confirm they've actually added the pass (not just viewed it).

**What if I turn on a notification but haven't finished setting up the pass?** Notifications won't send until your Apple Wallet Pass is fully configured and enabled. Set up the pass first under **Customers → Loyalty Pass → Apple Wallet → Settings tab**.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.joy.so/customers/generate-customer-qr-code/apple-wallet-pass-notifications.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
