The single source of truth for Bazaar v2 — the whole walkthrough in one file (consolidated from the old bazaar / bazaar-sell / bazaar-rails). A local discovery engine — Justdial / Google-Maps for your area. The ONE Bazaar root gives visibility of nearby stores, services & products: looking for a salon, a kirana, a plumber, a clinic, a product — you find nearby options. Search-first + a state-aware location chip ("Near Bheldi · Bihar", changeable) + a map/list toggle + a category grid (Salon · Kirana · Clinic · Repairs · Food · Tailor · Hardware · Mandi/Agri · Local produce/SHG · Jobs/Kaam) → "See all categories" opens the full admin-seeded taxonomy. Jobs/Kaam is just ONE category (opens the two-sided Kaam hub). Role-aware: a visitor sees Call/Message/Follow, the owner sees Manage/Edit/Insights on the same listing. State-aware: categories & SHG mission follow your state (Bihar→JEEViKA, Kerala→Kudumbashree, Odisha→Mission Shakti). Order: (a) nav-swap B0 · (b) the ONE root B1 + cold-start/empty + see-all · (c) results + listing details + map · (d) role/state · (e) Sell & Manage BS1–BS7 · (f) Rails C1–C5 (reached from the root tiles). Populated today from existing place POIs + Jobs; listings grow as business Pages & commerce land. Bottom-nav change: Circles off the bar, Bazaar takes its slot (Circles → the side menu + a Search door). Both themes.
The star. Open Bazaar → a discovery engine, not a tab switcher. A big search ("salon, shop, service…"), a location chip + map/list toggle, a category grid of India-local trades, and a "Near you now" rail of nearby stores & services. Tap a category → results (B2); search a term → providers (B3).
At launch a place has little data. So the root opens with a friendly first-run hero that says what Bazaar is and how to act, a big List on Bazaar CTA (the unified add entry → B11), quick-action chips, and a contextual nudge. The category grid still shows; "Near you now" honestly reflects the few seeded listings. The new user immediately understands and is prompted to contribute.
Tapping List on Bazaar (root CTA / + button) opens one chooser sheet — all create paths spelled out so a first-timer instantly gets it. Each option has a one-line subtitle. They route to the existing flows (B1 wizard, Local Need, produce, resident POI, SHG/Govt claim). The govt path is tagged FREE so the badge tiers stay clear.
When a category or search has no listings, the empty state invites the user to be the one who adds it — "No salons listed near you yet — know one? Add it" / "Be the first plumber to list here" — each with the matching CTA. Below: a search empty state. These turn a gap into a seed-contribution prompt.
Tap a category → nearby results, nearest first. Each = name + category + distance + open/closed (if known) + a trust line (added-by-resident now, rating later) + Call/Visit. A map view chip sits up top since this is location discovery. The list grows as more shops are added.
Search a term → suggestions as you type, then nearby providers. A query like plumber blends two seed sources: repair shops/services AND available workers (from Local Need). Same distance + open/available + Call. This is the Justdial moment — type what you need, see who's near.
Tap a result → the listing page. The deep variant: cover + logo, name + category + a ✓ verified business badge (paid tier), distance + Open now / hours, a products & services preview, photos, the full Call · Message · WhatsApp · Directions ladder, a Join channel chip (linked R10), an "also on the Saran place page" note, and a Report / suggest-edit footer.
The same page, the honest minimum: a community listing with a "added by Sunita" trust line (no fake badge), distance + open-if-known, and a Call · Message · WhatsApp · Directions ladder over the resident-supplied number. A "Claim this listing" CTA hands the owner into Part B. Inset: the ✓ govt-verified (free) badge variant for an SHG / PHC.
Tap "Map" from the root or a result list → a full-bleed map of listings near you. Each pin is a shop/service; the selected one lifts in colour and docks a listing card at the bottom (category · distance · open · Call + Message · Directions), swipeable through nearby pins. A category-chip row filters the map; "List" returns. This is the location-discovery core.
Tapping the Jobs/Kaam tile opens the fully-built Kaam marketplace (local-need.html): Jobs / Workers sub-tabs, category filter, a Post CTA. It lives inside Bazaar as one category — the same cards a worker or hirer already knows. Everything else in Bazaar is discovery; this one is a two-sided marketplace.
Tap the location chip → set where Bazaar looks. Home is the default; widen the radius village → block → district to see more shops & workers; or search another place (browsing the market in the next town, or back home). The count next to each radius is honest.
Two layers: the global Bazaar (B1) AND a place page's own Local market tab, scoped to that village. A shop/Need here also appears in Bazaar — one entity, two surfaces. Below: where Circles now lives after the swap — the side menu (the app hamburger), making the bottom-nav swap concrete.
The one structural change. Circles leaves the bottom bar; Bazaar takes its slot. Circles doesn't disappear — it moves to the side menu (the app hamburger), plus a discovery door in Search. Bazaar earns the slot because local discovery is a destination people return to daily.
"See all categories" from the root opens the complete admin-seeded taxonomy: grouped headers (Food & Hospitality, Daily needs, Health, Repairs & trades, Agriculture, Govt/Financial, Work, Community…) with a tappable chip per trade. Comprehensive on day one; per-state additions let an admin add region-specific trades without a deploy. Tap any chip → that category's nearby results (B2).
The page-shell lesson applied to Bazaar: a visitor sees Call · Message · WhatsApp · Directions · Follow; the owner of the same shop sees "Your listing" + Manage · Edit · Insights (never "call yourself", never Follow). Both render the same shell — the action ladder + banner are role-gated.
The scope chip shows the state explicitly ("Near Bheldi · Bihar") and is changeable. Switching state swaps the state-local categories and the correct SHG mission badge — Bihar → JEEViKA, Kerala → Kudumbashree, Odisha → Mission Shakti. The owner create / SHG-onboarding flow operates within the owner's state too.
A simple, voice/photo-friendly create wizard: pick a kind → a category (seeded taxonomy) → confirm place & area → name → a logo + brand colour. Tap advances. Number stays private. The live preview card is exactly the Discover row the village will see.
A resident already put Sapna Beauty Parlour on the map as a POI. The owner finds it, taps "This is mine", does a light verify, and it becomes her managed listing — the POI and the page merge to ONE row (no duplicate). Free community listing → owner-claimed → paid features later.
claimedPageId links → the listing de-dupes to one owned row. Seva for the original adder is preserved.Owner view of Sharma General Store. Pencils in place, no settings maze. Available-now toggle, Storefront (cover/logo/about/hours), Products & Services (photo-led, price optional), the Channel link (R10), Roles & staff (Owner · Admin · Editor), and Insights (free counts + a premium teaser). Every edit is instant-live.
The owner taps the offer FAB; the camera opens first — the photo of the price board IS the offer (no typing needed). Add a discount/price and a validity window. A static routing line shows where it goes. It lands on the listing + the Bazaar offers feed + the place feed.
A quick fresh-stock update with a mandatory quantity and a traffic-light freshness signal (Fresh / Low / Out) — honest, decays after 48h. And a periodic-market (haat) listing: the haat's day & place, with one-tap "I'll have a stall" so vendors announce.
Buyers message the shop from Bazaar; enquiries land in the Nyburs inbox (never WhatsApp first). Each shows who, what, and which item/offer it's about. Inside a thread, the contact ladder is Nyburs-first: Message → Call → WhatsApp, so the owner's number is never exposed up front.
Trust signals that never muddy. Govt / SHG verified is free — a partnership deliverable for livelihood-mission & producer groups. Business verified is a paid tier — a higher-trust badge a regular shop can buy. Both are earned, both shown here with the how-to-get path.
Jobs feels like one Bazaar category: a compact entry card opens the fully-built two-sided Kaam hub (Jobs ↔ Workers, from local-need.html). Below the entry is a 1-screen preview that visually matches the hub so the seam is invisible — we don't rebuild it here.
local-need.html — this card is just the door, with a live count so it never looks empty.The Mandi category: today's local rates from Agmarknet (govt data) for nearby markets — commodity · ₹/quintal · market · date · trend, with a freshness chip. Below, a "produce for sale near you" shelf of farmers' local listings. Text-first, 2G-friendly, zero imagery on rates.
A curated shelf of local / handmade / SHG products — e.g. JEEViKA didi-made goods (sattu, pickle, papad). Every item carries the free govt-verified badge so the trust signal is clear. A festival collection banner (e.g. छठ संग्रह) can feature the shelf — free editorial, never "Sponsored".
An SHG is not a separate species — it's a normal Bazaar producer/shop whose goods are standard listings (C3). The ONLY special thing is the onboarding + validation to earn the free badge: Nyburs facilitates the create, the president claims via accept-code (helper never stays admin), and extra validation info earns the free govt-verified badge. Then it posts & is discovered like any shop. Missions: JEEViKA · Kudumbashree · Mission Shakti · UMED · Velugu · Sanjeevini.
The coordinator's showcase: a block-level directory of SHG clusters and FPOs by area, each govt-verified, with a member/product count and a proof loop ("this month, N orders from Nyburs") — measured orders only, zero never renders.
The owner-decided concept, rendered. Green cards = decided & shown live; amber cards = deliberately deferred (shown as "growing" / relocation, not built).
local-need.html). The preview matches it so the seam is invisible — we don't rebuild it.