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

# Заявки

> Разбирайте, голосуйте по и экспортируйте заявки — с защитой от двойных решений и самопроверки.

Место, где стафф читает заявки и принимает решения.

## Экран

Четыре показателя наверху — **Total**, **Pending**, **Accepted** и **Denied**.

<Warning>
  Эти четыре карточки — **общесерверный показатель за 90 дней**. Они намеренно игнорируют селектор панели, ваши фильтры и поиск.

  Они не совпадут с числом строк в таблице. Так и задумано, это не баг.
</Warning>

В таблице **Applicant**, **Status**, **Submitted** и **Reviewed By**, по 50 строк на страницу.

## Фильтрация и поиск

Селектор панели, поле поиска и диалог фильтра со статусом, диапазоном дат и конкретным ID заявителя.

<Note>
  **Поиск работает по всей истории, а не только по текущей странице** — в отличие от таблицы Vito transactions.

  Ввод Discord ID даёт точное совпадение. Ввод имени — частичное совпадение по имени пользователя, зафиксированному в момент отправки.
</Note>

<Warning>
  У заявок, созданных до того как стали сохраняться имена пользователей, нет сохранённого имени, поэтому **поиск по имени их не найдёт**. Поиск по Discord ID работает всегда.
</Warning>

## Решение

Accept и Deny доступны прямо в строке или с причиной из диалога подробностей. Оба отключены, если заявка уже не **Pending**.

<Warning>
  **Свою заявку разобрать нельзя.** Это ограничение на уровне базы, оно действует даже для администраторов сервера.
</Warning>

<Note>
  Двое сотрудников, нажавших Accept одновременно, — это безопасно: второй получает *«This submission has already been reviewed»*, а заявитель никогда не обрабатывается дважды и не получает DM дважды.

  То же сообщение появляется, если сначала сработал auto-deny или правило на уход участника.
</Note>

### Что происходит при решении

<Steps>
  <Step title="Решение записывается">
    Пишется сразу и постоянно.
  </Step>

  <Step title="Роли, DM и действия передаются боту">
    Всё, что настроено на этапе accept или deny этой кнопки, запускается.
  </Step>

  <Step title="Заявителю уведомление">
    Если для этого исхода настроено DM.
  </Step>
</Steps>

<Warning>
  Решение сохраняется, **даже если действия-последствия не удалось отправить**. Если кто-то показан как принятый, но так и не получил роль — решение корректно, а действие нужно применить вручную; повторное accept не повторит его.
</Warning>

## Голосование

Когда у кнопки включено голосование, Accept и Deny заменяются на кнопки **Approve** и **Deny** плюс необязательное поле комментария. Показывается текущий счёт.

| Правило                  | Поведение                                                                |
| ------------------------ | ------------------------------------------------------------------------ |
| Один голос на рецензента | Второй голос отклоняется                                                 |
| Порог достигнут          | Решение автоматически финализируется и все действия запускаются один раз |
| Комментарий обязателен   | Обеспечивается, если этого требует кнопка                                |
| Два голоса одновременно  | Финализирует только один; второму сообщается, что уже разобрано          |

## Экспорт

**Export CSV** скачивает текущую панель и фильтры. Столбцы охватывают заявку, панель, заявителя, статус, метки времени, рецензента, причину и все ответы.

<Warning>
  Экспорт ограничен **5000 самых свежих** заявок. Если упрётесь в лимит, файл заканчивается пометкой об этом — сужайте фильтры, чтобы добраться до более старых записей.
</Warning>

## Хранение

<Warning>
  Принятые, отклонённые и истёкшие заявки удаляются через **90 дней** после разрешения. **Ожидающие заявки хранятся бессрочно.**

  Экспортируйте всё, что нужно для отчётности, до истечения срока.
</Warning>

## Статусы

| Статус                    | Значение                                                                                      |
| ------------------------- | --------------------------------------------------------------------------------------------- |
| **Pending**               | Ожидает разбора                                                                               |
| **Accepted** / **Denied** | Разобрано рецензентом, голосованием или автоматическим правилом                               |
| **Expired**               | Автоотклонено по бездействию, разрешено уходом участника или осиротело из-за удалённой панели |

<Note>
  Строка **Unknown reviewer** с большим счётчиком — автоматическая система: правила auto-deny и member-leave записывают себя как рецензента.
</Note>
