> ## 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.

# Application Submissions

> Review, vote on and export application submissions — with the guards that stop double decisions and self-review.

Where staff read and decide on applications.

## The screen

Four figures at the top — **Total**, **Pending**, **Accepted** and **Denied**.

<Warning>
  Those four cards are a **server-wide, 90-day** figure. They deliberately ignore the panel selector, your filters and your search.

  They will not match the table row count. That is intentional, not a bug.
</Warning>

The table shows **Applicant**, **Status**, **Submitted** and **Reviewed By**, with 50 rows per page.

## Filtering and search

A panel selector, a search box, and a filter dialog covering status, a date range and a specific applicant ID.

<Note>
  **Search works across your whole history, not just the current page** — unlike the Vito transactions table.

  Entering a Discord ID does an exact match. Entering a name does a partial match against the username captured at submission time.
</Note>

<Warning>
  Submissions created before usernames were captured have no stored name, so **searching by name will not find them**. Searching by Discord ID always works.
</Warning>

## Deciding

Accept and Deny are available inline on the row, or with a reason from the detail dialog. Both are disabled unless the submission is still **Pending**.

<Warning>
  **You cannot review your own application.** This is enforced at the database level, so it holds even for server administrators.
</Warning>

<Note>
  Two staff pressing Accept at the same moment is safe — the second gets *"This submission has already been reviewed"* and the applicant is never processed twice or DMed twice.

  The same message appears if an auto-deny sweep or a member-leave rule resolved it first.
</Note>

### What happens on a decision

<Steps>
  <Step title="The decision is recorded">
    Written immediately and permanently.
  </Step>

  <Step title="Roles, DMs and actions are handed to the bot">
    Everything configured on that button's accept or deny stage runs.
  </Step>

  <Step title="The applicant is notified">
    If a DM message is configured for that outcome.
  </Step>
</Steps>

<Warning>
  The decision is saved **even if the follow-up actions fail to dispatch**. If someone shows as accepted but never received their role, the decision is correct and the action needs applying by hand — re-accepting will not retry it.
</Warning>

## Voting

When a button has voting enabled, Accept and Deny are replaced by **Approve** and **Deny** vote buttons plus an optional comment box. A running tally is shown.

| Rule                       | Behaviour                                                      |
| -------------------------- | -------------------------------------------------------------- |
| One vote per reviewer      | A second vote is rejected                                      |
| Threshold reached          | The decision finalises automatically and runs all actions once |
| Comment required           | Enforced if the button requires it                             |
| Two votes landing together | Only one finalises; the other is told it was already reviewed  |

## Exporting

**Export CSV** downloads the current panel and filters. Columns cover the submission, panel, applicant, status, timestamps, reviewer, reason and every answer.

<Warning>
  Export is capped at the **5,000 most recent** submissions. If you hit the cap, the file ends with a note saying so — narrow your filters to reach older records.
</Warning>

## Retention

<Warning>
  Accepted, denied and expired submissions are deleted **90 days** after being resolved. **Pending submissions are kept indefinitely.**

  Export anything you need for records before it ages out.
</Warning>

## Statuses

| Status                    | Meaning                                                                                  |
| ------------------------- | ---------------------------------------------------------------------------------------- |
| **Pending**               | Awaiting review                                                                          |
| **Accepted** / **Denied** | Resolved by a reviewer, a vote, or an automatic rule                                     |
| **Expired**               | Auto-denied for inactivity, resolved by a member leaving, or orphaned by a deleted panel |

<Note>
  A reviewer shown as **Unknown reviewer** with a large count is the automatic system — auto-deny and member-leave rules record themselves as the reviewer.
</Note>
