Skip to content

Operational KPIs — metrics reference

Route: /reports/v2/operations/operational-kpis
Permission: order.reports.operational_kpis

Load = count of discrete operational events in the selected half-open date range [from, to) in browser timezone (p_tz).

Dimensions

DimensionRule
WarehouseFulfilling warehouse for orders/picklists; source WH for STR raised; destination WH for STR received
Date rangeURL ?from= / ?to=
BucketsHourly and daily arrays returned together; UI toggles display

Fulfilment pipeline (tracked)

KeyLabelAutomationLoad definition
order_punchingOrder punchingMixedOrders created in range
items_cancelledLine items cancelledMixedorder_items.status = cancelled, updated in range
picklist_generatedPicklist generatedAutoFulfillment picklists created
pickingPickingManualLines with pick_list_items.picked_at in range (not pick_lists.started_at)
packingPacking completedManualPacked picklists; packer from pick_list_items.notes (Packed N by uuid)
dispatchDispatch / rider handoffMixedDispatched/delivered picklists with rider; credits dispatched_by or historical packer backfill
deliverDeliveredMixedDelivered picklists; credits delivered_by or assigned rider backfill

Other tracked sections (summary)

SectionKeysNotes
IPD processesmanual_order_creation, hospital_orders, pending_lines, …Hospital QR split via notes ILIKE '%Patient QR:%'
Order processingstock_not_found, invoice_createdUnavailable lines; sales linked to picklists
STRstr_auto_morning, str_raised, str_receivedMorning window 07:00–09:00 local for auto-STR
Refundsorder_refundsReturn sales tied to fulfillment invoices

Not tracked (v1)

SKU mapping review, zero-dispatch marking, ward liaison, bag labelling, QC verify, handover documents, compounding/IV/TPN, discharge summary, pending ETA updates, ad-hoc STR reason — UI shows Not tracked badge.

RPC

reports_oms_operational_kpis(p_from, p_to, p_tz, p_warehouse_ids){ metrics[], totals }