Pick Lists

How pick lists group order shipments for warehouse and in-store picking in Omnium, including statuses, deviation handling, and the Pick List API.

A pick list groups shipments from one or more orders so they can be picked together at a single warehouse or store. Picking staff work through the list item by item, register what was actually found on the shelf, and complete the list — at which point Omnium pushes the result back onto the underlying orders.

Pick lists are the link between order management and physical fulfillment: an order tells you what was sold, a pick list tells you what was collected, by whom, and where. Warehouse picking, in-store picking for click and collect, and store-to-store transfers all run through the same pick list model.

For click and collect specifically, Omnium also has a dedicated, simplified view built around that flow. Pick lists work for click and collect orders too, but the dedicated view is the lighter option — see Click and Collect.


How pick lists are created

Pick lists are created by users, not by the order workflow. A user selects the shipments to pick — in the Omnium UI or in the Omnium In-Store App — and Omnium builds a pick list from them:

  1. A new pick list gets an ID from the PickListNumberOptions number sequence and is created with status New.
  2. The list is assigned to the user who created it, and to a warehouse. When no warehouse is given, the user's selected store is used.
  3. Each selected shipment is added to the list, along with the products, quantities, and warehouse locations of its order lines.

Because creation is user-driven, the public API is a read-and-annotate surface: you can search pick lists, read them, and patch status and properties, but you cannot create a pick list or add shipments to one through the public API.

Shipments that belong to a pick list can be locked against editing, so that a shipment being picked is not changed underneath the picker. See the IsLockShipmentsOnPickList order setting in Order configuration.


Pick list statuses

StatusMeaning
NewThe pick list has been created but picking has not started.
InProgressPicking has started. The orders on the list have been moved to their in-progress status.
CompletedPicking is finished and the result has been applied to the orders.
TransferredThe list was handed over to another warehouse, and its shipments were reallocated or merged there.
QueuedThe list is currently being processed. It is set while orders are being updated, and it blocks a second update from starting at the same time.

Queued is a guard, not a resting state. If a pick list is stuck in Queued, an update was started and did not finish — attempting another update on it is rejected rather than applied twice.


Completing a pick list

When a pick list is completed, Omnium walks through every picked item and updates the corresponding order line and shipment. Three quantities drive this:

QuantityMeaning
OrderedWhat the customer ordered on that line.
PickedWhat the picker registered as found.
RestThe deviation on the line. A shortfall is recorded as a negative value, and its size is the quantity that could not be picked.

When everything is picked, the shipment is fulfilled and the orders move on through their workflow. When something is missing, the line needs a deviation handling decision before the list can be completed.

Deviation handling

Each item with a shortfall carries a rest action that tells Omnium what to do with the quantity that was not picked:

Rest actionEffect on the order
CancelOrderLineThe missing quantity is canceled on the order line. If every line in a shipment is canceled, the shipment is removed; if every line on the order is canceled, the order is set to canceled.
ReallocateThe missing quantity is released for reallocation, so it can be fulfilled from another warehouse.
CreateSplitShipmentThe missing quantity is split into a separate shipment to be delivered later, while the picked quantity ships now.
AttentionRequiredNo automatic change is made. A warning is registered on the order with the picker's comment, and the order is left for manual handling.

AttentionRequired takes precedence: if any item on the list is flagged for attention, the order is flagged and none of the other rest actions are applied to it.

A default rest action can be configured per tenant, so partially picked lines get a sensible fallback instead of blocking the picker — see Configuration.

Transferring to another warehouse

A pick list can be handed over to a different warehouse instead of being picked where it is. For each shipment on the list, Omnium either merges it into an existing shipment for the target warehouse, or moves the shipment to that warehouse and detaches it from the pick list. The pick list itself ends up with status Transferred.


Pick List API

Base URL

https://api.omnium.no/api/PickList

Full Swagger reference: Omnium Pick List API Documentation.

Authentication

All endpoints require Bearer token authentication and the Order Read role (the Order Admin role also grants access). See Authentication for details on obtaining tokens.

Endpoints

MethodEndpointDescription
POST/api/PickList/SearchSearch pick lists by creation date, with paging and sorting
GET/api/PickList/Get?id={id}Get a single pick list by ID
PATCH/api/PickList/PatchPickListUpdate the status and properties of a pick list

Pick list model

PropertyTypeDescription
IdstringUnique pick list ID, generated from the PickListNumberOptions number sequence
NamestringName of the pick list
CreateddatetimeWhen the pick list was created (UTC)
ModifieddatetimeWhen the pick list was last changed (UTC)
WarehouseCodestringID of the warehouse or store the list is picked at
WarehouseNamestringName of that warehouse or store
StatusstringPick list status
PickListOrderItemsarrayThe order and shipment references on the list
PropertiesarrayCustom key-value properties

Each entry in PickListOrderItems identifies one shipment:

PropertyTypeDescription
OrderIdstringID of the order the shipment belongs to
ShipmentIdstringID of the shipment on that order

The API exposes the shipments a pick list covers, not the picked line items. To see products, quantities, and picking results, read the referenced orders — the pick list result is written back to their shipments and order lines when the list is completed.

Search pick lists

Endpoint: POST /api/PickList/Search

PropertyTypeDescription
TakeintNumber of pick lists to return. Defaults to 100 when omitted or 0
PageintPage number, starting at 1. Defaults to 1 when omitted or 0
CreatedFromdatetimeOnly pick lists created on or after this date
CreatedTodatetimeOnly pick lists created on or before this date
SortOrderstringCreatedAscending, CreatedDescending, ModifiedAscending, or ModifiedDescending. Defaults to CreatedDescending

Example request:

{
  "take": 25,
  "page": 1,
  "createdFrom": "2026-08-01T00:00:00Z",
  "createdTo": "2026-08-31T23:59:59Z",
  "sortOrder": "CreatedDescending"
}

Example response:

{
  "totalHits": 2,
  "result": [
    {
      "id": "PL100241",
      "name": "Morning pick - Oslo",
      "created": "2026-08-28T06:12:44Z",
      "modified": "2026-08-28T07:41:02Z",
      "warehouseCode": "OSLO-01",
      "warehouseName": "Epic Enterprise Oslo",
      "status": "Completed",
      "pickListOrderItems": [
        {
          "orderId": "ORD-2026-004417",
          "shipmentId": "8f2b91c4-5d0e-42a7-9c31-6b4de2f70a15"
        }
      ],
      "properties": []
    },
    {
      "id": "PL100240",
      "name": "Click and collect - Oslo",
      "created": "2026-08-27T13:55:10Z",
      "modified": "2026-08-27T13:55:10Z",
      "warehouseCode": "OSLO-01",
      "warehouseName": "Epic Enterprise Oslo",
      "status": "New",
      "pickListOrderItems": [],
      "properties": []
    }
  ]
}

Results are limited to the warehouses the calling user has access to.

Get a pick list

Endpoint: GET /api/PickList/Get?id=PL100241

Returns the pick list, or 404 Not Found when no pick list has that ID.

Patch a pick list

Endpoint: PATCH /api/PickList/PatchPickList

Only the properties present in the request are changed. Id is required; sending it without an ID returns 400 Bad Request.

PropertyTypeDescription
IdstringID of the pick list to update. Required
StatusstringNew pick list status
PropertiesarrayCustom key-value properties. An empty array clears all properties

Example request:

{
  "id": "PL100241",
  "status": "Completed",
  "properties": [
    {
      "key": "ExternalPickTaskId",
      "value": "WMS-88213",
      "valueType": "String"
    }
  ]
}

The updated pick list is returned in the response.

Patching Status changes the pick list record only. It does not apply the picking result to the underlying orders — no order lines are canceled, reallocated, split, or moved forward. Use this endpoint to record the state of a pick list handled in an external system, not to complete picking in Omnium.


Finding the orders on a pick list

Order search accepts a PicklistIds filter, so you can retrieve every order that has a shipment on a given pick list:

{
  "picklistIds": ["PL100241"],
  "take": 50
}

See the Order API Reference for the full order search request.


Tracking pick list activity

Pick list operations are recorded as events, and can be subscribed to like any other Omnium event. Creation, item changes, order updates driven by a pick list, transfers, and deletions each have their own operation ID in the 114x and 214x ranges. See Events for the full list and for how to subscribe.


Configuration

Pick list behavior is configured per tenant under PickListSettings.

PropertyTypeDefaultDescription
DefaultRestActionstringRest action applied automatically to a partially picked line that has no deviation handling set. Shown as Default deviation handling.
OrdersToPickStatusesarrayOrder statuses whose orders appear in the orders-to-pick list.
AllowedOrderStatusesarrayOrder statuses a pick list is allowed to move orders to. Shown as Allowed order statuses for update.
ShowInStockItemsOnPickListboolfalsePrint the in-stock quantity for each item on the pick list. Shown as Display the quantity of items in stock when printing picklists.
HideCommentsOnPickListOrdersboolfalseHide order comments in the pick list orders view. Shown as Hide comments on pick list orders view.

Pick list IDs come from the PickListNumberOptions number sequence — see Number options for how to configure the format and starting number.