JOURNEYS.md — user journeys (one per role, step by step)
Global shell (PLANNING §29): dashboard-first; TODOS = topmost card (desktop) / first in the mobile sidebar; Global Explorer (search/dropdown or app-button grid with favourites); capture-first (forward/snip/OCR/ voice → prefilled + spotlight-confirm); inline masters; WhatsApp buttons on follow-ups; feed-forward next-step cards; quote → confirm-link contract; party SPOCs.
Reading: [Screen] · 👀 sees · 👉 does · ⚙ system · A# flow ref ·
⚠GAP-n UI gap.
JOURNEY 1 — OFFICE / SALES — Commercial (done, kept)
JOURNEY 2 — OWNER — review & decide (ultra-detailed)
Flow coverage: A6 (hishob lifecycle) · B8 (yarn hishob/hishob-difference) · E-series reconciliations · F5 (hishob close) · BOARDS-A company board · PLANNING §29 (TODOS-first, approvals in-dashboard, WhatsApp on follow-ups, record chat, dumps).
Step 0 — Login & landing
/ — sidebar (TODAY · Explorer · cards) · YOUR TODOS topmost: Owner
approvals (4) · Hishob pending (2) · Exceptions (1) · Reservation expiries
(0); below: 🏢 Company card, 🤝 JW card, Quick entry. 👉 taps TODOS.
Step 1 — Approvals list (with aging + full documents)
/approvals — Reconciliations table (kind, dir given/received, party,
set, status, aging; Approve on pending rows). Each row: View full
reconciliation → full-page PDF-exportable document + original photo
(scanned GP/statement) — table shows key variables only. + Job-work
hishob rows
(contract, status; Approve→enable print / Print). 👉 picks highest
variance → drills (ⓘ What·Data·Who, expected vs actual vs variance,
record-chat, WhatsApp to party) → Approve or Flag exception (reason →
message to party). ⚙ event + status moves; variance resolves.
⚠GAP-11 reconciliation ENTRY screens (create-side given/received +
photos) not built yet.
Step 2 — Hishob approvals (A6/F5)
Hishob list → contract JW-1130 → yarn-given vs fabric-delivered (kgs + mtrs, per lot) + party-loan nets (all computed) → Approve → printEnabled=true → Print (gated route 403→200) → A4/PDF → WhatsApp to party → printed → sent → accepted via confirm-link.
Step 3 — Sample waivers > ₹1000
Approve/reject with reason; charge path decided (waiver vs billing/Tally).
Step 3b — The full approval matrix (PLANNING §30)
New SO / Yarn Booking / JW contract creations land here too; every amendment, cancellation or modification (sales marks it → owner todo → owner approves → system creates the APPENDAGE update form); rate renegotiations (job-work given AND outsourced) with owner-confirmed revised rates; consumption variances (actual vs standard per count/week); any exception flagged anywhere across the flow. Each row deep-links to the offending row of its sub-dashboard, with aging + WhatsApp to the requestor when a reply is needed.
Step 4 — Exceptions & expiries
One-tap resolve (assign, settle, refresh) or record-chat with @mention (lands on that member's TODOS).
Step 4b — Report & analytics monitoring (duty 2)
Between approvals, he watches the boards in read mode — capacity, order book, procurement need, live tiles — and flags anything for the teams; boards are his monitoring surface (BOARDS-A), not a separate report run.
Step 5 — Company board (steering)
/board/company — period bar + tiles: stock cycle · capacity bar
(open mtrs vs loom-days; drill → per-loom rows incl. out-house) ·
cover days · SO pipeline / order book / procurement common (per yarn:
ΣSO req − free − in-transit → suggested buy; drill → lot/booking →
WhatsApp to trader). ⚙ live aggregates. ⚠GAP-12 tiles need aggregate
queries wired (board-building with BOARDS-A) — engine exists.
Step 6 — Drill-to-decision day
Any tile → row → action there; dumps inherit filters; WhatsApp for human replies; never "go to reports" — the drill IS the work (§29). ⚠GAP-14 dumps from components.
Step 7 — End of day
TODOS empty or the waits are explicit; prints signed off from the phone.
⚠ Owner gaps: GAP-4 roles · GAP-11 recon ENTRY · GAP-12 board tiles · GAP-13 record-chat/@mention · GAP-14 component dumps.
JOURNEY 3 — PLANNER — the operations hub (ultra-detailed, round 31)
Flow: B0/C0–C6 (beams, intimation, transfers) · B4 allocations · B5/B8 yarn movements & hishob prep · C1 tippan · C3 sizing receipt (OCR confirm) · C4 out-house ledger · D1 beam plan · D4 outer confirmations · F0 dispatch plan (new) · + godown-head approvals (B7, godown entries) and PRE-APPROVAL for everything before the owner (matrix §30/31).
Step 0 — Login
/ — YOUR TODOS topmost with aging (e.g. "Warp waiting tippan (2d)",
"GP to receive — booking BK-300", "Sizing hishob to pre-approve").
YARN card + WARP card show the same items as rows (step-prior → trigger).
👉 oldest-due first.
Step 1 — Yarn card overview
YARN card rows: bookings pending GP reception (booking → receive-GP button) · unassigned inwarded yarn (park-lots → allocate) · warp waiting for tippan (Generate-tippan on the row) · outsourced weft-out GPs pending barcode fill · transfers/returns pending fill · hishob prep rows. 👉 acts from the card exactly like from TODOS.
Step 2 — Receive yarn GP / direct-delivery intimation (his purview)
Creates the receipt gatepass from the booking (or a direct-delivery intimation). Later GODOWN fills barcodes on arrival. ⚙ auto lot on delivery (unmarked → park-lot until he assigns).
Step 3 — Allocate (B4) — physical units
Per order: requirement vs lots. 👉 selects BAGS or CONES (partial bag) — never kgs (tap-tags for cone/bag counts). ⚙ reservation option; warp rows → "Plan warp (tippan)" card; weft → "Weft issue" card.
Step 4 — Tippan (C1) + beam outward (B0/C0)
Propose via solver (ends/parts/krill/measure, yarn source, weaver, beams) → confirm → save draft (refs assignable later) → issue → beam-out intimation: pick contract → approx beams pending → tap #beams → tap empty-on-floor beams → sizer + vehicle → Mark due (guard + transporter update instantly). Branches: reassign to another contract, sizer→ sizer transfer GP.
Step 5 — Sizing receipt & OCR (C3, both steps)
Two-step: (1) beams-in fields confirmed by him from the slip (OCR assist); (2) final sizing hishob + winding-yarn details → winding outward GP button appears on that card → creates + godown fills.
Step 6 — Out-house contracts (weaver / sizer / winder)
Receives each into the system (service arrangements) → out-house section of the plan + tippan weaver refs; winder refs for winding GPs.
Step 7 — Beam plan & confirmations (D1)
Board: running beams, floor beams, next-beam auto-suggest (knot>gat); tap-select assignments (⚠GAP-5 drag-drop later); out-house section on intimation; projected finish feeds checking plan + next order.
Step 8 — Beam starts & ends (D5, C6) — planner's task
BEAM START: when a beam goes to the machine, he taps knot/gat (prefill by plan, confirm); the previous beam's end is auto-computed (stop time, changeover vs target). BEAM END: cut-beam rows → reason + disposition (renegotiated rate → owner approval; warp-draw weight/return; re-size; defective-warp return). Beam cards created before the machine. ⚠ Shift boundaries happen AUTOMATICALLY from loom data — no user taps start/end of shift.
Step 9 — Yarn movements & hishob prep (B5/B8/F5)
Transfer contract→contract (clear a JW hishob's given/received); create yarn return GP (godown fills barcodes; small sent-vs-planned tolerance tolerated — no partial cones). Stock transfer (party→factory) auto-created → godown fills → system prints NEW barcodes → godown places on the boxes/bags. Then he checks the hishob, pre-approves, issues for owner approval.
Step 10 — Godown head (B7 + entries)
Approves the physical yarn stock count; approves godown entries which need it.
Step 11 — Dispatch plan (F0, NEW)
Creates dispatch plan: party, quality, approx rolls/taga/bales/mtrs → dispatch person makes the pre-slip (F1) → loading → final slip (F2). A step he owns that was missing from the flow — now in Stage F.
Step 12 — Pre-approval sweep
Everything he has purview over is pre-approved before reaching the owner; the owner's TODO only receives post-pre-approval items (exceptions apart).
⚠ Planner gaps: GAP-5 D1 drag-drop · GAP-15 allocation in bags/cones (physical units) · GAP-16 owner-approval wiring · GAP-17 OCR mtrs · GAP-18 winding-GP · GAP-19 dispatch-plan (F0) screen → pre-slip handoff · GAP-20 stock-transfer auto-create + new-barcode print.
JOURNEY 4 — GODOWN — receipts, movements & GP fills (ultra-detailed)
Flow: G4 (gate inward, barcode print) · B2 (yarn in, auto lot) · B5 (movements) · B7 (stock take) · C3 (sizing receipt — guard part) ·
- ROLE-SPLIT: fills the PLANNER-created GPs (outward / return / stock-transfer) with actual barcodes; prints NEW barcodes on stock transfer · F2 dispatch loading. Head = the planner (approvals for stock count / godown entries).
Step 0 — Login
/ — YOUR TODOS topmost with aging: "Fill GP BK-300 (yarn out to
sizer)" · "Stock-transfer fill → print new barcodes (JW→factory)" ·
"Movements to fill" · "Stock take due (weekly)" · "Sizing receipt: scan
beams". YARN card mirrors the same rows. 👉 oldest-due first.
Step 1 — Yarn in at the gate (G4/B2)
👀 Inward-code scan prompt (GP picked by planner → transporter en route). 👉 scans the transporter's inward code → taps partial / all vs the GP → gate PRINTS bag barcodes → applies each to a box during unload → confirms delivery. ⚙ system AUTO-CREATES the lot (contract-marked if an order is linked; else park-lot for the planner). ⚠GAP-9 lot-no field (on the GP) still to surface for single-lot sizing sets.
Step 2 — Fill the planner's GPs with barcodes (his core job)
Rows: yarn outward GP (outsourced weft issue), yarn return GP, contract→ contract transfer GP. 👉 opens GP → scans/selects the ACTUAL barcodes going (boxes/bags/cones) from the planned list → taps counts → Save. ⚙ small sent-vs-planned tolerance accepted (no partial cones) → status ready → guard taps out → transporter list updates instantly. Stock-transfer GP (party→factory): when he fills it, ⚙ the system PRINTS NEW BARCODES for physical re-identification → he places them on the boxes/bags (⚠GAP-21/22 fill+print screens).
Step 3 — Movements (B5)
Pick a kind: party↔factory account · contract→contract · short · weft-out · return-from-production. 👉 scan lots → taps bags/cones (+gross/net if measured) → vehicle no → Confirm. ⚙ audit trail + events; hishob-prep rows update on the planner card.
Step 3b — Weft issue (D2) — the godown manager does this
👉 scan bag → remaining cones shown → tap issued count → loom auto (beam → contract/fabric). ⚙ consumption tracked; party-loan auto when bag-party ≠ beam-party; saved/drawn differences flow to hishob-prep.
Step 4 — Sizing / beam receipts (C3, guard part)
👀 Beams arriving vs the outward list. 👉 taps the beams received + clicks the GP photo. ⚙ status → planner does mtrs/cuts/ends + OCR confirm later; two-step receipt holds until the sizing hishob.
Step 5 — Beam movements
Repair-out: guard taps (GP from planner); returns: scan + photo. 👉 tap- only, no typing (except vehicle).
Step 6 — Stock take (B7)
👀 scheduled stock-take queue. 👉 scans each bag → taps cone count; after all, system lists unmarked barcodes → he finds & resolves them. ⚙ expected-vs-actual difference → planner (godown head) approves; variance → owner exception if adverse.
Step 7 — End of day
TODOS drains; aging surfaces planner-created GPs he still must fill tomorrow. Paper only for external boundaries; everything internal = taps. NOTE: he does NOT execute outwards — the filled GPs ARE the intimation; the GUARD + TRANSPORTER execute the actual exit (Journey 6).
⚠ Godown gaps: GAP-9 lot-no · GAP-21 GP "fill with barcodes" screens (outward/return/stock-transfer) · GAP-22 stock-transfer NEW-barcode print device flow · GAP-7 vehicle camera OCR (later).
JOURNEY 5 — RUNNER — papers, small goods, sample courier, count checks
Physical-doc lifecycle everywhere: ready → picked-up-by-runner → delivered → received-signed-counter-copy (photo uploaded by him).
Step 0 — Login
/ — TODOS: pickup code to enter (planner issued), documents to pick
(which ones), drops with acknowledgement photos, sample couriers, count-
check runs. 👉 enters the day CODE → ticks which docs he's collecting
(partial allowed).
Step 1 — Collect the yarn GP / documents (signed + stamped)
Takes the GP from the planner (pickup code) → SIGNS + STAMPS it → hands to the TRANSPORTER for pickup (godown won't issue unstamped). ⚙ same code handover runner→transporter (transporter screen shows the code); the GP receipt already triggered BOTH dashboards.
Step 2 — Drops with acknowledgement photos
At each drop he uploads the acknowledgement photo: signed hishob · LR copy · courier receipt · signed counter-copy. ⚙ document lifecycle: delivered + counter-copy-signed.
Step 3 — Sample courier (A3/E)
Dispatched sample → pickup → printable party sticker → courier office → receipt (OCR no + courier) → sample delivered.
Step 4 — Count-check loop (yarn count dispute)
PRODUCTION HEAD raises the request → picks up the 5 cones issued by the godown manager → delivers to the LAB → when the report is ready, picks up cones + report → returns them. ⚙ if problematic, planner issues cones + report copy to the job-work party / broker → owner closure (discounts / debit note / excess-yarn issues…).
Step 5 — Small goods & errands
QR pickup/drop; read-only errand list, mark done; confirmation prompts for external docs.
⚠GAP-23 runner screen · GAP-24 physical-doc QR ledger · GAP-26 pickup codes · GAP-27 count-check tracking.
JOURNEY 6 — PRODUCTION HEAD — reports, approvals, count checks
Flow: E2/E3 (checking report sign-offs) · D4 consumption actual-vs- standard (weekly) · count-check loop (PLANNING §34).
Step 0 — Login
/ — TODOS/aging: Checking reports to approve · Weekly actual-vs-
standard consumption to pre-approve · exception rows (adverse
consumption per count).
Step 1 — Checking reports
Rows: unit/date → View full report (grade split, defects/100m, GSM vs computed, beam summary) → Approve (or flag). ⚙ sign-off recorded; the report needs his OK before dispatch-ready.
Step 2 — Weekly consumption (pre-approve)
Actual vs standard yarn per count for the week → variance rows → pre-approve (owner gets it after). ⚠ adverse difference → flag for the count-check loop.
Step 3 — Count-check request (any time)
Suspicious count → taps Raise count check: 5 cones of the contested yarn. ⚙ godown manager issues the 5 cones → RUNNER transports to lab → report back → if problematic → planner issues cones + report copy to the job-work party / broker → OWNER closes (discount / debit note / excess-yarn issue).
⚠GAP-28 production-head board (checking-approval + consumption pre- approval + count-check tracking).
JOURNEY 7 — GATE GUARD — tap it in/out (ultra-detailed)
Scope: ins/outs ONLY, driven by intimations. Fills/movements/planning are godown/planner; he opens and closes the premises (PLANNING §33).
Step 0 — Login
/ — TODOS: "Outward due: GP-… (2 beams)" · "Inward code to scan" ·
"Dispatch loading due". 👉 oldest first; nothing else on his screen that
isn't a door task.
Step 1 — Out tap (every outward is an intimation → his tap)
👀 due-list from filled gatepasses (yarn outward, beam-out, returns): each row = GP no + beam/box list + vehicle. 👉 taps each beam/box as it actually exits + reconfirm. ⚙ status=exited; transporter's picked list reconciles; planner/sales see it green. ⚠ a NON-intimated item cannot be tapped — exception to the planner.
Step 2 — In (barcode print)
👀 inward-code scan prompt. 👉 scans → partial/all → gate printer prints bag barcodes → he hands them (helper applies). ⚙ delivery → godown's lot auto-created.
Step 3 — Dispatch loading (F2)
Against the pre-slip (planner's F0 → dispatch person's pre-slip): 👉 tap-loads each marked roll into the vehicle. ⚙ load complete → final dispatch slip generated; balance vs plan checked.
Step 4 — End of day
No master data, no fills, no typing beyond vehicle (camera OCR) — pure taps. Anything not on an intimation stays outside today.
JOURNEY 8 — TRANSPORTER — collect & pick (ultra-detailed)
Step 0 — Login — due-for-collection list (every outward
intimation marked due appears instantly): GP no, kind, party, beam numbers/boxes to lift.
Step 1 — Collect — 👉 taps each document as physically collected
(Picked / Partial). ⚙ status updates; guard reconfirms; godown sees arriving docs.
Step 2 — Routes — pickups grouped by trip; taps done per stop.
⚠GAP-25 trip/route view (basic list now).
Step 3 — Dispatch runs — pre-slip rolls list → taps loaded per roll;
completion → final slip.
Step 4 — End — taps only; outstanding pickups age on the list.
JOURNEY 9 — MENDER / CHECKER — grading (ultra-detailed)
Step 0 — Login — WIP queue (roll-doff barcodes, machine+beam+seq).
Step 1 — Per roll — scan → roll opens (machine/beam/design auto) →
mtrs (prefill) · kg (scale) · grade chips A/B/C/R · defect tap- list → ⚙ points/100m auto (4-point; ≥24 → reject → seconds) → Confirm → FG roll barcode; WIP bucket reduces (E1–E4).
Step 2 — Rolling ops — split/join; fold path scans the unfolded lump
→ Folding.
Step 3 — Checking report (out-house, E3) — piece no, defects, grade,
L2L sample + RS on loom; sign-offs (weaver+prod+mending). ⚠GAP-10 4-point auto-reject + printer wiring.
JOURNEY 10 — FOLDING — lump path (ultra-detailed)
Step 0 — Login — Lump queue (mended, unfolded).
Step 1 — Fold — scan WIP sticker on the unfolded lump → 100-m lumps →
⚙ FG lump barcodes per fold (one-to-many/many-to-one tracked).
Step 2 — Baling (E5) — tap 5–6 lumps → bale → bale barcode; mode
rule auto (JW unbaled · trading baled · out-house as-is→baled in-system); bale insert slip prints.
JOURNEY 11 — ROUNDER — out-house daily (ultra-detailed)
Step 0 — Login — Out-house units list (out-house board section).
Step 1 — Per machine (D3/C4) — loom no → remaining warp on beam
(machine display) → mended mtrs ready → machine meters → saved to the out-house ledger (never mixes in-house); checking report references the mended mtrs; planner cross-checks vs fabric-in.
Step 2 — Fabric-in alignment — numbers tie to the weaver's slip;
per-roll confirm while unloading; stock location = weaver when packed on-site. ⚠GAP-8 rounder screen.
JOURNEY 12 — SIZER / WEAVER (external — NO login)
Step 0 — WhatsApp confirm-link / pretyped question (from planner/
sales).
Step 1 — Confirm — 👉 taps Confirm (received / partial / damaged) +
photo ⚙ → uploaded to the record; planning acks; intimations close.
Step 2 — Counter-copy — GP counter-copy signature photo → planning
acks (direct-delivery confirmation completes). Tokenized links only.