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

# Жизненный цикл Поручения: статусы, действия и ваша роль

> Разберитесь в каждом статусе Поручения — от DRAFT до RECEIVED, кто может действовать на каждом этапе, и как работать со спорами и ручным созданием Поручений.

Поручение — основная транзакционная единица в InviteBot. Оно связывает Интент одного участника (его предложение оказать помощь) с Запросом другого участника (его просьбой получить помощь) и направляет отправителя перевести определённую сумму получателю. Как Наставник, вы участвуете в критических точках принятия решений: рассматриваете новые Поручения перед отправкой участнику, можете отклонять проблемные и контролируете решение проблем.

<Note>
  Большинство Поручений система создаёт автоматически через расписанные задания, сопоставляя совместимые Интенты и Запросы. Поручения также можно создавать вручную. В обоих случаях действует один и тот же жизненный цикл.
</Note>

## Полный жизненный цикл

Поручения проходят определённую последовательность статусов. У каждого статуса есть конкретные действующие лица, а действия запускают переходы.

```
DRAFT → NEW → ACCEPTED → PAID → RECEIVED
                              ↘ DISPUTE → RECEIVED
                                        ↘ CANCELED
         ↓          ↓
      REJECTED   REFUSED
DRAFT → CANCELED
```

## Статусы Поручения

### DRAFT

Поручение создано, но ещё не активировано. Это происходит, когда Наставник создаёт Поручение вручную командой `/order_add`.

**Кто может действовать:** Наставник, создавший Поручение.

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

* Перевести в NEW (активировать Поручение и отправить его в очередь рассмотрения)
* Отменить (→ CANCELED, прекращает Поручение)

На этом этапе Поручение не видно участнику. Используйте этот шаг, чтобы проверить детали перед активацией.

***

### NEW

Поручение активно и ждёт, пока Наставник держателя Интента рассмотрит его и отправит своему участнику.

**Кто может действовать:** Наставник держателя Интента.

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

* Принять и отправить участнику (→ ACCEPTED)
* Отклонить (→ REJECTED)

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

***

### ACCEPTED

Поручение отправлено участнику (отправителю). Участник видит реквизиты получателя, и ожидается, что он сделает перевод.

**Кто может действовать:** участник (отправитель); Наставник.

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

| Действующее лицо | Действие             | Результат  |
| ---------------- | -------------------- | ---------- |
| Участник         | Подтвердить перевод  | → PAID     |
| Участник         | Отказаться выполнять | → REFUSED  |
| Наставник        | Отклонить            | → REJECTED |
| Наставник        | Отозвать             | → REFUSED  |

<Note>
  Какие реквизиты увидит участник, зависит от того, является ли Запрос системным и верифицирован ли участник. Неверифицированным участникам при первом переводе показываются специальные верификационные реквизиты. После верификации они видят стандартные или системные реквизиты в зависимости от типа запроса.
</Note>

***

### PAID

Участник подтвердил, что отправил перевод. Получателю теперь нужно подтвердить поступление.

**Кто может действовать:** получатель; администраторы.

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

| Действующее лицо | Действие                                   | Результат                                                                                |
| ---------------- | ------------------------------------------ | ---------------------------------------------------------------------------------------- |
| Получатель       | Подтвердить поступление                    | → RECEIVED                                                                               |
| Получатель       | Сообщить о неполучении                     | → DISPUTE                                                                                |
| Админ            | Подтвердить поступление от имени участника | → RECEIVED                                                                               |
| Админ            | Отменить Поручение                         | → REFUSED (также отменяет связанный Интент и другие открытые Поручения по этому Интенту) |

***

### RECEIVED

Получатель подтвердил, что средства поступили. Это успешный финальный статус.

**Кто может действовать:** дальнейшие действия не требуются.

**Что происходит:** обновляются балансы связанных Интентов и Запросов, всем сторонам уходят уведомления, обрабатываются применимые вознаграждения MAVRO.

***

### REFUSED

Участник отказался выполнить Поручение, или Наставник его отозвал. Это финальный статус.

**Частые причины:**

* Участник не может вовремя сделать перевод
* Технические проблемы со способом оплаты
* Некорректные реквизиты
* Личные обстоятельства

**Что происходит:** система ищет замещающего участника для того же Запроса. Сумма Поручения возвращается в пул сопоставления.

***

### REJECTED

Наставник отклонил Поручение. Это финальный статус.

**Частые причины:**

* У участника недостаточно средств
* Участник не готов делать перевод
* Интент уже полностью подтверждён
* Участник недоступен или заблокировал бота
* Помощь ещё не получена (ожидаются предыдущие поступления)

***

### CANCELED

Поручение отменено. Обычно это происходит из статуса DRAFT или когда администратор вмешивается в активное Поручение.

***

### DISPUTE

Получатель сообщил, что не получил перевод, хотя отправитель подтвердил оплату. Этот статус требует разбирательства.

**Кто может действовать:** администраторы; Наставники могут помогать со сбором доказательств.

**Доступные действия (только админ):**

| Действие                                    | Результат                                                                |
| ------------------------------------------- | ------------------------------------------------------------------------ |
| Подтвердить поступление от имени получателя | → RECEIVED                                                               |
| Отменить Поручение                          | → REFUSED (также отменяет связанный Интент и открытые Поручения по нему) |

***

## Матрица статусов и действий

| Статус   | Создатель Поручения (Наставник) | Наставник Интента            | Участник (отправитель)         | Получатель                | Админ                 |
| -------- | ------------------------------- | ---------------------------- | ------------------------------ | ------------------------- | --------------------- |
| DRAFT    | Перевести в NEW, Отменить       | —                            | —                              | —                         | Любое                 |
| NEW      | —                               | Принять/Отправить, Отклонить | —                              | —                         | Любое                 |
| ACCEPTED | —                               | Отклонить, Отозвать          | Подтвердить оплату, Отказаться | —                         | Любое                 |
| PAID     | —                               | —                            | —                              | Подтвердить, Открыть спор | Подтвердить, Отменить |
| DISPUTE  | —                               | —                            | —                              | —                         | Подтвердить, Отменить |
| RECEIVED | —                               | —                            | —                              | —                         | Любое                 |
| REFUSED  | —                               | —                            | —                              | —                         | Любое                 |
| REJECTED | —                               | —                            | —                              | —                         | Любое                 |
| CANCELED | —                               | —                            | —                              | —                         | Любое                 |

## Создание Поручения вручную

Если нужно создать Поручение вне автоматического сопоставления — например, чтобы связать конкретный Интент с конкретным Запросом — используйте команду `/order_add`:

```text theme={null}
/order_add_A123_G456_1000
```

Где:

* `A123` — ID Запроса (Ask)
* `G456` — ID Интента
* `1000` — сумма

Поручение создаётся в статусе DRAFT. Проверьте его и активируйте, переведя в NEW.

<Warning>
  Ручные Поручения обходят автоматическую логику сопоставления. Перед активацией убедитесь, что Запрос и Интент совместимы (одна валюта, подходящие суммы). Неверные ручные Поручения вызывают путаницу у обоих участников.
</Warning>

Поручения, созданные системой или с её участием, можно посмотреть командой:

```text theme={null}
/system_orders
```

## Работа со спорами

Когда Поручение переходит в DISPUTE, ваша роль — собрать доказательства и эскалировать к администратору.

<Steps>
  <Step title="Свяжитесь с отправителем">
    Свяжитесь с участником, подтвердившим оплату. Попросите скриншот или запись о транзакции, подтверждающие перевод.
  </Step>

  <Step title="Проверьте реквизиты">
    Убедитесь, что отправитель использовал верный номер карты, телефона или адрес кошелька. Ошибки здесь — частое явление.
  </Step>

  <Step title="Свяжитесь с получателем">
    Попросите получателя ещё раз проверить счета. Переводы иногда задерживаются банками.
  </Step>

  <Step title="Эскалируйте администратору">
    Если доказательства очевидны или ситуация не решается на вашем уровне, используйте `/admin`, чтобы связаться с администратором. Передайте ID Поручения и собранные скриншоты.
  </Step>
</Steps>

<Note>
  Самостоятельно решить DISPUTE нельзя — только администраторы могут пометить его как RECEIVED или отменить. Ваша задача — расследовать и представить факты.
</Note>

## Автоматическое создание Поручений

Система регулярно сопоставляет открытые Интенты с ожидающими Запросами и создаёт Поручения по расписанию. Это происходит без ручного вмешательства, когда:

* В пуле сопоставления есть валидный активный Интент
* Есть ожидающий одобренный вами Запрос на помощь
* Суммы и валюты совместимы

При создании автоматического Поручения с участником вашей структуры вам приходит уведомление, и Поручение попадает в очередь рассмотрения со статусом NEW.
