Statuses & Flow
How tasks move through their lifecycle from creation to completion.
Overview
Every task in Deliverty Hub has a status that reflects its current position in the delivery lifecycle. Statuses transition in a defined order as the task progresses from creation through assignment, transit, and final resolution.
Understanding the status flow is essential for dispatchers monitoring operations, agents working through their task queue, and developers building integrations that react to status changes.
Status Reference
The platform defines seven statuses. Each status is shown below with its meaning and who typically triggers the transition:
| Status | Description | Triggered By |
|---|---|---|
| NEW | The task has just been created. It has not yet entered the assignment queue. This is the initial state for all tasks. | System (on task creation) |
| AWAITING_ASSIGNMENT | The task is ready and waiting in the assignment queue. The assignment engine will attempt to find a suitable agent. | System / Dispatcher |
| ASSIGNED | An agent has been assigned to the task, either automatically by the assignment engine or manually by a dispatcher. | Assignment engine / Dispatcher |
| ACCEPTED | The assigned agent has reviewed and accepted the task in their mobile app. The agent is now committed to fulfilling this delivery. | Agent (via mobile app) |
| IN_TRANSIT | The agent is actively en route — either heading to the pickup location or delivering the package to its destination. Live GPS tracking is active. | Agent (via mobile app) |
| COMPLETED | The delivery has been successfully fulfilled. The package has been handed off and any required proof of delivery has been captured. | Agent (via mobile app) |
| CANCELLED | The task has been cancelled and will not be completed. Cancellation can happen at any point before completion. | Admin / Customer / System |
Visual Flow
The standard happy-path flow moves linearly from left to right. A task can be cancelled from any status except COMPLETED.
Status Transitions in Detail
NEW → AWAITING_ASSIGNMENT
When a task is ready to be dispatched, it moves into the assignment queue. For ASAP tasks this happens almost immediately after creation. For scheduled tasks, this transition occurs when the scheduled time arrives.
AWAITING_ASSIGNMENT → ASSIGNED
The assignment engine evaluates available agents based on the configured algorithm (nearest driver, load-balanced, zone-based, etc.) and assigns the best match. Alternatively, a dispatcher can manually assign an agent from the dashboard.
ASSIGNED → ACCEPTED
The assigned agent receives a notification on their mobile app. They review the task details (pickup/drop-off addresses, packages, payment) and tap "Accept" to confirm they will handle the delivery.
ACCEPTED → IN_TRANSIT
The agent begins the delivery. They mark the task as "In Transit" when they start heading to the pickup location or when they depart with the package. Real-time GPS tracking activates for the customer and dispatcher.
IN_TRANSIT → COMPLETED
The agent arrives at the destination, hands off the package, and marks the task as completed. Proof of delivery (signature, photo) may be captured at this point depending on organization settings.
Cancellation
A task can be cancelled at any point before it reaches the COMPLETED status. Cancellation can be initiated by:
- Admin / Dispatcher — from the dashboard, for any reason (e.g., customer request, incorrect address, duplicate order).
- Customer — if the organization allows customer-initiated cancellations.
- System — automatically, for example if the assignment engine cannot find an available agent within the configured timeout period.
Once a task is cancelled, it cannot be reopened or resumed. If the delivery is still needed, a new task must be created. The cancellation reason is recorded in the task history for auditing.
Notifications per Status
The platform sends targeted notifications at each status transition. Different recipients receive different notification channels depending on the status change:
| Status | Customer | Agent | Admin |
|---|---|---|---|
| NEW | In-app, Email | — | In-app, Email |
| ASSIGNED | — | In-app, Push | In-app |
| ACCEPTED | In-app, Email | — | In-app |
| IN_TRANSIT | In-app, Email, SMS | — | In-app |
| COMPLETED | In-app, Email, SMS | In-app, Push | In-app, Email |
| CANCELLED | In-app, Email | In-app, Push | In-app, Email |
All task notifications are handled by a unified task-status-changed workflow powered by Novu. The workflow automatically routes content and channels based on the recipient type (customer, agent, or admin). See Notifications for more details.