Unit Claiming · Low Volume Claiming · step 1 / 6

Step 1 — Employee Authorization

Low-volume flow with conditional license-plate branch.

1. Employee Auth2. Part Number3. License Plate*4. Serial Number5. Pallet Qty6. Complete
flowchart LR
    T1[Employee Auth]
    T2[Part Number]
    T3[License Plate*]
    T4[Serial Number]
    T5[Pallet Qty]
    T6[Complete]
    T1 --> T2 --> T3 --> T4 --> T5 --> T6
    style T1 fill:#0f5e8a,color:#fff
    click T1 "./01-employee-auth.html" "Open step"
    click T2 "./02-part-number.html" "Open step"
    click T3 "./03-license-plate.html" "Open step"
    click T4 "./04-serial-number.html" "Open step"
    click T5 "./05-pallet-quantity.html" "Open step"
    click T6 "./06-skid-complete.html" "Open step"

Scan badge

(Use 11111 for testing)

Any 5-digit integer passes (2/24/2015 decision); unknown badges get default User rights, no Admin, no keyboard entry.

Skid summary (live)

Employee Badge #:
11111
Model #:
—
Pallet Id:
—
Pallet Qty / Claimed:
—
Unit Weight:
—
Packaging Mat. Wt:
—
Est. Skid Wt (no top):
—
Actual Skid Weight:
—
Variance Allowed:
—
FAS Cell:
—

Double-clicking a value jumps back to its step (SkipToCollectionStep).

Previous disabled on the first step (source: PrepareForm). Badge expiry re-routes here from any step.

API layer

NEEDLoadSecurityModel — badge rights + plant (spec/12-api/01-auth, path TBD; badge-to-web-identity open)
DB ▸ UnitClaimingAppSecurity (0 rows — seed needed)

Validation

V-EMP-01Badge format — 5 digits, or 6 starting with 9 (ValidationUtilities.CheckEmployeeBadgeFormat). Mismatch → “This does not appear to be a valid employee badge number.”, Next refused.
V-EMP-02Cached badge auto-advance — unexpired EmployeeBadgeIdCached prefills and skips forward without typing.
V-EMP-03Access rights — LoadSecurityModel: UnitClaimingUser=false → DeniedAccess step (red “access denied” state). ❌ No web endpoint yet (badge→web-identity open).
V-EMP-04Separate badge timeout (EmployeeBadgeTimeoutSecs) — expiry re-shows this screen even mid-flow.