Sorting with LightTag

Standard PoV · Parcel sort to destination

Workflow 1

What this workflow does

The operator loads a sort batch via get-job, scans each parcel barcode, and places it at the shown destination. After placement the parcel is confirmed and the loop continues until every item has a check timestamp — then the job completes.

Data formatjob;parcel;destination (CSV or API results[])
Main scan loopParcel → place at destination → confirm → next parcel
LightTagLightTags are optional and not required — the PoV works the same way with or without them.
LanguagesDE / EN via translationKeys
PoV example dataDestination 12.0.3

Typical scan sequence

Parcel Place at destination Confirm / scan dest. Next parcel …
Double-trigger on Placing Step confirms quickly. Scanning the destination barcode or another parcel from the job also advances the flow.

Operator journey

What the operator does on the watch — each step shows the screen, required action, and where the flow goes next.

1
Load Step Automatic

Sort batch loads via get-job. Parcels and destinations appear in results[].

  • Results present → Package Step
  • Empty job → No open orders (auto-reload after 25 s)
Sort batch3 parcels
Load Step
Loading Data

workflow y=40 · 18pt SemiBold · error y=70

↓ Package Step
2
Package Step Scan parcel

Scan parcel barcode. Must match an entry in the job.

Scan parcel Unknown → beep

OPTION Stop working ends the job from here.

Package Step
OPTION
Scan parcel

options 60×3 · scan_parcel y=40 · SCAN_NOW_TOUCH y=100

↓ Placing Step (destination shown)
3
Placing Step Place

Walk to destination 12.0.3. Place parcel in chute or slot.

12.0.3LT-12-0-3
Parcel filed

OPTION: too heavy / oversized / damaged → note on result.

Placing Step
OPTION
Destination
12.0.3
Parcel filed

destination y=43 auto · parcel_filed 180×50 y=148

↓ Confirm placement
4
Confirm placement Scan dest. Double-trigger

Confirm parcel is filed. Sets check timestamp on the result.

Parcel filed Scan 12.0.3 Double-trigger Scan next parcel
Placing Step
OPTION
Destination
12.0.3
Parcel filed

destination y=43 auto · confirm via parcel_filed / dest. scan / double-trigger

↓ Check Done Step
5
Check Done Step Loop

Workflow checks whether every result has check.

  • Open parcels remain → back to Package Step
  • All confirmed → job completes
Check Done Step
Loading Data

workflow y=40 · onAppear routes to Package or done()

↓ Package Step (more parcels) or Completion
6
Job complete Done

All parcels sorted. api.workflow.done() posts results via complete-job.

complete-job
Check Done Step → done
Loading Data

api.workflow.done() · all results have check

✓ Job finished

Flow diagram

Technical overview
flowchart TD
    Load[get-job / Load Step] -->|results| Package[Package Step
scan parcel] Load -->|empty| NoJob[No open orders] Package -->|parcel in job| Placing[Placing Step
destination] Package -->|unknown parcel| Package Placing -->|Parcel filed / dest. scan / double-trigger| Check[Check Done Step] Placing -->|scan other parcel| Placing Check -->|all check set| Done[api.workflow.done] Check -->|open items| Package style Package fill:#e8faf3,stroke:#4ED49B style Placing fill:#e6f7fc,stroke:#0090BD style Done fill:#e8faf3,stroke:#4ED49B

Key screens

Package Step
OPTION
Scan parcel
Placing Step
OPTION
Destination
12.0.3
Parcel filed
Damage Step
OPTION
Damaged Article
Light Damage
Heavy Damage

Options & special cases

OPTION menu branches

REST API

Pattern: get-job → work → complete-job

FieldMeaning
parcelScanned parcel ID
destination / storage_scanSort destination / location barcode
checkPlacement confirmed (ISO timestamp)
noteDamage or exception text

get-job (response)

{
  "name": "Sort batch 2026-06-24",
  "results": [{
    "parcel": "00340434161012345678",
    "destination": "12.0.3",
    "storage_scan": "12.0.3"
  }]
}

complete-job (request)

{
  "name": "Sort batch 2026-06-24",
  "results": [{
    "parcel": "00340434161012345678",
    "destination": "12.0.3",
    "check": "2026-06-24T16:05:00Z",
    "note": ""
  }]
}