Wallet Data Entities: Wallets
What is a Wallet
All loyalty schemes are underpinned by the Eagle Eye Air Wallet functionality, enabling a single view of the customer across every touchpoint and across the entire loyalty programme and associated promotions/ rewards.
A wallet can contain:
- Identities
- Wallet Transactions
- A consumer record
- Accounts
- Coupons
- Stored Value
- Loyalty Points
- Quest
- Continuity
- Stamp
- Invites
- Reward Bank Links
- Recommendations
Wallet Types
By default, AIR defines a CONSUMER wallet type and can be configured quickly to add a HOUSEHOLD wallet type. HOUSEHOLDing is a construct allowing individuals to have their own CONSUMER wallet but link them via a HOUSEHOLD wallet to share coupons or rewards.
A Wallet Type Create API exists in the Resources API to create new Wallet Types.
Wallet Data Structure
{
"walletId": "244602841",
"friendlyName": null,
"status": "ACTIVE",
"type": "CONSUMER",
"state": "DEFAULT",
"meta": [],
"dateCreated": "2025-08-22T11:53:35+00:00",
"lastUpdated": "2025-08-22T11:53:35+00:00",
"relationships": {
"parent": [],
"child": [],
"associate": [],
"donor": []
}
}Key | Data Type | Description |
|---|---|---|
walletId | String | A unique identifier generated by AIR for this wallet. This value is important as it's used to access other APIs and values from the wallet |
friendlyName | String | A field for a customer to add a "friendly" description to the wallet |
status | String | Wallet's can have the following statuses:
|
type | String | The type of this wallet. Once created, this value can not be changed. The configuration of this type defines the behaviour of the wallet. For example, a CONSUMER wallet can be configured to not allow it to be a Parent of any other wallet type |
state | String | Wallet Types are configurable and allow behaviour to be driven by the value. For example, if the state was set to EARNONLY, POS Connect can be setup to now allow this wallet to spend points but only earn them. |
meta | Object | This object can hold arbitrary key/value pairs. When empty, this object is represented as an empty array. |
dateCreated | DateTime in ATOM format | This imutable value is the date and time the wallet was created |
lastUpdated | DateTime in ATOM format | This value holds the date and time that the wallet was last updated. |
relationships | Object | Wallets can be linked to other wallets, this object holds the list of IDs of the other wallets to which it is linked and the type of that relationship. |
Wallet Statuses
The below outlines the different wallet statuese and what they mean
ACTIVE
A wallet in this status is allowed to transact and perform all operations without restriction
SUSPENDED
This status is frequently used to temporarily stop this wallet from transacting while investigations are carried out. For example, a potential fraud situation.
INACTIVE
Wallets can be created in an INACTIVE status. While in this status, no actions can be taken against the wallet. Before it can be used it needs to be ACTIVATED. Once activated, it can not transition back to an INACTIVE status.
MERGED
AIR Supports a concept of Wallet Merge. This is used in situations where customers wish to bring two wallets together. An example of this is someone signing up in store and also signing up online and they wish to have a single wallet in AIR. The wallets are merged together resulting in a single ACTIVE wallet and one that changes to a status of MERGED. In this situation we refer to the wallet that gets marked as MERGED as the victim, and the ACTIVE wallet the survivor.
Several of the wallet objects in the victim wallet are moved to the survivor including Accounts, Wallet Transactions, Identities, Points Balances
TERMINATED
This is a terminal status and once a wallet is moved to this status, it can not be undone. Once in this status, no actions can be completed against it.
Updated about 4 hours ago
