# Pass types and templates

A template defines the structure and design of a wallet pass. It controls the layout, labels, images, and which data points appear on the pass.

In The Wallet Crew, each template starts from a **pass type**. The pass type sets the base shape and constraints required by Apple Wallet and Google Wallet. The template then applies branding and mapping rules on top of it.

<details>

<summary><strong>Real-world examples</strong></summary>

* Retail loyalty: a loyalty card pass shows member ID, tier, points, and a barcode.
* Gift cards: a stored-value pass shows current balance and updates after each redemption.
* Coupons: an offer pass shows an expiry date and a scannable code, then becomes redeemed.
* Events and visits: an event ticket pass shows venue and time, and supports fast scanning at entry.
* Membership and utilities: a generic pass supports staff badges, warranty cards, or pickup credentials.

</details>

## Template

A template is the configuration layer applied on top of an Apple Wallet / Google Wallet pass type. It is where branding and field mapping are defined once, then reused across all issued passes.

#### What a template controls

A template controls pass appearance and how data is presented:

* Visual design (colors, logos, images).
* Field layout (front fields, back fields, messages).
* Labels, ordering, and formatting (including translations).
* Barcode/QR configuration and its displayed value.
* Provider-specific constraints (Apple vs Google).

#### What a template does not control

A template is not the source of truth for business state. Validity, balances, entitlements, and redemption rules stay in upstream systems (CRM, loyalty engine, POS, ticketing, e-commerce, or a backend).

The Wallet Crew renders and updates the wallet pass from that source-of-truth data. This keeps the pass consistent with operations, while still benefiting from wallet UX (offline access, device-native presentation, and updates).

#### Why a template is required

Apple Wallet and Google Wallet don’t render arbitrary data. They render a pass that follows a predefined model. A template is the practical way to keep that model stable over time.

Templates make it possible to:

* Define a stable schema (which fields exist, and what they mean).
* Decide what appears on the front vs the back.
* Keep branding consistent across issued passes.
* Validate constraints early (required fields, supported formats, image sizes).

### Choose the right pass type

The Wallet Crew supports multiple pass types. The right choice depends on the operational workflow and which data must stay up to date.

#### Loyalty card

Use a loyalty card when the pass represents an ongoing customer relationship and must update over time.

Typical content includes a member identifier, tier/status, points or stamps, and support links. Redemption is commonly a barcode/QR scanned at POS, followed by a points or tier update.

More details: [Loyalty Card Template Configuration](https://docs.thewalletcrew.io/design/loyalty-card-template-configuration).

#### Event ticket

Use an event ticket when the primary workflow is controlled access with fast entry scanning.

Typical content includes event name, venue, date/time, seat/section, gate, and a barcode/QR. Updates are useful for schedule changes, seat moves, or operational messages.

More details: [Event ticket](https://docs.thewalletcrew.io/design/event-ticket).

#### Gift card

Use a gift card when the pass represents stored value that must decrease or increase over time.

Typical content includes a card identifier, balance and currency, expiry date when applicable, and a redemption barcode/QR (or NFC when supported). Balance updates after redemption are the core requirement.

More details: [Gift card](https://docs.thewalletcrew.io/design/gift-card).

#### Offer

Use an offer for time-bound coupons or promotions, usually redeemed once.

Typical content includes an offer title, expiry date, conditions, and a redemption code (barcode/QR or promo code). The offer can be updated to reflect redemption state.

More details: [Offer](https://docs.thewalletcrew.io/design/offer).

#### Generic

Use a generic pass when no dedicated pass type matches the use case, but a scannable or presentable credential is still needed.

Common patterns include membership cards that are not loyalty programs, staff badges, warranty cards, service bookings, or pickup credentials.

More details: [Generic](https://docs.thewalletcrew.io/design/generic).

### When multiple templates make sense

Most projects start with one template per pass type. Multiple templates are useful when passes require different layouts, different constraints, or different content rules.

Common reasons include:

* Multiple brands, programs, or business units under one tenant.
* Different products with different information density (standard vs VIP, basic vs premium).
* Different legal text or customer support contacts per program.
* Different languages requiring different labels and content structure.
* Different barcode strategies or scanning contexts (POS vs access control).

### Next steps

Template creation and design are usually done once, then iterated with real operational feedback.

* Start with [How to create a template](https://docs.thewalletcrew.io/configure/wallet/template-configuration/how-to-create-a-template).
* For layout rules and asset requirements, use [Card design (colors, images, and fields)](https://docs.thewalletcrew.io/configure/wallet/template-configuration/card-design-colors-images-and-fields).
* For multi-language programs, use [How to translate a template](https://docs.thewalletcrew.io/configure/wallet/template-configuration/how-to-translate-a-template).

## FAQ

<details>

<summary><strong>What is the difference between a pass type, a template, and a pass?</strong></summary>

Pass type is the base model required by Apple Wallet and Google Wallet (loyalty, offer, gift card, event ticket, generic).

A template is a configured instance of that pass type in The Wallet Crew. It defines branding, fields, and mapping rules.

A pass is the individual object installed by a customer. It uses one template at a time and can be updated over its lifecycle.

</details>

<details>

<summary><strong>Can a pass be updated after installation?</strong></summary>

Yes. Updates are a core wallet capability. The Wallet Crew updates the same installed pass, so customers don’t need to re-add it.

</details>

<details>

<summary><strong>Is one template enough for a whole program?</strong></summary>

Often yes. One template per pass type is a common baseline. Multiple templates are useful when different layouts or content rules are required.

</details>

<details>

<summary><strong>Does a template decide if a pass is valid?</strong></summary>

No. Validity and business state remain in source systems. The template controls how that state is displayed in Apple Wallet and Google Wallet.

</details>


---

# Agent Instructions: 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://docs.thewalletcrew.io/design/general.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.
