Knowledge Base

Work order steps field definitions

Edit

What a step is

A step (also called a line) is one executable unit of work inside a work order. Each step has a type (LineType), a priority slot, an assignee, a status, and step-specific data. Steps at the same priority run in parallel; the WO advances to the next priority once all steps in the current group are COMPLETED or CANCELLED.

This page lists every step type the engine knows about, grouped by what they do. The display name is what shows in the Type column on the routing-steps table.

Inbound and routing

Display name Type Auto-completes? Purpose
Local Receipt LOCAL_RECEIPT No Creates a Local Receipt document for items being received into the WO (typically a customer return for repair).
Repair Router REPAIR_ROUTER Yes Reads the items received by a preceding Local Receipt and spawns one Repair Task per unique product, routing each to its repair area.
Sales Receipt Router SALES_RECEIPT_ROUTER Yes Reads the items planned by a preceding zero-cost SO step and spawns a Local Receipt pre-populated with the same line items. Used in customer-return flows.

Hands-on tasks

Display name Type Auto-completes? Purpose
Repair Task REPAIR_TASK No The technician's bench step. Captures repair notes, consumes/replaces parts, can pause for stock or assessment. Eligible to anyone with REPAIRER permission for the line's area.
Repair Assessment REPAIR_ASSESSMENT No Optional pre-repair inspection. Technician documents required parts and work; spawns an Approval child for the manager.
Assembly Task ASSEMBLY_TASK No Incremental assembly of one product from its BOM, one unit at a time. Spawns delivery requests for shortages and sub-assembly tasks for assemblable components.
Instruction INSTRUCTION No Plain-text task assigned to a person. They enter completion notes and click Complete.

Approvals and gates

Display name Type Auto-completes? Purpose
Approval APPROVAL No Generic approval gate. Standalone (its own WO): denial cancels the WO. Spawned by another step: result is passed back via onApprovalResult(). Used for leave, custom-schedule, and assessment approvals.
Select Stand-In Manager LEAVE_STANDIN_SELECT No Only added when the leave applicant is a manager. They pick a cover manager before the request can move on.

Warehouse logistics

Display name Type Auto-completes? Purpose
Delivery Request DELIVERY_REQUEST No Asks a warehouse picker to deliver items to a target location (e.g. a repair bench). Multiple shortfalls to the same destination should be batched into one request.
Collection Request COLLECTION_REQUEST No Asks a warehouse picker to collect items from a workbench and return them to stores.
Material Used MATERIAL N/A Bookkeeping line — no handler. Records BOM consumption or replacement parts. Created by repair / assembly tasks as side-effects, not added by hand.

Outbound and dispatch

Display name Type Auto-completes? Purpose
Courier Booking COURIER_BOOKING Conditional Books an Aramex courier waybill + collection. Must come before Local Shipment.
Local Shipment LOCAL_SHIPMENT No Creates an outbound Local Shipment document — the customer-facing parcel.
Send Tracking Email SEND_TRACKING_EMAIL Yes Sends the customer an email with an AES-encrypted link to the public tracking page.

Sales-shipment integration

Display name Type Auto-completes? Purpose
BMSEX Zero-cost Sales Order BMSEX_SO_CREATE_ZERO_COST Yes Creates a zero-cost Unleashed Sales Order for a BMSEX replacement and promotes it to Placed.
Zero-cost Sales Order SALE_SO_CREATE_ZERO_COST Yes Creates a zero-cost Unleashed Sales Order for user-configured planned items.
Sales Shipment (Create) SALES_SHIPMENT_CREATE Conditional Creates one Parked Sales Shipment per preceding SO step, checks stock, and promotes to Placed. Enters AUTO_RETRY (retries every 5 min) if stock is short.
Sales Shipment (Dispatch) SALES_SHIPMENT_DISPATCH Conditional Waits for every linked Sales Shipment to be Dispatched in Unleashed. Auto-completes via dispatch callback.

Leave / overtime workflow

Generated by the leave module — you don't usually add these by hand.

Display name Type Auto-completes? Purpose
Leave Finalise LEAVE_COMPLETE Yes Deducts the leave balance and marks attendance once the request is approved.
Leave Edit LEAVE_EDIT No Manager approves/rejects an edit to an already-approved leave request.
Leave Cancellation LEAVE_CANCELLATION No Manager approves/rejects a cancellation of an already-approved leave request.
Custom Schedule Finalise CUSTOM_SCHEDULE_COMPLETE Yes Applies an approved overtime / custom-schedule entry to the daily attendance record.
Custom Schedule Cancellation CUSTOM_SCHEDULE_CANCELLATION No Manager approves/rejects a cancellation of an already-approved custom-schedule entry.

Deprecated leave step types

You'll see these only on legacy WOs created before the generic Approval step took over the same role. Don't add them to new WOs.

Display name Type Replacement
Leave Approval LEAVE_APPROVAL Approval with customActionUrl pointing to /login/myAdmin/myAdmin.xhtml?leaveId=
Custom Schedule Approval CUSTOM_SCHEDULE_APPROVAL Approval with customActionUrl pointing to /login/myAdmin/myAdmin.xhtml?otRequestId=

Dev-only

Display name Type Purpose
Test Exception (Dev) TEST_EXCEPTION Throws a configurable exception in onStart or onComplete. Used to verify rollback behaviour. Never put it on a production WO.

Tips

  • Auto-completes? in the tables means the system completes the step immediately after onStart() succeeds — no operator click needed. Useful for steps whose entire job is to call an external system (email, SO create) and then get out of the way.
  • A Conditional auto-complete means the step decides at run time: typically yes if stock arrived, no if we have to wait.
  • Material lines carry no handler — they're bookkeeping records that get spawned by Repair Task and Assembly Task as parts are consumed. You shouldn't see them in the routing-builder dropdown for a manual add.
  • For most new approval needs, use the generic Approval step (not the deprecated leave/custom-schedule variants). It supports a customActionUrl so the assignee lands on the right page when they click through.

Related articles