Customer Success — Discovery Prototype (wiring hub)

Iteration goal: FoodBridge's customer success team sees every store a distributor built — newest first — and opens his answers and every file he sent, as he sent them, to set the store up. Only the team gets in.

Screens

▶ Start the flow →

Transition map — team access (→ SSOT-5 workflow)

FromEventTo
Panel, no keyOPENKey form (the server answers 401)
Key formSUBMIT_KEY (wrong)Key form, “That key was not accepted.”
Key formSUBMIT_KEY (right)Built stores list (the key is kept in this browser)
ListSEARCH (shop · owner · mobile · GST · id)List, filtered
ListDOWNLOAD (Excel · setup.json · his files · photos · voice notes)The file, as he sent it (pieced files rejoined)
ListREFRESHList, newest first

Transition map — a built store, as the team sees it (→ SSOT-1 state machine)

StateEventTo
arriving (“Still arriving from the phone: …”)last file landsreceived
received— (v1 has no review states)—

Transition map — a ticket (v2, → SSOT-1 state machine)

StateEventTo
new (every store arrives as one)START_REVIEWinReview
new / inReviewMARK_SET_UP — only once every file has arrivedsetUp
anyMOVE (to another status)that status; each move is timed and kept in the ticket's history

v2 (2026-10-01, owner): every store is a ticket — the start of a ticketing and operations workspace. No reply to the owner. One common team key. Builds stay read-only; tickets are the team's own.

Data: seed-data/seed.json — three built stores exactly as GET /api/stores returns them. Builds come from the store-builder module (through its SSOT-7 StoreBuildFeed); this discovery stands on its own and does not link to that one.