User Stories Baseline Source: ~/ALAI/products/Plock/docs/demo-readiness/01-user-stories-baseline.md PLOCK — User Stories Baseline Date: 2026-03-14 Purpose: Establish a first canonical user-story baseline for PLOCK using real repository evidence and authoritative product documents. This is not yet the final polished story set; it is the operational baseline for documentation, QA, and backlog slicing. 1. Scope and Method This baseline is derived from: docs/PRD.md actual backend route/service structure actual frontend MFE structure integration modules present in the repository operational and regulatory documentation where relevant This document intentionally avoids inventing features not supported by either: current product docs, or current repository structure 2. Story Status Model Each story is tagged as one of: exists — strongly supported by real code/routes/docs partial — visible in docs and/or code structure, but maturity unclear planned — described in docs, but implementation evidence is limited or phase-dependent 3. Receiving / Inbound US-INB-001 — Receive goods via barcode Status: exists Evidence: PRD.md , ReceivingRoutes.kt , ReceivingService.kt , barcode-related backend structure As a warehouse worker I want to scan a barcode and identify the purchase order it belongs to So that I can receive goods correctly without manual lookup US-INB-002 — View open purchase orders Status: exists Evidence: PRD.md , ReceivingRoutes.kt , supplier/receiving route structure As a warehouse manager I want to see all open purchase orders and expected arrival dates So that I can plan staffing and dock capacity US-INB-003 — Guided putaway after receiving Status: partial Evidence: PRD.md , LocationRoutes.kt , PutAwayService.kt As a warehouse worker I want to be guided to the correct bin location after receiving So that I do not need to memorize where products belong US-INB-004 — Detect receiving discrepancies Status: exists Evidence: PRD.md , ReceivingDiscrepancyTest.kt , discrepancy migration/table evidence As a warehouse manager I want to be notified immediately when received quantities do not match the purchase order So that I can resolve supplier issues before inventory is corrupted 4. Inventory Management US-INV-001 — Real-time inventory visibility Status: exists Evidence: PRD.md , InventoryRoutes.kt , InventoryService.kt As a warehouse manager I want to see the exact quantity of a SKU by location in real time So that I can answer operational questions without walking the warehouse US-INV-002 — Reorder point alerting Status: partial Evidence: PRD.md , inventory domain present; implementation maturity unclear As a warehouse manager I want to receive an alert when inventory falls below reorder point So that I can prevent avoidable stockouts US-INV-003 — Zone-based cycle counts Status: exists Evidence: PRD.md , CycleCountRoutes.kt , CycleCountService.kt , tests As a warehouse manager I want to run a cycle count for a specific zone without stopping all operations So that I can maintain inventory accuracy continuously US-INV-004 — Mobile-assisted physical inventory count Status: partial Evidence: PRD.md , V7 mobile support migrations, runbook/mobile references As a warehouse worker I want to perform physical inventory counts on a mobile device So that counting is faster and less error-prone than paper workflows 5. Orders / Outbound US-OUT-001 — Release urgent orders quickly Status: exists Evidence: PRD.md , OrderRoutes.kt , order/picking domain structure As a warehouse manager I want to release urgent orders with a single action So that I can respond quickly to escalations and deadlines US-OUT-002 — Work from structured picking flow Status: exists Evidence: PickingRoutes.kt , PickingService.kt , mfe-picking As a picker I want to receive a structured picking workflow So that I can pick efficiently and consistently US-OUT-003 — Verify packing with product photo Status: partial Evidence: PRD.md , frontend/product/packing intent visible in docs As a packing worker I want to see a product photo during packing So that I can confirm I am sealing the correct item US-OUT-004 — Unified shipment tracking view Status: partial Evidence: PRD.md , ShipmentRoutes.kt , carrier integration structure As a warehouse manager I want to see outbound shipment status in one place So that I can proactively handle delays and customer issues 6. Shipping / Carrier Operations US-SHP-001 — Print carrier labels directly from Plock Status: exists Evidence: PRD.md , PostNord/DHL/Instabee integration code, shipment/carrier routes As a warehouse worker I want to print shipping labels directly from Plock So that I do not need to log into separate carrier portals US-SHP-002 — Use multiple carriers in one operational flow Status: exists Evidence: CarrierRoutes.kt , CarrierIntegrationRoutes.kt , multiple carrier adapters/services As a warehouse manager I want to work with PostNord, DHL, and Instabee in one system So that outbound shipping does not depend on multiple manual carrier workflows US-SHP-003 — Track carrier sync and integration health Status: partial Evidence: integration_sync_log schema, runbook sections for Fortnox/carrier failures As a system operator I want to inspect carrier/integration sync behavior So that I can detect and troubleshoot failures quickly 7. AI / Smart Warehouse Operations US-AI-001 — Ask warehouse questions in Swedish Status: partial-to-exists Evidence: PRD.md , AI-STRATEGY.md , mfe-ai/ , product positioning As a warehouse manager I want to ask warehouse questions in Swedish and get immediate answers So that I can make decisions without SQL, exports, or manual searching US-AI-002 — Execute warehouse commands via AI with confirmation Status: planned / partial Evidence: PRD.md , AI-STRATEGY.md As a warehouse manager I want to trigger operational actions through natural language with explicit confirmation So that I can manage exceptions faster than through deep UI navigation US-AI-003 — Optimize pick routes Status: partial-to-exists Evidence: PRD.md , AI-STRATEGY.md , picking domain, runbook references to Smart Picking As a warehouse manager I want to use smart pick route optimization So that workers spend less time walking and more time picking 8. Dashboard / Monitoring US-DASH-001 — Operational dashboard Status: exists Evidence: DashboardRoutes.kt , PRD.md , dashboard domain As a warehouse manager I want to see a real-time dashboard with today’s operational KPIs So that I can spot bottlenecks before they become incidents US-DASH-002 — Monitor shipment and fulfillment progress Status: partial Evidence: dashboard/shipment routes, PRD As a operations lead I want to monitor fulfillment progress and pending shipments So that I can intervene before SLAs are missed 9. Users / Roles / Multi-Tenancy US-SEC-001 — Manage users and roles Status: exists Evidence: UserRoutes.kt , RoleRoutes.kt , RbacService.kt As an admin I want to manage users and roles So that only the right people can perform sensitive warehouse actions US-SEC-002 — Restrict data by warehouse Status: exists Evidence: TenantPlugin.kt , RLS-AUDIT.md , RLS migrations As a warehouse operator I want to only see data for my warehouse So that tenant/customer separation is enforced safely US-SEC-003 — Keep tenant isolation enforced at the DB layer Status: exists Evidence: RLS-AUDIT.md , migration V6__rls_tenant_isolation.sql As the platform I want to enforce tenant isolation in PostgreSQL using RLS So that application bugs do not automatically become cross-tenant data leaks 10. Integrations / Accounting US-INT-001 — Sync warehouse/accounting data with Fortnox Status: exists Evidence: Fortnox integration modules, docs, secrets, runbook As a Swedish SMB operator I want to integrate Plock with Fortnox So that warehouse operations and accounting stay aligned US-INT-002 — Re-authorize or recover from Fortnox sync failure Status: partial-to-exists Evidence: Fortnox OAuth/sync routes, runbook incident section As a tenant admin I want to reconnect or recover the Fortnox integration when it fails So that business operations are not blocked by stale tokens or sync errors 11. 3PL / Client Isolation (Phase-Dependent) US-3PL-001 — Separate client inventory views Status: planned Evidence: PRD.md , GTM-STRATEGY.md , regulatory references As a 3PL operations lead I want to see inventory separated by client So that I can manage a multi-client warehouse safely US-3PL-002 — Support 3PL billing workflows Status: planned Evidence: REGULATORY.md , GTM and pricing logic As a 3PL operator I want to support warehousing-service billing workflows So that customer charging is structured and scalable 12. Business / Sales / Market Layer US-BIZ-001 — Position as Fortnox-next-step WMS Status: planned/business Evidence: GTM-STRATEGY.md As the business I want to position Plock as the natural next step after Fortnox Lager So that market entry is focused and credible US-BIZ-002 — Support Swedish SMB self-serve onboarding motion Status: planned/business Evidence: GTM and product docs As the product business I want to enable a low-friction onboarding and trial motion So that acquisition cost stays low and distribution scales 13. Summary Strongly supported by current code/docs receiving inventory orders picking shipments carriers RBAC tenant isolation Fortnox integration dashboard barcode audit/webhook/SSE infrastructure Present but maturity unclear AI chat execution depth smart picking maturity mobile/PWA operational depth packing/photo verification full shipment monitoring UX reorder alerting maturity More Phase 2 / strategic than current MVP 3PL client isolation workflows 3PL billing full commercial/demo/support packaging polished sales enablement materials 14. Working Rule This user-story baseline is the first canonical operational extraction. Any future: feature catalog QA gate implementation backlog demo script support playbook must map back to these stories and mark each item as: exists partial planned