> ## Documentation Index
> Fetch the complete documentation index at: https://revolai.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Промокоди на замовленні

> Як код доходить до клієнта, як менеджер переглядає й застосовує його до замовлення, і правила сум

## Коди й картки

Активна угода випускає **партнерський промокод** у кожному напрямі: ваш код діє в партнера, код партнера — у вас. Компанія може мати й **власні коди** з фіксованою знижкою без партнера.

Коди — 8 символів, `XXXX-XXXX`, без неоднозначних `0 O 1 I L U`. Клієнт може їх диктувати: введення нормалізується — регістр, пробіли, дефіси й кириличні двійники виправляються.

Для кожного коду Revol генерує **картку з QR** і посилання `/p/{code}`. Картку можна зберегти у фото телефона, переслати в чаті чи надрукувати. Блок **Показ клієнту** на сторінці «Партнери» пояснює, де зʼявляється код: на сайті партнера за посиланням чи QR, у чаті з асистентом або будь-де ще.

<Tip>
  Коли клієнт пише асистенту й називає код, асистент розпізнає його і підказує менеджеру на замовленні.
</Tip>

## Застосування коду до замовлення

<Steps>
  <Step title="Відкрийте замовлення ліда">
    Замовлення має бути *Нове* або *Оплачене* і без іншого активного коду. Працівник має керувати замовленнями ліда (власник команди, власник або автор ліда).
  </Step>

  <Step title="Попередній перегляд">
    Натисніть **Промокод**, введіть або відскануйте код. Перегляд показує партнера, тип і розмір знижки, **суму знижки для цього замовлення, суму до сплати**, валюту, строк дії, залишок використань і чи буде нарахована комісія — або зрозумілу відмову.
  </Step>

  <Step title="Застосуйте">
    Підтвердьте. Знижка зафіксована на замовленні, умови заморожені у snapshot. Якщо замовлення вже оплачене, комісія нараховується одразу.
  </Step>

  <Step title="Оплата">
    Коли замовлення стає *Оплаченим*, нараховується комісія партнеру і зʼявляється в журналах обох компаній.
  </Step>
</Steps>

Перегляд і застосування використовують одні перевірки, тож перегляд ніколи не скаже «так» там, де застосування відмовить.

### Відмови

| Причина                                           | Значення                                                      |
| ------------------------------------------------- | ------------------------------------------------------------- |
| `not_found`                                       | Такого коду у вашій компанії немає                            |
| `redeem_elsewhere`                                | Код належить іншій стороні вашої угоди і діє там, не у вас    |
| `order_has_promo`                                 | На замовленні вже є активний код — спершу зніміть його        |
| `order_not_applicable`                            | Замовлення видалене або скасоване                             |
| `code_inactive`, `code_expired`, `code_exhausted` | Код вимкнений, прострочений або вичерпаний                    |
| `deal_inactive`                                   | Угода призупинена або завершена                               |
| `currency_mismatch`                               | Валюта замовлення не збігається з валютою коду                |
| `rate_limited`                                    | Забагато спроб — 30 на хвилину на працівника, 120 на компанію |

Відхилені спроби журналюються; власник бачить серії відмов на сторінці «Партнери».

## Суми

| Термін          | Формула                                                |
| --------------- | ------------------------------------------------------ |
| Ціна            | `amount` — ціна без жодних знижок                      |
| Сума КП         | Ціна − знижка менеджера (`discount_pct`)               |
| Знижка за кодом | % від суми КП або фіксована сума, не більша за суму КП |
| До сплати       | Сума КП − знижка за кодом                              |
| Комісія         | % від суми КП                                          |

Приклад: ціна 10 000, знижка менеджера 10 %, код 5 %, комісія 5 % → КП 9 000, знижка 450, до сплати 8 550, комісія 450. Стелі сумарної знижки немає — маржу контролює менеджер при формуванні КП.

Пізніша зміна ціни чи знижки менеджера перераховує знижку й живу комісію зі snapshot; тип і ставка не змінюються.

## Зняття коду

* **Неоплачене замовлення:** відкрийте замовлення → **Зняти код**. Застосування стає *знятим*, поля замовлення очищаються, лічильник використань коду повертається на одиницю — якщо код ще чинний.
* **Скасування до оплати:** код знімається автоматично за тим самим правилом.
* **Після оплати:** використання лишається використаним, що б не сталося далі — скасування оплати, скасування чи видалення замовлення. Зняти код з оплаченого замовлення не можна; спершу змініть статус.

Кожен перегляд, застосування, відмова, зняття й нарахування пишуться в **журнал операцій**, а сторінка **Застосування** показує їх із тим, хто застосував код, коли, яким каналом (веб, MCP, застосунок) і з якими сумами.
