# Ticket workflow states

Workflow states define the current status of a ticket throughout its lifecycle. All ticket types use this common set of states, while each ticket type defines its own allowed state transitions through its `workflowTransition` configuration.

| State | ID | Description | Editable |
| --- | --- | --- | :---: |
| **New** | v1000 | The ticket has been newly created and is waiting for triage, classification, or assignment. | ✅ |
| **Assigned** | v1010 | The ticket has been assigned to an individual or team. Active work has not yet started. | ✅ |
| **In Progress** | v1020 | The ticket is currently being actively worked on. | ✅ |
| **Pending Approval** | v1030 | The ticket is waiting for a formal approval before work can continue. | ✅ |
| **Pending Feedback** | v1040 | Work is paused while waiting for additional information or feedback from the reporter or a third party. | ✅ |
| **On Hold** | v1050 | Work has been temporarily suspended or scheduled for a later point in time. | ✅ |
| **Resolved** | v1060 | A solution has been provided. The ticket is awaiting verification or final closure. | ✅ |
| **Closed** | v1070 | The ticket has been completed and archived. No further regular modifications are allowed. | ❌ |
| **Cancelled** | v1080 | The ticket has been cancelled or discarded and will not be processed further. | ❌ |
| **Reopened** | v1090 | A previously resolved or closed ticket has been reopened because additional work is required. | ✅ |

## Notes on customer-specific configurations

- Workflow states are **global** and shared across all ticket types.
- The allowed transitions between workflow states are defined **per ticket type** using the `workflowTransition` configuration.
- The following are considered **terminal states**:
- **Closed**
- **Cancelled**
- Transitions from terminal states are typically only possible via **Reopened**, often restricted to users with administrative permissions.
- Whether a ticket can be modified in a given state is controlled by the `allowEdit` property.
