Change Driver availability
Driver availability is an operational state used when determining whether a Driver can receive work. The Profile availability area can show a toggle, loading indicator, or configuration-hidden state. This reference explains the states and boundaries; it does not instruct changing a live Driver.
:::warning The availability toggle sends an immediate update
Selecting the toggle can change Driver state, availability history, schedules, jobs, and live manager views. Do not select it to test visibility, schedule, distance, order assignment, or documentation.
:::
Availability
The availability area appears in Profile for a Driver account. Its control is shown by default and hidden only when the current configuration value for availability status is exactly disabled.
| Profile state | Safe interpretation |
|---|---|
| Toggle visible | The current App configuration exposes a change control |
| Toggle hidden with a not-available message | The App configuration hides the control; it is not a current backend availability receipt |
| Toggle on | Returned/local Profile state currently presents available as true |
| Toggle off | Returned/local Profile state currently presents available as false |
| Spinner | An availability update or state refresh is unresolved |
Control visibility does not establish that the Driver is eligible to change state, currently within schedule or distance, free of assigned orders, or able to receive a new request.
State and result matrix
| Stage | What can happen | What it does not prove |
|---|---|---|
| Visible | Profile renders a toggle from configuration and local user state | Eligibility or current server state |
| Intended | A person selects the opposite value | A request started or passed validation |
| Loading | Driver App disables the control and waits | That the update was accepted |
| Validation error | The current-source backend can reject for assigned orders, schedule, distance, authorization, limits, or duplicate request | That no other concurrent Driver state changed |
| Returned user | Driver App can replace local session/user state with returned data | That every job, history, socket, or assignment consumer settled |
| Success-looking toast | The client received a non-error response | Durable availability, order receipt, or provider completion |
| Socket refresh | A Driver-change event updates local fields | Exactly-once delivery or authoritative current state |
Eligibility boundaries
Turning availability on and off have different source checks:
| Intended state | Current-source checks and effects | Boundary |
|---|---|---|
| Turn on | If the compound state is currently off, the backend checks the Driver schedule and configured availability distance before setting availability | A visible toggle does not pre-validate schedule, distance, location freshness, or business eligibility |
| Turn off | If the compound state is currently on, the backend checks for assigned in-progress orders before closing availability | The Profile UI does not block the tap before the request |
| Request current value | The backend can return the current user without an availability field change | A success-looking response does not prove a transition occurred |
Availability, busy state, enabled state, schedule, timezone, temporary availability, distance rules, stored location, active assignments, and automatic schedule behavior are related but not interchangeable.
Effects and boundaries
An accepted availability change can update the Driver and availability timing, write user history/logs, create an availability-lapse record when closing, dispatch Driver/schedule jobs, run plugins, and emit socket updates. Some follow-on work is best-effort, so a returned user or toast is not an atomic completion receipt.
Distance eligibility can depend on stored Driver and business locations. It is not proof that the Driver's location is fresh, precise, trusted, or safe from mock input. Availability on also does not guarantee that the Driver will receive an order; assignment, busy, group, capacity, schedule, distance, connectivity, and competing-request rules remain separate.
Troubleshooting
The toggle is missing
The current project can hide the availability control. The not-available text in that state describes the configured Profile presentation, not a confirmed backend transition. Contact the project operator instead of trying another control.
Turning availability on reports a schedule error
The current-source update checks the Driver's configured schedule and timezone. Review the current schedule with the operator. Do not change device time or repeat the toggle to bypass the gate.
Turning availability on reports a distance error
The current-source update can compare stored Driver location with configured business/group distance rules. Do not repeatedly refresh location or toggle availability as a test. Review Understand Driver permissions and ask the operator to verify the operational location policy.
Turning availability off reports assigned orders
The backend can block closing availability while in-progress orders are assigned. Review the authorized order list and contact the dispatcher/operator; do not reject, reassign, or change order status to clear the toggle.
The toggle or toast changes but work state looks unchanged
Local Profile state, backend user state, schedule jobs, socket consumers, and assignment eligibility can settle separately. Do not repeat the toggle. Wait for the current state to refresh and ask the operator to reconcile it.
Related guides: Navigate Driver App · View the Driver profile · Understand Driver permissions · Driver App overview