> For the complete documentation index, see [llms.txt](https://docs.iexexchanger.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.iexexchanger.com/guide/polzovateli/loyalnost/skidochnye-programmy.md).

# Скидочные программы

Скидочные программы позволяют автоматически предоставлять клиентам более выгодный курс обмена в зависимости от их активности.

Чем больше клиент совершает успешных обменов, тем выше может становиться его уровень и тем больше скидка, которая будет применяться при расчёте курса.

Путь в панели управления: **«Пользователи» — «Лояльность» — «Скидки»**

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

## Для чего нужны скидочные программы

Скидочная система помогает поощрять постоянных клиентов и мотивировать их чаще пользоваться обменником.

Например:

<table><thead><tr><th width="283.12109375">Клиент</th><th>Скидка</th></tr></thead><tbody><tr><td>Новый клиент</td><td>0%</td></tr><tr><td>Постоянный клиент</td><td>0.3%</td></tr><tr><td>Активный клиент</td><td>0.7%</td></tr><tr><td>VIP-клиент</td><td>1%</td></tr></tbody></table>

Чем выше оборот клиента, тем более выгодные условия он получает.

## Как работает система

Система анализирует успешные обмены клиента и считает их суммарный объём в USD.

После этого определяется текущий уровень клиента внутри скидочной программы.

Каждому уровню соответствует собственная скидка.

Пример:

<table><thead><tr><th width="159.921875">Уровень</th><th width="425.96875">Объём обменов</th><th>Скидка</th></tr></thead><tbody><tr><td>Базовый</td><td>0 – 1 000 USD</td><td>0%</td></tr><tr><td>Silver</td><td>1 000 – 5 000 USD</td><td>0.3%</td></tr><tr><td>Gold</td><td>5 000 – 20 000 USD</td><td>0.7%</td></tr><tr><td>VIP</td><td>от 20 000 USD</td><td>1%</td></tr></tbody></table>

Когда клиент достигает следующего уровня, новая скидка начинает применяться автоматически.

***

## Что считается успешным обменом

В расчёт попадают только успешно завершённые заявки.

Для каждой такой заявки система использует сумму обмена в USD.

Пример:

<table><thead><tr><th width="190.2421875">Заявка</th><th>Сумма</th><th>Статус</th></tr></thead><tbody><tr><td>№1</td><td>500 USD</td><td>Исполнена</td></tr><tr><td>№2</td><td>700 USD</td><td>Исполнена</td></tr><tr><td>№3</td><td>300 USD</td><td>Ожидает оплату</td></tr></tbody></table>

В расчёт попадут только первые две заявки.

Итоговый объём клиента: `500 + 700 = 1 200 USD`

## Глобальные настройки системы

В правом верхнем углу раздела находится кнопка настроек.

Она открывает общие параметры работы скидочной системы.

{% stepper %}
{% step %}

### Отключить скидочную систему

Этот переключатель полностью включает или выключает работу скидок.

<table><thead><tr><th width="184.93359375">Значение</th><th>Результат</th></tr></thead><tbody><tr><td>Включено</td><td>Скидки работают</td></tr><tr><td>Выключено</td><td>Скидки не применяются</td></tr></tbody></table>

Если система отключена:

* пользователи не получают скидки;
* уровни не влияют на курс;
* личный кабинет показывает пустое состояние скидочной программы;
* пересчёт уровней не выполняется.

Используйте эту настройку только если нужно временно отключить всю систему лояльности.
{% endstep %}
{% endstepper %}

***

## Программа скидок

Программа скидок — это набор уровней, по которым перемещаются пользователи.

Например:

* Базовый;
* Silver;
* Gold;
* VIP.

У каждого уровня свои условия получения и свой размер скидки.

## Создание программы

Для создания программы:

1. Откройте раздел **«Пользователи» — «Лояльность» — «Скидки».**
2. Нажмите **«Добавить программу».**
3. Заполните основные параметры.
4. Добавьте уровни программы.
5. Сохраните изменения.

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

## Основные настройки программы

{% stepper %}
{% step %}

### Название программы

Название отображается в админке и используется для идентификации программы.

Примеры:

* Стандартная программа скидок
* VIP программа
* Постоянные клиенты
* Premium

Название поддерживает несколько языков.
{% endstep %}

{% step %}

### Описание программы

Описание помогает администраторам понять назначение программы.

Пример:

Базовая накопительная программа скидок для всех клиентов.

Описание можно оставить пустым.
{% endstep %}

{% step %}

### Позиция

Позиция определяет порядок отображения программы.

Чем меньше число, тем выше программа находится в списке.

Рекомендуется использовать:

* 10
* 20
* 30
* 40
  {% endstep %}

{% step %}

### Статус программы

<table><thead><tr><th width="233.79296875">Статус</th><th>Что означает</th></tr></thead><tbody><tr><td>Активна</td><td>Программа участвует в работе</td></tr><tr><td>Отключена</td><td>Программа сохранена, но не используется</td></tr></tbody></table>
{% endstep %}

{% step %}

### Сделать программой по умолчанию

Программа по умолчанию автоматически назначается новым пользователям.

Рекомендуется всегда иметь одну активную программу по умолчанию.

Важно:

* программа по умолчанию должна быть активной;
* удалить программу по умолчанию нельзя;
* сначала необходимо назначить другую программу основной.
  {% endstep %}
  {% endstepper %}

***

## Метрика расчёта

Сейчас система использует: **Объём успешных сделок в USD**

Это означает, что уровень определяется на основании суммы успешных обменов пользователя в долларах США.

## Уровни программы

Каждая программа содержит один или несколько уровней.

Уровень определяет:

* диапазон объёма клиента;
* размер скидки;
* срок удержания уровня;
* статус уровня.

## Поля уровня

<figure><img src="/files/QtrAaDeGZjeA8cyIBbWq" alt="" width="563"><figcaption></figcaption></figure>

{% stepper %}
{% step %}

### Название уровня

Примеры:

* Базовый
* Silver
* Gold
* VIP

Название может отображаться клиенту.
{% endstep %}

{% step %}

### Описание уровня

Описание используется для пояснения назначения уровня.

Пример:

Стартовый уровень для всех новых пользователей.
{% endstep %}

{% step %}

### Объём от (USD)

Минимальный объём обменов, необходимый для получения уровня.

Пример: `1000`

Уровень начнёт действовать после достижения оборота 1 000 USD.
{% endstep %}

{% step %}

### Объём до (USD)

Максимальный объём для уровня.

Пример: `5000`

Уровень будет действовать до достижения оборота 5 000 USD.

Если поле оставить пустым, уровень считается последним.

Пример: `20 000 → ∞`

Такой уровень не имеет верхней границы.
{% endstep %}

{% step %}

### Скидка (%)

Размер скидки клиента.

Примеры:

<table><thead><tr><th width="184.4765625">Значение</th><th>Результат</th></tr></thead><tbody><tr><td>0</td><td>Без скидки</td></tr><tr><td>0.3</td><td>Скидка 0.3%</td></tr><tr><td>0.7</td><td>Скидка 0.7%</td></tr><tr><td>1</td><td>Скидка 1%</td></tr></tbody></table>

Скидка всегда указывается положительным числом.
{% endstep %}

{% step %}

### Таймер удержания (дней)

Определяет, сколько дней пользователь сохраняет уровень.

Пример: `30`

После получения уровня запускается таймер на 30 дней.

Если поле оставить пустым, уровень закрепляется без автоматического понижения.
{% endstep %}

{% step %}

### Позиция уровня

Определяет порядок уровней внутри программы.

Рекомендуемый порядок:

* 10
* 20
* 30
* 40

Чем меньше значение, тем выше уровень расположен в списке.
{% endstep %}

{% step %}

### Статус уровня

<table><thead><tr><th width="197.70703125">Статус</th><th>Что означает</th></tr></thead><tbody><tr><td>Активен</td><td>Уровень участвует в расчётах</td></tr><tr><td>Отключён</td><td>Уровень игнорируется системой</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

***

## Правильная структура уровней

Рекомендуется соблюдать следующие правила:

* первый уровень начинается с 0 USD;
* между уровнями нет разрывов;
* последний уровень не имеет верхней границы;
* существует минимум один активный уровень.

Пример:

<table><thead><tr><th>Уровень</th><th width="187.48046875">От</th><th width="138.71484375">До</th><th>Скидка</th></tr></thead><tbody><tr><td>Базовый</td><td>0</td><td>1 000</td><td>0%</td></tr><tr><td>Silver</td><td>1 000</td><td>5 000</td><td>0.3%</td></tr><tr><td>Gold</td><td>5 000</td><td>20 000</td><td>0.7%</td></tr><tr><td>VIP</td><td>20 000</td><td>∞</td><td>1%</td></tr></tbody></table>

## Как считается прогресс пользователя

Система хранит прогресс внутри текущего уровня.

После успешного обмена сумма заявки добавляется к прогрессу клиента.

Когда клиент достигает границы уровня, происходит повышение.

### Пример повышения

Уровень:

```
Базовый
0 → 1000 USD
```

У клиента уже есть: `900 USD`

Он выполняет новый обмен: `200 USD`

Итог: `900 + 200 = 1100 USD`

Клиент переходит на следующий уровень.

Остаток: `1100 - 1000 = 100 USD` автоматически переносится в новый уровень.

## Таймер удержания уровня

Если для уровня указан таймер, после его получения запускается обратный отсчёт.

Когда таймер заканчивается:

* система проверяет текущие условия;
* пользователь может быть понижен;
* либо цикл уровня будет начат заново.

Пример:

<table><thead><tr><th width="163.515625">Уровень</th><th width="192.06640625">Скидка</th><th>Таймер</th></tr></thead><tbody><tr><td>Gold</td><td>0.7%</td><td>30 дней</td></tr></tbody></table>

Через 30 дней система проверит условия и при необходимости понизит пользователя.

## Как применяется скидка

Скидка применяется при расчёте курса обмена.

Сначала система рассчитывает обычный курс направления:

* курс
* комиссии
* надбавки
* формулы

После этого применяется скидка пользователя.

Таким образом клиент получает более выгодный курс.

## Отключение скидок для отдельного направления

Даже если скидочная система включена и клиент уже получил персональную скидку, её можно запретить для отдельных направлений обмена.

Это полезно для направлений с минимальной маржой, специальных курсов, акционных предложений или других случаев, когда дополнительная скидка может сделать обмен невыгодным.

#### Где находится настройка

Откройте нужное направление обмена:&#x20;

**«Основное» — «Направления обмена» — «Список направлений»**

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

Далее:

1. Выберите направление обмена.
2. Нажмите «Изменить».
3. Перейдите в раздел «Дополнительное».
4. Откройте подраздел «Ограничения и проверки».
5. Перейдите на вкладку «Проверки».
6. Найдите параметр: **«Разрешить применение пользовательской скидки?»**

<table><thead><tr><th width="171.95703125">Значение</th><th>Результат</th></tr></thead><tbody><tr><td>Да</td><td>Система будет применять персональную скидку клиента при расчёте курса по этому направлению.</td></tr><tr><td>Нет</td><td>Персональная скидка клиента будет полностью игнорироваться для данного направления.</td></tr></tbody></table>

## Карточка пользователя

В карточке пользователя отображается блок скидочной системы.

Путь: **«Пользователи» — «Список пользователей»** — карточка пользователя

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

Там можно увидеть:

* текущую программу;
* текущий уровень;
* текущую скидку;
* прогресс уровня;
* объём обменов;
* следующий уровень;
* предыдущий уровень;
* таймер удержания;
* историю изменений.

## Доступные действия

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

{% stepper %}
{% step %}

### Обновить

Обновляет информацию о скидках пользователя.
{% endstep %}

{% step %}

### Пересчитать

Заново рассчитывает состояние пользователя на основании успешных заявок.

Используйте после:

* изменения уровней;
* исправления заявок;
* переноса данных.
  {% endstep %}

{% step %}

### Синхронизировать таймер

Проверяет срок удержания уровня и при необходимости выполняет понижение.
{% endstep %}
{% endstepper %}

***

## История скидочной системы

Система автоматически сохраняет историю изменений.

Записываются события:

<table><thead><tr><th width="256.65234375">Событие</th><th>Описание</th></tr></thead><tbody><tr><td>Инициализация</td><td>Пользователь получил скидочную систему</td></tr><tr><td>Повышение уровня</td><td>Переход на уровень выше</td></tr><tr><td>Понижение уровня</td><td>Переход на уровень ниже</td></tr><tr><td>Истёк таймер</td><td>Закончилось удержание уровня</td></tr><tr><td>Пересчёт</td><td>Выполнен ручной пересчёт</td></tr><tr><td>Успешная заявка</td><td>Изменение после успешного обмена</td></tr><tr><td>Откат заявки</td><td>Возврат к предыдущему состоянию</td></tr></tbody></table>

## Пример настройки

Для большинства обменников подойдёт такая схема:

<table><thead><tr><th width="164.94921875">Уровень</th><th width="144.8046875">От</th><th width="167.87890625">До</th><th>Скидка</th></tr></thead><tbody><tr><td>Базовый</td><td>0</td><td>1 000</td><td>0%</td></tr><tr><td>Silver</td><td>1 000</td><td>5 000</td><td>0.3%</td></tr><tr><td>Gold</td><td>5 000</td><td>20 000</td><td>0.7%</td></tr><tr><td>VIP</td><td>20 000</td><td>∞</td><td>1%</td></tr></tbody></table>

Новые пользователи начинают с базового уровня.

По мере роста оборота система автоматически повышает их уровень и увеличивает размер скидки.

## Частые ошибки

| Проблема                                       | Что проверить                                |
| ---------------------------------------------- | -------------------------------------------- |
| Скидка не применяется                          | Не отключена ли система глобально            |
| Пользователь не повышается                     | Правильно ли настроены диапазоны             |
| Уровень не меняется                            | Есть ли успешные заявки                      |
| После изменения уровней остались старые данные | Выполнен ли пересчёт                         |
| Пользователь не понижается                     | Не истёк ли таймер удержания                 |
| Скидка равна 0                                 | Проверьте значение скидки уровня             |
| Направление игнорирует скидку                  | Разрешено ли применение скидки в направлении |

## Рекомендуемый порядок настройки

1. Создайте программу скидок.
2. Сделайте её программой по умолчанию.
3. Создайте базовый уровень от 0 USD.
4. Добавьте остальные уровни.
5. Укажите размер скидки для каждого уровня.
6. При необходимости настройте таймеры.
7. Проверьте, что программа активна.
8. Выполните пересчёт пользователей.
9. Проверьте результат на тестовом пользователе.

***

## Коротко

Скидочные программы позволяют автоматически повышать уровень клиента в зависимости от его оборота и предоставлять ему более выгодный курс обмена.

Система сама считает объём успешных обменов, определяет уровень пользователя, применяет скидку и хранит историю всех изменений.


---

# 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.iexexchanger.com/guide/polzovateli/loyalnost/skidochnye-programmy.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.
