Process a work order
The processing page is where you drive one work order through its life - build its routing, release it to the floor, work each step, and recover anything that gets stuck. Open it by clicking a WO number on the Work Orders list, or go to /login/wo/processWorkOrder.xhtml?id=<id>.
The header reads Work Order: WO-XXXXXX with the type, status and target date alongside, plus the standard chat, share and notification-star icons. What you can do depends on the WO's status:
- DRAFT - build the routing (add / edit / delete steps), set header fields, run a preflight check, then Release to Floor.
- IN_PROGRESS - drive each step through its lifecycle: process, complete, pause, request stock, capture progress.
- COMPLETED / CLOSED / CANCELLED - read-only audit view.
The action toolbar
Top-right, the buttons you see depend on status and your permissions:
- Release to Floor - the headline button on a DRAFT. Validates the routing, sets the WO IN_PROGRESS, and activates every PENDING step at the lowest priority.
- Recalculate Routing - re-runs the priority-based routing on the current steps; useful after you edit step priorities.
- Check Routing Config - opens the Preflight dialog (below) - surfaces problems that would block a release.
- Save as Template Copy - clones the current DRAFT into a new TEMPLATE so you can reuse the routing. See Work Order templates and schedules.
- Cancel Work Order - full cancel. Marks the WO CANCELLED and runs each non-finished step's cleanup (
onCancel), so downstream domain records - leave requests, reservations - unwind themselves. Read the confirm dialog: cancelling an IN_PROGRESS WO can roll back leave deductions and refund inventory reservations. - Copy Tracking Link - copies the public customer-tracking URL (an encrypted token) to your clipboard.
- Download Report - a PDF summary of the WO.
Below the toolbar sits a live Progress panel - a visual breakdown of how many steps are PENDING, ACTIVE, PAUSED, COMPLETED and so on - and, for Repair work orders, the five-stage Repair Pipeline banner (see Repair Orders).
Routing Steps - the heart of the page
A table of every step, sorted by priority slot:
| Column | Meaning |
|---|---|
| Priority | Routing slot - lower runs earlier; the same number means the steps run in parallel. |
| Type | The step type - Local Receipt, Repair Task, Approval, Assembly Task, and so on. |
| Description | The free-form note set when the step was added. |
| Last Activity | The most recent activity event for the step. |
| Status | PENDING / ACTIVE / PAUSED / AUTO_RETRY / ERROR / COMPLETED / CANCELLED. A waiting step shows "Waiting for: (the blocking step)". |
| Actions | Per-step buttons - see below. |
What you can do per step
- Process - opens the step's own working screen (the repair bench for a Repair Task, the receipt page for a Local Receipt, the assembly screen for an Assembly Task). Available when the step is ACTIVE and you are eligible.
- Edit - PENDING steps only. Opens the step builder for that type.
- Delete - PENDING steps only. The system refuses to delete ACTIVE or COMPLETED steps.
- Pause / Resume - a system pause happens automatically when a step is waiting on a child (e.g. a delivery); a user pause is allowed on certain task types and asks for a reason.
- Force Complete Step (admin) - bypasses the step's own validation. The confirm dialog requires a reason; the override is recorded. A last resort - see below.
- Force Resume Step (admin) - for a step stuck PAUSED whose blocker was cancelled or deleted. Clears the stale wait and returns it to ACTIVE. Runs no step logic and does not advance routing.
- Reassign Area (admin) - for Repair Task and Assembly Task steps; routes the step to a different area (and therefore a different pool of eligible workers) when the original area is unavailable.
- View Step Activity Log - the full event history for that one step.
Adding a step
Click Add Step above the table. The builder asks for:
- Step Type - picks which type (and therefore which builder form shows).
- Priority - its routing slot. On an IN_PROGRESS WO the system rejects a priority at or below the group currently running - you can only add steps that fall after the active group. A "Shift subsequent steps down (+10)" option lets you insert a step and push the later ones back.
- Description - free text.
- Type-specific fields - vary per type. Examples: a Local Receipt asks for an expected-items table (each item can carry an optional expected serial, shown to the floor as guidance); a Local Shipment asks for planned items; a Courier Booking asks for a direction plus the other party's address and a parcels table; a Delivery Request asks for a basket of products and a destination workbench.
Click Save Step. On a DRAFT it just persists; on an IN_PROGRESS WO at a higher slot it queues and activates when its priority comes up. The full catalogue of step types is in Work order steps field definitions.
Releasing
- Give every step the right priority and assignee.
- Click Check Routing Config. The preflight dialog lists blocking issues - a missing assignee, a BOM component with no assembly area, and so on. Click Fix on a row to jump to the offending step, then Re-check.
- When preflight is clean, click Release to Floor. The WO flips to IN_PROGRESS, the lowest-priority steps activate, and the right people see them in their queues (My Repair Tasks, My Assembly Tasks, Pending Approvals).
Activity Log
A tab next to Routing Steps holds the full audit trail - every state change, comment, part consumed, delivery confirmed - with Time, User, Action, Ref, Description. The same events are posted to the WO's system-chat conversation, so subscribers are notified as work lands.
Recovering a step in ERROR
If a step's start-up or completion threw an error, the row turns red and its status is ERROR. There are two recovery paths:
- Clear error - flips ERROR back to ACTIVE so the operator can fix the underlying cause and click Complete again. It does not re-run the step's start-up. Use this when the failure happened during completion and you want to keep the half-done state.
- Retry from error - resets the step to PENDING and re-runs it from the start. Use this for auto-completing steps (whose whole job runs at start-up), like Send Tracking Email or Leave Finalise.
The technical reason is captured in a STEP_ERROR activity event, visible in the log - but filtered out of the public customer-tracking page, so customers never see raw errors.
Tips
- Same priority = parallel. Use it to run independent steps at once (a Repair Router that fans out into four parallel Repair Tasks).
- A PAUSED step holds its slot - downstream steps will not advance until it resumes or completes. This is the usual cause of a "stuck" WO.
- Force Complete is the last resort. Most stuck steps clear with a normal complete, with stock arriving, or with Force Resume. Reach for Force Complete only when a step genuinely cannot finish through its own handler (an external system died) and you must move on.