Business-track foundation wizard (DECISIONS #17: B5+B1 first · #15: create-not-claim). Governed by build/place-pages/master-plan/B1-brief.md + B-UX-PLAN.md §1 ten laws / §3-B1 / §4 reuse map. The wizard's character: ≤5 steps, one decision per screen, giant pictograms, tap advances (no Next), mic = the large input target (L2), completable <60s, proxy-capable. The caller-view preview is the consent step (L5) — text promises are not believed, the preview is. No completeness scores, no pending states, ever (L9). DECISIONS #8: one language per screen — frames are English plus the brief's binding Devanagari strings, with one full hi-locale reference frame (B1·F).
Entry 1: §2 IA — "Local businesses" lives in the Overview tab AFTER officials (S4 DTO stitch, zero new tabs); the empty section IS the CTA — binding string "Add your shop here", no separate marketing surface. Entry 2: the S8 create-picker gains ONE business tile (ruling R1: three kind tiles in the picker would make it a two-decision screen and duplicate the wizard's kind step — one tile → wizard opens at KIND; law L1, one decision per screen). DECISIONS #15 create-not-claim: no "claim an existing listing" path anywhere — duplicates resolve later via the S5 conflict sheet. L7: the empty section never renders "0 businesses" as a count badge. Section order + officials rows reuse S4's offgrp verbatim.
§3-B1 amendments verbatim: ① KIND = 3 giant pictograms Shop/Service/Food with example sublines — tap advances ② CATEGORY = flat top-8 (3×3, kirana FIRST, "More" expands; the 6-group intermediate level is DROPPED; labels = server-driven domain vocabulary, §6) ③ NAME label "Shop / service name", shop-style placeholder "Khushi Tailors", NEVER profile-name autofill (women's identity separation — the highest-leverage adoption decision); mic = the 46px target, keyboard = the 30px icon (L2). PHONE pre-filled + always-visible green lock chip "Number stays private — connects only in-app" — at the field, never a tooltip ④ PLACE auto-anchor "In Bheldi?" with one big YES — no map, no GPS ask. §5: steps 1–4 offline-capable, zero images, SVG sprites.
§3-B1: serviceArea is a REQUIRED co-step for SERVICE kind (not a later-edit) — a tailor with no area gets no calls, an area too wide gets Justdial-style junk calls. Anatomy: auto-anchor (Bheldi pre-selected, "your village") → binding title "Show villages within 10 km" → nearest-first CHECKLIST with per-row km → live counter chip "15 villages selected ✓" → whole-block master toggle (Garkha, 32 villages — OFF here: she picked by hand). Selected rows bubble to the top (R2: the binding count includes selections below the fold — 23 villages sit within 10 km). 🚫 map-pin · 🚫 search-only · 🚫 district→block→village cascade. App-only: nearest-first = one geo-sorted query off the location-SSOT centroids.
L5: the preview IS the consent step — before anything goes live, the creator sees the exact caller sheet a stranger gets, rendered as a real phone-sheet screenshot inside the flow (sheet anatomy = S4's locked sheet 1:1; DECISIONS #19 Nyburs-first ladder: MESSAGE = Nyburs chat enquiry primary, Call second, WhatsApp DEMOTED to the Call·WhatsApp·Copy options row — never a primary button): Khushi Tailors · Tailoring · Bheldi · 🔒 Message · Call — and NO number anywhere (R3: the in-preview lock line renders in the frame locale; the binding Devanagari chip lives at the b1b phone field). Home-based protection is SILENT-ON for everyone — one illustrated line with the crossed-eye glyph, never a question. Then PHOTO: optional, skip = equal weight (same-size buttons; hi renders "बाद में" per L1), steering via 3 sample thumbs + binding line "Box / Clothing — no face or home needed". App-only: rear camera default, EXIF/geo stripped, listing live instantly — photo uploads in background (§5).
SUCCESS = the live listing card — literally the S4 directory row the village sees — under the binding line "Now live on the Bheldi page" + the promise line "We'll tell you when someone views it" (L7 viewed-honesty: we notify on VIEWS, which we measure). L9: no completeness %, no "pending review", no nag chips — created = complete; any review state is invisible to the creator. PROXY-CREATE is first-class (owner fork #4 → YES): the agent's phone runs the SAME wizard + one extra field "Owner's number" → the owner's phone gets a one-tap OTP claim → ownership transfers to the owner's device; the agent never stays admin. One feature, three channels: elder onboarding (son), CSC/VLE seeding, SHG facilitator. App-only: OTP claim + transfer transaction, claim push deep-link.
DECISIONS #8: one language per screen — this frame renders B1·D's consent screen fully in the hi locale as a translation check, NOT a design pattern (R4: chosen over the kind step because it is B1's string-heaviest, highest-stakes screen; the kind step is Devanagari-native by definition). Business names stay Latin (proper nouns, S1·F precedent); the category label "सिलाई" is the server-driven hi label (§6). The lock line here is the binding chip string "नंबर सुरक्षित — सिर्फ़ call बटन से जुड़ेगा" verbatim — "call" stays Latin in the binding string. Devanagari titles use the .sp-hi metrics (21.5/700), body strings ride Noto Sans Devanagari from the shared font stack.
B1 position in the track: entry (place page section CTA / extended S8 picker) → KIND → CATEGORY → NAME+PHONE → ANCHOR → [serviceArea co-step, SERVICE kind only] → CALLER-VIEW PREVIEW (the consent step, L5) → optional PHOTO → LIVE + promise line. ≤5 decisions, tap-advance throughout, no Next, mic-first input (L2), completable <60s, proxy-capable end to end. en UI strings (updated from brief's Devanagari originals per DECISIONS #8): "Add your shop here" · Shop / Service / Food · "More" · "Shop / service name" · "Number stays private — connects only in-app" · "In Bheldi?" · "Show villages within 10 km" · "15 villages selected ✓" · "Box / Clothing — no face or home needed" · "Now live on the Bheldi page" · "We'll tell you when someone views it" · "Owner's number". hi-locale equivalents live in b1f only (DECISIONS #8). App-only/build-phase (not designed elements): OTP-claim machinery + ownership-transfer transaction + claim push deep-link · rear-camera default, EXIF/geo strip, instant-live + background photo upload (§5) · serviceArea nearest-first = one geo-sorted query off the location-SSOT centroids · top-8 category lists = CMS-editable server config per state (§6 directoryTemplate precedent) · wizard steps 1–4 offline-capable, zero images, SVG sprites (§5 2G kit) · review/moderation states exist server-side but are INVISIBLE to the creator (L9). Design rulings R1–R4 are documented in the header comment for the lead's consolidation pass; the SHG facilitated-create VARIANT (group name, empty phone + "समूह/अध्यक्ष का नंबर", product multi-select, admin handoff) is B5's frame set — B1·E's proxy panel is the shared machinery it rides. R+ (2026-06-11 owner): Nyburs-first contact ladder per DECISIONS #19 — WhatsApp demoted to locked-sheet row on all conversation surfaces; share-out links unchanged.