> For the complete documentation index, see [llms.txt](https://docs.thewalletcrew.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.thewalletcrew.io/configure/advanced-configuration/platform/data-and-integrations/stores.md).

# Stores

## Manage stores for geolocated wallet pass notifications

Stores is the physical location registry for a wallet programme. It supports retail stores, venues, pop-ups, and other address-based sites.

The Wallet Crew embeds configured locations in wallet passes. A phone can then surface a contextual message when a customer is nearby.

{% hint style="info" %}
Stores are a prerequisite for geolocated notifications. At least one store must exist and be geocoded before location triggers can be configured on a pass template.

Configure geolocated notifications on the pass template after geocoding a store.
{% endhint %}

<details>

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

* A retailer can add a customer's preferred store to a loyalty pass.
* An event organiser can add a venue to an event ticket.
* A brand can add campaign pop-up locations to a wallet pass.

</details>

### Store location fields

| Field                    | Description                                                                                                                             |
| ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------- |
| **ID**                   | A unique identifier for this location. Read-only after creation. Matched to customer data, such as a home store code from a POS or CRM. |
| **Store name**           | A human-readable label for internal management. Not shown to end-users.                                                                 |
| **Address**              | Street address. Used to geocode coordinates automatically.                                                                              |
| **Latitude / Longitude** | GPS coordinates. Populated automatically with **Find**, or entered manually.                                                            |

### Create and geocode a store

Create a store record before configuring a location trigger. Use a stable ID so the record can be matched with source data.

{% stepper %}
{% step %}
**Go to Data & Integrations → Stores**

Open the Stores page from the left navigation.
{% endstep %}

{% step %}
**Click Add**

The edit form opens.
{% endstep %}

{% step %}
**Fill in the ID and Store name**

Use a stable ID from the source system, such as a POS store code or CRM location ID. The ID cannot be changed after creation.
{% endstep %}

{% step %}
**Enter the address and geocode it**

Enter the address in **Address**, then click **Find**. The platform resolves GPS coordinates and positions a map pin. Review the pin position before saving.

If the resolved location is incorrect, adjust latitude and longitude manually. This can occur with large venues.
{% endstep %}

{% step %}
**Save**

Click **Save**. The store is now available for geolocation configuration.
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
The **ID** is permanent. Use a stable, recognisable value from existing systems. Pass templates and Liquid logic reference this ID, for example, to assign a customer's home store.
{% endhint %}

### Import store locations in bulk

Use **Import** for large location lists. Use **Export** first to download a CSV template in the expected format.

### Edit or delete a store location

Click a row to edit its name, address, or coordinates. Use **Delete** to remove a store.

{% hint style="info" %}
Deleting a store removes it from future location calculations. Issued passes keep its coordinates until their next update.
{% endhint %}

When a store closes permanently, also delete its associated [redirect or QR code](/guides-enrolment/enrolment/enrolment-form/redirect.md) to prevent customers from scanning a code that no longer leads to an active enrolment journey.

### Geolocation limits for wallet passes

Apple Wallet and Google Wallet impose the following geolocation limits:

| Limit                         | Value |
| ----------------------------- | ----- |
| Maximum coordinates per pass  | 10    |
| Maximum radius per coordinate | 300 m |

The Wallet Crew selects stores to embed in each pass, based on the configuration. Retail programmes often embed a customer's home store and the nine closest locations.

### Frequently asked questions about stores and geolocation

<details>

<summary><strong>Can Stores be used for event venues?</strong></summary>

Yes. Any address-based location can be a store record. This includes stadiums, concert halls, conference centres, and pop-up sites. The registry is named “Stores,” but its records are not limited to retail locations.

</details>

<details>

<summary><strong>What happens when a store address changes?</strong></summary>

Changing an address and re-geocoding updates its registry coordinates. The new coordinates apply with the next pass update. Issued passes keep previous coordinates until then.

</details>

<details>

<summary><strong>Are coordinates required for every store?</strong></summary>

Only stores with latitude and longitude can be embedded in a pass. Records without coordinates remain valid but cannot trigger geolocation.

</details>


---

# 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, and the optional `goal` query parameter:

```
GET https://docs.thewalletcrew.io/configure/advanced-configuration/platform/data-and-integrations/stores.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
