Skip to content

Screen blueprint: the validated design input, persona by persona ​

Part of car_sales — the dealership operating layer. This page is the direct input to the UI/UX design phase. Where it disagrees with an older page, it wins.

🧮 Revalidated end to end on 2026-08-23, by scanning rather than reading

A stale-decision scanner was run across all 16 vertical pages plus the strategy pages — 18 hits, of which 14 were correction banners doing their job and 4 were real. All four fixed: a "six revenue lines" pointer (now seven), a Foundation cap printed as 25 (now 24), and two places still routing escalation through a WhatsApp thread rather than a QR Setu conversation.

🔎 The section is internally consistent. That is now a measured statement rather than an assertion, and the scanner is worth promoting to a repo gate — QRS-862.

⚠ Read every tier label on this page as a PLAN TEMPLATE, not a structure

🧮 feature_grants carries eight scopes with precedence held as data, so any [Core] / [Growth] / [Complete] label here is overridable per dealer by one row at workspace scope. Foundation → Growth → Complete are named bundles of grants, not hardcoded plans — which is what the owner asked for, and the schema already permits it. Validation and gaps: admin control plane.

0 · Deployment decision, locked ​

📘 Owner decision 2026-08-23: Option A — shared multi-tenant SaaS — for the whole development phase. Deployment variants must not shape screen design.

⚠ Eight future-limitation flags. Every one is a "do not do the tempting thing" rule, and NONE requires extra work now

🔎 Recorded here so a later dedicated-database or dedicated-instance option stays reachable (deployment and isolation).

#Rule to hold nowWhat it protects
1parties scoped per ORGANISATION; the phone number is unique within an org, never globally📘 QRS-855. A global unique phone is the obvious implementation and it creates a cross-tenant join on the most personal identifier we hold — and it would be unsplittable later
2Storage paths lead with the org or workspace idA bucket can then be split per tenant by prefix. Retrofitting a path convention means moving every file
3UUID primary keys everywhere — already trueRows can merge or move across projects without collision
4No client code may read another tenant's row — already true via RLSThe moment one does, a tenant cannot be lifted out
5Platform-admin views read through an aggregation layer, never direct cross-tenant SQL📘 is_admin() does not exist yet, so this is free to get right
6Cross-dealer benchmarking stays out of the product📘 Already 🟠 and a Data-Fiduciary question (QRS-837). It is also the one feature that becomes impossible under dedicated databases
7The outbox drain worker must be addressable per projectA single hard-coded consumer endpoint would need rewriting per tenant
8No screen may assume a single global plan catalogue is readable client-sidePlan metadata is resolved server-side per workspace

⚠ Nothing above changes a screen. They are schema and data-access habits, and they are cheapest to hold before there is data.

1 · Revalidation verdicts ​

✂ REMOVE — bloat, duplication or vapour ​

WasWhy it goes
Group Setu CardA public card for the dealer group, bundled with Group Intelligence🔎 I invented it and it has no user. A group has no walk-in customers and no reception; the outlet cards carry public identity. What a group needs is consolidated reporting, not a second public surface. Removing it also removes a card-counting exception
"Automation & workflows" as a screenA GM-tier screen in Complete⚠ A screen with no defined automations designs beautifully and ships empty. The real automations are service reminders, insurance renewal, review requests and follow-up escalation — each is a settings panel inside its own module, not a destination
AI as its own screens — AI Receptionist, AI Test-Drive Agent, AI Follow-Up AgentFour proposed agent screens🔎 AI is an affordance, not a destination. A "draft reply" button in the conversation, a summary panel on the lead, a suggested slot in the booking sheet. An AI tab is a tab nobody opens, and it hides the capability from the moment of work
Discount governance · F&I attachSales Manager nav items📘 Both are [Future] and in no wave. Designing them now spends design effort on the least-committed items in the plan. They stay in product scope as future differentiators
Marketplace featured placementA price-book row and a Marketing nav item📘 Not sellable (QRS-849), and a nav item for an unsellable capability is a promise
Enterprise tier screensImplied by the SKUThe SKU stays as quoted, never listed. No screens — no such customer exists

✏ MODIFY ​

ChangeWhy
Team Leader navStop leading with My Setu Card📘 QRS-854. Their card is optional; their job is the team view
Rep's conversation surfaceTwo surfaces, not one: Enquiries (anonymous) and Conversations (registered chat)📘 QRS-861. conversations.consumer_user_id is NOT NULL, so these are structurally different objects
WhatsApp in every navDemoted to a channel inside a thread, plus a Marketing surface📘 D7. It is reach and notification, never the record
ReviewsSits under a Reputation surface owned by GM and Marketing, not a standalone moduleIt is one loop: interaction → feedback → review → response

➕ ADD — gaps the revalidation exposed ​

GapValue
Enquiry inbox — for the rep, the Team Leader and reception⚠ The anonymous-enquiry track had NO screen anywhere. It is the highest-volume entry point and it appeared in no persona treeCreated by yesterday's correction and missed by every tree. Without it the card has no lead-capture surface at all
Standee manager — order, place, name, track, retireOnly mentioned in passingIt is a paid line with per-unit tracking; a purchase with no management surface generates support calls
Setup & activation — the 45-day milestone trackerDesigned commercially (§7), never as a screen📘 The day-45 health check needs somewhere to live, and the dealer needs to see their own progress
Consent & opt-in ledgerA nav item without a specDPDP-load-bearing. It must be auditable and exportable, not a toggle
My card health — for the repOnly the GM had card healthThe design has three card statuses; the person who can fix theirs must see it

⏸ DEFER ​

Until
Tele-call QAAudio capture is agreed and Wave 2 data exists
Payments / text-to-pay📘 Thin, and the OEM often owns the flow
Insurance renewalComplete tier, Wave 3 — the asset record must exist first
Group Intelligence screensWave 3. ⚠ Design them last, because they are a fold over every other screen's data

✅ KEEP — and why, briefly ​

The Setu Card as the spine (it is the product thesis and the only uncopyable part with the tree) · org_owned cards (29.53% attrition) · the visitor register first (zero behaviour change) · per-outlet pricing with card and login caps (matches what the dealer counts) · native chat as the record (complete thread, free attribution, zero channel cost) · annual-only commitment (back-loaded value curve) · standees (the best adoption mechanic in the plan) · the reputation loop (proven category, and our trigger is not copyable).

2 · Four principles that keep the blueprint clean ​

1 · AI is an affordance, never a screenIt appears as a button or a panel at the moment of work. No AI tab
2 · A screen exists only if a named persona opens it to do a named jobNot because a capability needs a home
3 · Management screens are FOLDS, not new dataA GM screen is an aggregate of rep-level rows. If a management screen needs data no operational screen produces, the operational screen is missing
4 · Every screen names its tier and its waveBecause the ladder spans 18 months and designing Wave 3 first is how a pilot becomes a refund

3 · The navigation tree ​

text
QR Setu — Car Dealership   (one outlet unless marked)
│
├── SHARED BY EVERY LOGIN
│   ├── Sign in  ·  Notifications  ·  My profile & preferences  ·  Help
│
├── RECEPTIONIST                                    no card
│   ├── Today                                       [Core]
│   ├── Log a visitor                               [Core]
│   ├── Visitor queue & assignment                  [Core]
│   ├── Enquiry inbox — unassigned                  [Core]
│   └── Catalogue & offers (read)                    [Core]
│
├── SALES REPRESENTATIVE                            card mandatory
│   ├── My day                                      [Core]
│   ├── My Setu Card  +  card health                [Core]
│   ├── Enquiries — anonymous, assigned to me       [Core]
│   ├── Leads  →  Lead detail                       [Plan · Growth]
│   ├── Customers  →  Customer detail               [Plan · Growth]
│   ├── Conversations — QR Setu chat                [Core]
│   ├── Test drives                                 [Plan · Growth]
│   ├── Follow-ups & tasks                          [Plan · Growth]
│   ├── My performance                              [Plan · Growth]
│   └── Catalogue & offers                          [Core]
│
├── SERVICE ADVISOR                                 card mandatory
│   ├── My day                                      [Core]
│   ├── My Setu Card                                [Core]
│   ├── Service due list                            [Plan · Growth]
│   ├── Bookings                                    [Plan · Growth]
│   ├── Vehicle record  →  service history          [Plan · Growth]
│   └── Post-service feedback                       [Plan · Growth]
│
├── TEAM LEADER                                     card OPTIONAL
│   ├── Team dashboard                              [Plan · Growth]
│   ├── My team — per rep                           [Plan · Growth]
│   ├── Overdue monitor                             [Plan · Growth]
│   ├── Unassigned & reassignment                   [Plan · Growth]
│   ├── Team targets                                [Plan · Growth]
│   └── (everything a rep has, if card-holding)
│
├── SALES MANAGER / CRM HEAD                        card OPTIONAL
│   ├── Division dashboard                          [Plan · Growth]
│   ├── Lead funnel — stage · source · loss reason  [Plan · Growth]
│   ├── Teams side by side                          [Plan · Growth]
│   ├── Source attribution                          [Plan · Growth]
│   ├── Targets — allocate down the tree            [Plan · Growth]
│   ├── Follow-up SLA policy                        [Plan · Growth]
│   └── Reports & exports                           [Plan · Growth]
│
├── GENERAL MANAGER                                 no card by default
│   ├── Outlet overview — sales AND service         [Plan · Growth]
│   ├── People performance                          [Plan · Growth]
│   ├── Setu Card health — outlet-wide              [Core]
│   ├── Reputation — reviews & recovery queue       [Integration]
│   ├── Standee performance by placement            [Add-on]
│   ├── Outlet targets                              [Plan · Growth]
│   └── Reports & exports                           [Plan · Growth]
│
├── DEALER PRINCIPAL                                no card by default
│   ├── Group overview — every outlet, every brand  [Plan · Group]
│   ├── Outlet comparison & ranking                 [Plan · Group]
│   ├── Drill-down: group → outlet → team → rep     [Plan · Group]
│   ├── Group targets                               [Plan · Group]
│   ├── Reputation — all locations                  [Plan · Group]
│   └── Subscription & invoices                     [Core]   ⚠ web only
│
├── MARKETING                                       no card
│   ├── Campaigns  →  Campaign detail               [Add-on]
│   ├── Message templates & approval status         [Core]
│   ├── Consent & opt-in ledger                     [Core]   ⚠ DPDP
│   ├── Offers on the cards                         [Core]
│   ├── Reputation — respond & analyse              [Integration]
│   ├── Standee manager                             [Add-on]
│   └── Message balance & recharge                  [Usage]
│
└── ORG ADMIN                                       no card  ·  /org boundary
    ├── Organisation & outlets                      [Plan · Group]
    ├── Locations — free                            [Core]
    ├── People — invite · deactivate                [Core]
    ├── Roles & scopes                              [Plan · Growth]
    ├── Setu Cards — issued vs allowance            [Core]
    ├── Access & limits — logins · storage · AI     [Core]
    ├── Standee orders                              [Add-on]
    ├── Setup & activation tracker                  [Core]
    ├── Subscription, invoices & GST                [Core]   ⚠ web only
    └── Audit log                                   [Plan · Growth]

🧮 51 screens across 9 personas, of which 17 are Core and sellable from Wave 1.

4 · Screen specifications ​

Legend — Tier: Core · Growth · Complete · Group · Add-on · Usage · Integration. Wave: 1 = Dec 2026 · 2 = Apr 2027 · 3 = Aug 2027.

4.1 · Receptionist ​

ScreenPurposeKey actionsData shownDepends onTier · Wave⚠ Architecture
TodayThe only screen reception needs open all day—Today's visitors, who is free, today's bookingsvisits, usersCore · 1Must render on a shared tablet, offline-tolerant
Log a visitorBeat a penName, phone, interest, assignRep availabilityparties, visitsCore · 1⚠ Two fields and a dropdown. Every extra field is a reason to use the notebook
Visitor queue & assignmentNobody waits unattendedAssign, reassign, mark attendedQueue with wait timevisitsCore · 1Assignment writes the attribution the whole hierarchy folds over
Enquiry inboxAnonymous enquiries with no owner yetAssign to a repEnquiry note, phone, source card/standeeenquiry tableCore · 1⚠ Anonymous — no users row. Nullable buyer pattern
Catalogue & offersAnswer "do you have…"—Read-only stock and offerscatalog_itemsCore · 1Blocked on media (QRS-852)

4.2 · Sales Representative ​

ScreenPurposeKey actionsData shownDepends onTier · Wave⚠ Architecture
My dayWhat to do next, rankedOpen next taskOverdue count, today's follow-ups, new enquiries, bookingsleads, visitsCore · 1Proactive by design: it proposes, never just displays
My Setu Card + healthTheir public identity, and whether it worksShare, set paletteViews, what was viewed, status: live / not published / needs attentionsetu_cardsCore · 1⚠ Beacon 404s (QRS-734) — until fixed, "every scan is measurable" is false
EnquiriesThe anonymous inbox, assignedReply by WhatsApp or call, convert to leadEnquiry note, source touchpointenquiry tableCore · 1⚠ No in-app thread to reply into. Reply leaves the platform
Leads → Lead detailWork a pipeline with an SLAAdvance stage, log outcome, set follow-up, mark lost with reasonStage, age, SLA clock, history, AI summaryleads, partiesGrowth · 2SLA clock derived in @qrsetu/domain, not SQL
Customers → detailOne record per personEdit, merge, add vehicleContact, interactions, vehicles, orderspartiesGrowth · 2⚠ Party scoped per organisation (QRS-855)
ConversationsThe system of recordSend, share an item, AI-draft, hand overThread, item bubbles with price snapshotconversations, messagesCore · 1⚠ Registered consumers only — consumer_user_id is NOT NULL
Test drivesRequests → completedPropose slot, confirm, complete, request feedbackSlots, vehicle, customerschedules, resourcesGrowth · 2Vehicle as a bookable resource
Follow-ups & tasksNothing forgottenComplete, snooze with reasonDue, overdue, escalatedreminders engineGrowth · 2🟢 Deterministic — the live recurrence engine, no AI
My performanceTheir own number, before their manager quotes it—Target vs actual, conversion, response timetargetsGrowth · 2⚠ Own data only. Never a leaderboard by default
Catalogue & offersSell from stockShare an item into a chatStock, variants, offerscatalog_itemsCore · 1

4.3 · Service Advisor ​

ScreenPurposeKey actionsData shownDepends onTier · Wave⚠ Architecture
My dayToday's bay—Bookings, due contactsbookingsCore · 1
Service due list🌐 The 41.2%-margin lineContact, book, mark no-responseDue by date and by odometerassets, remindersGrowth · 2🟢 Deterministic. Both date and odometer recurrence
BookingsRun the bayConfirm, reschedule, completeSlot, vehicle, advisorschedulesGrowth · 2
Vehicle recordThe dealership's memoryAdd service event, noteHistory, owner, next dueassetsGrowth · 2⚠ The stickiest data in the product
Post-service feedbackRetention, and the review triggerRequest feedbackScore, commentfeedbackGrowth · 2⚠ Low score routes a recovery task, and the review link still goes to everyone

4.4 · Team Leader ​

ScreenPurposeKey actionsData shownDepends onTier · Wave
Team dashboardOne screen instead of asking each rep—Team activity, conversion, overdue totalleads, targetsGrowth · 2
My teamPer-person, comparableOpen a repActivity, leads, conversions vs targetleadsGrowth · 2
Overdue monitor⚠ The one list that mattersNudge, reassignEvery SLA breach in the team, by ageleadsGrowth · 2
Unassigned & reassignmentA rep on leave must not freeze a pipelineReassign, bulk reassignUnowned and stalledleadsGrowth · 2
Team targetsAllocate downSet per repAllocation vs outlet targettargetsGrowth · 2

4.5 · Sales Manager / CRM Head ​

ScreenPurposeKey actionsData shownDepends onTier · Wave
Division dashboardThe division at a glance—Funnel, SLA compliance, source mixleadsGrowth · 2
Lead funnelWhere business is lostFilter, drill to a leadStage, ageing, loss reasonleadsGrowth · 2
Teams side by sideCompare, then coachOpen a teamPer-team metricsleads, targetsGrowth · 2
Source attributionWhich channel produced business—Standee placement, card share, walk-in, marketplace, campaigninteraction eventsGrowth · 2
TargetsAllocate down the treeSet per teamOutlet → team → reptargetsGrowth · 2
Follow-up SLA policySet the clockDefine thresholds and escalationCurrent policy, breach ratefeature_grantsGrowth · 2
Reports & exportsMonth-end without a spreadsheetExportSaved reportsread modelGrowth · 2

4.6 · General Manager ​

ScreenPurposeKey actionsData shownDepends onTier · Wave
Outlet overview⚠ Sales and service on one screen—Walk-ins, enquiries, leads, test drives, conversions, service retentionall operationalGrowth · 2
People performancePer-person, both divisionsOpen a personActivity, outcomes, response timeleads, bookingsGrowth · 2
Setu Card healthCards issued vs staff on rollNudge, reissueLive / not published / needs attentionsetu_cardsCore · 1
ReputationReviews, and the recovery queueRespond, assign recoveryRating trend, themes, unresolved negativesreviewsIntegration · 2
Standee performanceWhich touchpoint produces enquiries—Scans and enquiries per placementqr_touchpointsAdd-on · 1
Outlet targetsSet the outlet numberSet, allocate to divisionsTarget vs actualtargetsGrowth · 2
Reports & exportsExportread modelGrowth · 2

4.7 · Dealer Principal ​

ScreenPurposeKey actionsData shownDepends onTier · Wave
Group overview⚠ The moat, and the demo that closes—Every outlet and brand side by side, one funneltree + oversightGroup · 3
Outlet comparisonRank and actOpen an outletComparable rowsoversightGroup · 3
Drill-downGroup → outlet → team → rep → customerNavigateWhatever level is openoversightGroup · 3
Group targetsOne number, allocated downSetGroup vs sum of outletstargetsGroup · 3
Reputation, all locationsOne reputation viewRespondPer-outlet ratingsreviewsGroup · 3
Subscription & invoicesWhat they pay and for whatUpgrade, download invoicesPlan, usage vs allowance, GSTplansCore · 1 ⚠ web only, no in-app CTA

4.8 · Marketing ​

ScreenPurposeKey actionsData shownDepends onTier · Wave
Campaigns → detailReach a segmentBuild, schedule, send, cloneAudience size, delivery, replies, attributioncampaignsAdd-on · 3
TemplatesStay sendableCreate, submit, track approvalStatus, rejection reasontemplatesCore · 1
Consent & opt-in ledger⚠ DPDP-load-bearingExport, revokeWho consented, when, by what actopt-insCore · 1
Offers on the cardsChange what the card showsCreate, schedule, expireLive offers per outletcatalog_itemsCore · 1
ReputationRespond and analyseRespond, request reviewsSentiment themes, per-rep attributionreviewsIntegration · 2
Standee manager⚠ A paid line needs a surfaceOrder, name, place, retirePer-standee scans and enquiriesqr_touchpointsAdd-on · 1
Message balance & rechargeNever run out mid-campaignTop upBalance, burn ratecredit ledgerUsage · 1

4.9 · Org Admin ​

ScreenPurposeKey actionsData shownDepends onTier · Wave⚠
Organisation & outletsThe treeAdd outlet, set sharing flagsTree, depth, ownership modelworkspacesGroup · 3No write path exists today
LocationsAddresses are freeAdd, editLocations per outletlocationsCore · 1The outlet-vs-location test
PeopleWho works hereInvite, deactivateStaff, status, last activeusersCore · 1⚠ Deactivating frees the card slot in the same action
Roles & scopesWho may see whatAssign a role to a subtreeRole matrixRBACGrowth · 2⚠ RBAC is 0% built. Largest dependency
Setu CardsIssued vs allowanceIssue, revoke, buy moreCount vs cap, per-person statussetu_cardsCore · 1Active count, slot reuse
Access & limitsWhat is leftBuy logins, storage, AI actionsUsage vs 5/12/25, GB, AI actionsfeature_grantsCore · 1⚠ Never render a monthly price (QRS-845)
Standee ordersBuy the physical lineOrder, track deliveryOrders, quantitiesorders goods lineAdd-on · 1Goods COGS inside a SaaS book
Setup & activationThe 45-day contract, visibleComplete a milestoneCards issued, hierarchy, catalogue, training, first 50 interactionsactivationCore · 1Day-45 health check lives here
Subscription, invoices & GSTThe commercial recordUpgrade, downloadPlan, renewal, invoices +18% GSTplansCore · 1⚠ Web only
Audit logWho changed whatFilter, exportRole, target, card and plan changesauditGrowth · 2⚠ Does not exist. First thing an enterprise review asks

5 · ⚠ Design these twelve first ​

51 screens is the destination. Designing all of them before five are validated is the trap this section keeps warning about

🔎 Every screen below is Core, Wave 1, and needed by a paying Foundation customer. They are also the whole of the zero-behaviour-change adoption path.

ScreenPersonaWhy first
1Log a visitorReceptionistThe adoption wedge. Must beat a pen
2TodayReceptionistWhere reception lives all day
3Visitor queue & assignmentReceptionistCreates the attribution everything folds over
4Enquiry inboxReception + Rep⚠ The highest-volume entry point, and it had no screen at all
5My daySales RepThe proactive surface. Sets the product's tone
6My Setu Card + healthSales RepThe product thesis, and the thing they show customers
7ConversationsSales RepThe system of record
8Catalogue & offersSharedWhat a scanned standee opens onto
9Standee managerMarketingA paid line from day one
10Setu Cards (issue/allowance)Org AdminOnboarding cannot happen without it
11PeopleOrg AdminSame
12Setup & activationOrg AdminThe 45-day contract needs a surface

⚠ And one design prerequisite that is not a screen: the public Organisation Setu Card is what a standee opens, it is the most-seen surface in the product, and 🧮 its images do not resolve today (QRS-852). Designing standees before that card is worth looking at is designing a door into an empty room.

6 · The journey, end to end ​