# Wallet Types and Configuration

## Adding New Wallet Type

In this section, you can define the settings of the new wallet type and determine the status of its activity.

{% hint style="success" %}
To add a new **Wallet Type:**

1. Go to **Wallets** -> **Types of Wallets**
2. Click **ADD NEW WALLET TYPE**
3. Fill in the required fields&#x20;
4. Set the Wallet Type status to **Active**
5. Click **ADD WALLET TYPE**
   {% endhint %}

***

### Basic settings

In the **Basic settings,** you define:

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FjZACupLDcTqPq56DS6ge%2Fimage.png?alt=media&#x26;token=37af1de6-c402-468e-b2c6-18e414f33544" alt=""><figcaption></figcaption></figure>

* **Wallet name** - Name of the wallet
* **Wallet description** - Short description of the wallet. It can be used for identification purposes as well as describing customer-facing applications.
* **Add translation** - New translation for wallet name and description.
* Wallet code - Wallet identification code

### Unit settings

In the **Unit settings,** you define:

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2Fd21H2NixC4L1qpactT4E%2Fimage.png?alt=media&#x26;token=d3019ec0-a572-4727-8081-fdf8c75ddda3" alt=""><figcaption></figcaption></figure>

* **Unit singular name** - Singular form of the unit name.\
  E.g. “Star”
* **Unit plural name** - Plural form of the unit name.\
  E.g. “Stars”
* **Unit expiration method** - set when the units will expire - more information [here](https://help.openloyalty.io/main-features/wallets/wallet-types-and-configuration#unit-expiration-method)
* **Unit pending method** - set for how long the units are pending (locked) - more information [here](https://help.openloyalty.io/main-features/wallets/wallet-types-and-configuration#unit-pending-method)
* **Global units limitation -** set the global limitation for a time period or in total - more information [here](https://help.openloyalty.io/main-features/wallets/wallet-types-and-configuration#limitation)
* **Member units limitation** - set the member limitation for a time period or in total - more information [here](https://help.openloyalty.io/main-features/wallets/wallet-types-and-configuration#limitation)

### Wallet type status

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FDb4xD1odcdYrfnteIng4%2Fimage.png?alt=media&#x26;token=8f1942d5-2dc5-427d-aacf-5eee01ff7064" alt=""><figcaption></figcaption></figure>

* **Active** - Status of the wallet. You can deactivate the wallet at any time.

{% hint style="info" %}
Upon the creation of a wallet, please be aware that it may take a few minutes for the wallet to become fully activated.
{% endhint %}

{% hint style="info" %}
The **Active** toggle is not available for the default wallet because each program must have at least one active wallet.
{% endhint %}

***

## **Wallet Configuration**

In this section, we will guide you through the configuration of the wallet's settings:

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FKKJvNZF8LhTtfb466hO6%2Fimage.png?alt=media&#x26;token=c5003752-1ea7-4dc4-80be-0ee2a2d8b7fa" alt=""><figcaption></figcaption></figure>

### Unit expiration method

In this part, you can set when the Units will expire.

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FUtWCy5I7OCkknRpjNxCU%2Fimage.png?alt=media&#x26;token=26db34b5-e913-40c8-860b-1f2d0b077041" alt="" width="563"><figcaption></figcaption></figure>

* **No expiration** - Units never expire
* **After X days** - Units will expire after a defined number of days
* **At the end of the month** - Units will expire at the end of the month
* **At the end of the X-th year** - Units will expire at the end of the defined yea&#x72;**.** (if you set 0 as the value, the units will expire at the end of the current year)
* **Annual expiration on a chosen date** - the points will expire annually on the chosen date

### Unit pending method

This option allows you to lock or unlock the Units. The expiration date of blocked units is calculated Unit pending method.

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FCkyuEtx71Is8bkDVWC0w%2Fimage.png?alt=media&#x26;token=b99527fa-c521-49ad-856b-b577c5dd3728" alt="" width="563"><figcaption></figcaption></figure>

* **No pending** - Units are automatically available
* **Pending for X days** - Units are pending (locked) for a defined number of days

After the specified time, units are no longer pending and change their status to active, thus becoming available for the member. If necessary, you also have the option to manually activate these units before the scheduled time.

{% hint style="info" %}
**the Expiration method: After X days vs At the end of the month/year**

![](https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FLKDgcMttnpOflNsyx9Be%2Fimage.png?alt=media\&token=400961e8-3a79-4067-9030-8a92a5ea4e42)

Please note the different behaviors in correlation to the pending method (Pending for X days):

* **After X days** - if you set the days after the points will expire and days in the pending method, the expiration time will be extended by X days set in the Pending method.&#x20;
* **At the end of the month/year -** the points expire at the end of the month or year, and the days in the pending method don't extend/affect the expiry date.&#x20;
  {% endhint %}

### Limitation&#x20;

You can set two types of limits here:

* **Global units limitation** - defines how many units can be added to all members for this type of wallet. You can set the limit for a time period or in total.
* **Member units limitation** - defines how many units can be added to this type of wallet for a single member. You can set the limit for a time period or in total.

If you set both limits, they are active at the same time - units are not added to the user if the unit transfer exceeds any limit. For example, the transfer can be within the member's unit limitation, but if it exceeds the global limitation - it will not be processed. \
\
Keep in mind, that these limits are only for automatic transfers (e.g. coming from campaigns), and you can still adjust the units manually if needed.&#x20;

{% hint style="info" %}
Once the point transfer is canceled, the units back to the pool.&#x20;
{% endhint %}

Once the campaign point transfer (Units Campaign effect) is canceled, the units back to the pool.&#x20;

### Negative points balance

Optionally, you can enable the negative points balance for the specific wallet.

<figure><img src="https://2658975168-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcNVX03KZzmrGwJihLiEx%2Fuploads%2FJMSXhWdL6Twk2AR3bGVK%2Fimage.png?alt=media&#x26;token=cdfc360f-9f7d-4b80-931a-9ad183359b57" alt=""><figcaption></figcaption></figure>

This feature allows users to spend units even when they don’t have enough balance. In a way, they borrow units from the business.<br>

From the Operational/Finance perspective, negative balances represent a loss. If misused, they allow members to exploit the system and accumulate rewards without spending money or engaging with the company, risking the loyalty program’s health.

{% hint style="success" %}
**Some good practices for using negative balances:**

* Review all campaigns that reward members with units
* Set accrual limits so members can’t obtain units endlessly
* Monitor the unit's dashboard regularly for negative spikes
* Consult your financial department for possible scenarios
  {% endhint %}

{% hint style="info" %}
The feature is available upon request. If you want to enable this option, please contact OpenLoyalty.
{% endhint %}

## Wallet export/import

In the Wallets section, you can export and import wallets. These actions require a file in a `.json` format.

### Exporting wallets

{% hint style="success" %}
**Exporting wallets how-to**

To export a single wallet or several wallets:

1. Go to **Wallets** -> **Types of Wallets**
2. Click **SELECT TO EXPORT**

After clicking this button you will see the checkboxes next to the wallet number

3. Select the wallets you want to export to the JSON file&#x20;
4. Click **EXPORT TO .JSON FILE (X)** to download the file
   {% endhint %}

### Importing wallets

{% hint style="success" %}
**Importing wallets how-to**

To import a single wallet or several wallets:

1. Go to **Wallets** -> **Types of Wallets**
2. Click **ADD WALLET TYPE** -> **Import wallet types**

After clicking this button you will see the pop-up window to upload the JSON file

3. Follow the instructions from the popup window.
4. Click **IMPORT** to upload the waller file
5. After importing the wallets you will see the list of all successful and/or wallets that require the action.
   {% endhint %}

### Duplicating wallet configurations to a different tenant

{% hint style="success" %}
**Exporting wallets to a different tenant how-to:**

To export a single wallet or several wallets to different tenants:

1. Go to **Wallets** -> **Types of Wallets**
2. Click **SELECT TO EXPORT**

After clicking this button you will see the checkboxes next to the wallet number

3. Select the wallets you want to export to a different tenant
4. Click **Export wallets to 'Different tenant' ->** Select the targeted tenant
5. To complete the action click **Copy \`Wallets and view the target tenant.**
6. After importing the wallets you will see the list of all successful and/or wallets that require the action to edit.
   {% endhint %}
