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

# Statuses & Transitions

> Understanding the 12 job application statuses and how applications move between them

# Statuses & Transitions

Every job application in Nico follows a lifecycle from initial discovery to final outcome. There are **12 statuses** organized into **5 categories** that map to your kanban board columns.

## Status overview

| Category         | Status         | Description                                          |
| ---------------- | -------------- | ---------------------------------------------------- |
| **Draft**        | `proposed`     | Job suggested by an AI agent, awaiting your decision |
|                  | `draft`        | You're preparing your application materials          |
| **Applied**      | `applied`      | Application has been sent to the company             |
|                  | `acknowledged` | Company has confirmed receipt of your application    |
| **Interviewing** | `phone_screen` | Initial phone or video screening scheduled           |
|                  | `interviewing` | You're in the active interview process               |
|                  | `final_round`  | Final round of interviews                            |
| **Offer**        | `offer`        | You've received a job offer                          |
|                  | `negotiating`  | You're discussing terms and conditions               |
| **Finished**     | `hired`        | You accepted the offer — congratulations!            |
|                  | `rejected`     | The company declined your application                |
|                  | `withdrawn`    | You decided not to continue with this application    |

## State machine diagram

```mermaid theme={null}
stateDiagram-v2
    [*] --> proposed
    [*] --> draft

    proposed --> draft: Decide to pursue
    proposed --> applied: Apply directly
    draft --> applied: Submit application

    applied --> acknowledged: Company confirms
    applied --> phone_screen: Phone screen scheduled
    applied --> interviewing: Interview scheduled

    acknowledged --> phone_screen: Phone screen scheduled
    acknowledged --> interviewing: Interview scheduled

    phone_screen --> interviewing: Move to interviews
    phone_screen --> final_round: Advance to final round
    phone_screen --> offer: Receive offer

    interviewing --> final_round: Advance to final round
    interviewing --> offer: Receive offer

    final_round --> offer: Receive offer

    offer --> negotiating: Start negotiation
    offer --> hired: Accept offer

    negotiating --> hired: Accept offer

    proposed --> rejected: Rejected
    draft --> rejected: Rejected
    applied --> rejected: Rejected
    acknowledged --> rejected: Rejected
    phone_screen --> rejected: Rejected
    interviewing --> rejected: Rejected
    final_round --> rejected: Rejected
    offer --> rejected: Rejected
    negotiating --> rejected: Rejected

    proposed --> withdrawn: Withdraw
    draft --> withdrawn: Withdraw
    applied --> withdrawn: Withdraw
    acknowledged --> withdrawn: Withdraw
    phone_screen --> withdrawn: Withdraw
    interviewing --> withdrawn: Withdraw
    final_round --> withdrawn: Withdraw
    offer --> withdrawn: Withdraw
    negotiating --> withdrawn: Withdraw

    hired --> [*]
    rejected --> [*]
    withdrawn --> [*]
```

## Forward transitions

The typical happy path moves forward through these stages:

| Action             | From                                          | To             | What happened                            |
| ------------------ | --------------------------------------------- | -------------- | ---------------------------------------- |
| Decide to pursue   | `proposed`                                    | `draft`        | You chose to pursue an AI-suggested job  |
| Submit application | `proposed`, `draft`                           | `applied`      | You sent your application to the company |
| Company confirms   | `applied`                                     | `acknowledged` | The company confirmed receipt            |
| Phone screen       | `applied`, `acknowledged`                     | `phone_screen` | A phone/video screening was scheduled    |
| Start interviews   | `applied`, `acknowledged`, `phone_screen`     | `interviewing` | Formal interviews begin                  |
| Final round        | `phone_screen`, `interviewing`                | `final_round`  | You advanced to final interviews         |
| Receive offer      | `phone_screen`, `interviewing`, `final_round` | `offer`        | The company made you an offer            |
| Negotiate          | `offer`                                       | `negotiating`  | You're discussing terms                  |
| Accept offer       | `offer`, `negotiating`                        | `hired`        | You accepted — you're hired!             |

## Terminal transitions

These can happen from **any active status**:

| Action   | To          | Who decides | Description                           |
| -------- | ----------- | ----------- | ------------------------------------- |
| Reject   | `rejected`  | Company     | The company declined your application |
| Withdraw | `withdrawn` | You         | You decided not to continue           |

## Termination reasons

When an application ends in `rejected` or `withdrawn`, you can record why.

<Tabs>
  <Tab title="Rejection reasons">
    When a company rejects your application:

    | Reason                  | Description                             |
    | ----------------------- | --------------------------------------- |
    | `no_response`           | No response from the company            |
    | `position_filled`       | The position was filled by someone else |
    | `others_more_qualified` | Other candidates were more qualified    |
    | `not_qualified`         | You didn't meet the qualifications      |
    | `location_mismatch`     | Location requirements weren't met       |
    | `no_work_authorization` | Work authorization issues               |
    | `culture_fit`           | Culture fit concerns                    |
    | `other`                 | Another reason                          |
  </Tab>

  <Tab title="Withdrawal reasons">
    When you decide to withdraw:

    | Reason                 | Description                             |
    | ---------------------- | --------------------------------------- |
    | `accepted_other_offer` | You accepted a different offer          |
    | `compensation_too_low` | The pay was below your expectations     |
    | `location_mismatch`    | The location didn't work for you        |
    | `culture_fit`          | You had concerns about company culture  |
    | `work_life_balance`    | Work-life balance concerns              |
    | `company_reputation`   | Concerns about the company's reputation |
    | `other`                | Another reason                          |
  </Tab>
</Tabs>

## Furthest status tracking

Nico automatically tracks the **furthest point** each application reaches. Even if you move an application backward (for rescheduling, for example), the furthest status is preserved.

This powers your [statistics](/using-nico/statistics) — helping you understand where in the process your applications typically succeed or stall.

**Tracking order:** `draft → applied → acknowledged → phone_screen → interviewing → final_round → offer → negotiating → hired`

<Note>
  Terminal states (`rejected`, `withdrawn`) don't update the furthest status — only forward progress through the pipeline counts.
</Note>
