Information Architecture
How Electra Consumer is structured — navigation, screens, flows, data and states. This revision is aligned 1:1 with the final interactive prototype.
2Sitemap
Full screen hierarchy as built. Pre-auth sits above the tab shell; overlays (drawer, bottom sheets) are global surfaces, not routes.
- Electra Consumer app
- Pre-auth S0.x
- Splash — animated wordmark S0.0
- Login or Signup (10-digit boxes) S0.1
- Verify Phone (OTP + resend) S0.2
- Guest bill-pay (skip login)
- 🏠 Home S1.x
- Dashboard (banner · stats · actions · my items)
- Connection switcher
- Link connection (CA number)
- Notification centre 🔔
- 📝 Apply S2.x
- My Applications (root) + + New FAB
- Application detail · progress stepper
- New application → type selection
- New connection → category picker (5 categories)
- Wizard: details → documents → fees → submitted
- Load change · disconnection · transfer → wizard
- ☀️ Rooftop solar (net metering) → capacity + installer → docs → fees SOL
- My Applications (root) + + New FAB
- 💳 Pay S3.x
- Payments (root): dues + history
- Bill breakdown · bottom sheet
- Deposit / demand note · bottom sheet
- Payment method → Receipt
- Payments (root): dues + history
- 🛠️ Complaints S4.x
- My Complaints (root) + + New FAB
- Detail (open): stepper + messages thread + composer
- Detail (closed): full stepper · resolution · Reopen
- New complaint → category selection (safety fast-path)
- Conversational bot 🎤 · voice → chips → auto summary → registered
- My Complaints (root) + + New FAB
- ☀️ My Solar (prosumer) S6.x
- Solar dashboard: today's generation + live output + system status
- Intraday generation curve (15-min)
- Net metering: import vs export vs self-consumed · net position
- Credits & settlement: banked units · annual payout · savings
- Solar application detail · solar stages stepper
- Solar dashboard: today's generation + live output + system status
- ☰ Drawer D.x
- Profile (initials) · linked connections · document locker · payment methods
- My Solar (entry point; also on Home for prosumers)
- Bills & usage (chart · history · tariff)
- Help & contact (helpline · FAQ · centres)
- Preferences · Privacy & consent · Log out
- Pre-auth S0.x
3Screen inventory
33 built screens plus global overlays (drawer, 2 bottom sheets). States draw from the shared patterns in §10.
Pre-auth, Home & global
| ID | Screen | Purpose | Key states |
|---|---|---|---|
| S0.0 | Splash | "ELECTRA CONSUMER" wordmark, letter-spacing animation → auto-transition to login | in · out |
| S0.1 | Login or Signup | +91 selector + 10 individual digit boxes · form anchored near thumb · guest bill-pay | input · error |
| S0.2 | Verify Phone | 4-digit OTP, resend timer ("Resend Code in 00:55") | input · error · resent |
| S1.1 | Home dashboard | Alert banner (top), Amount-due & usage stats, Actions (Applications · Complaints · Bills), My items feed | loading · populated · no-dues · offline |
| S1.2 | Connection switcher | Switch / add linked CA (from header chip) | list · single · add |
| S1.3 | Link connection | CA number validation | input · validating · not-found |
| S1.4 | Notifications | Bill, status & outage alerts (from header bell) | list · empty |
| D.1 | Drawer (overlay) | Profile + account items; settings group and Log out anchored to bottom | open · closed |
| D.2 | Bills & usage | Usage & Bill-history tabs · 8 months · per-month bill total with solar credit (−₹) shown | usage · bills · empty |
| D.3 | Help & contact | Helpline click-to-call, FAQs, centre locator (via drawer) | browse · search-empty |
Apply
| ID | Screen | Purpose | Key states |
|---|---|---|---|
| S2.0 | My Applications (root) | Task cards (ID · Category · Progress · Address) + + New FAB | list · empty |
| S2.1 | New application | Type selection: new connection · load change · disconnection · transfer | default |
| S2.2 | Category picker | Domestic / Commercial / Industrial / Agricultural / Temporary with fee & ETA | default |
| S2.3 | Applicant details | Step 1 of 3 (segment control) · save-as-draft | input · draft-saved · validation-error |
| S2.4 | Documents | Step 2 · checklist upload per document | empty · uploaded · rejected |
| S2.5 | Fees & deposit | Step 3 · itemised estimate → pay & submit | calculating · shown |
| S2.6 | Submitted | Confirmation + ref number | success |
| S2.7 | Application detail | Task card + colored progress stepper + task history (no action CTA) | timeline · deficiency · closed |
Pay & Complaints
| ID | Screen | Purpose | Key states |
|---|---|---|---|
| S3.0 | Payments (root) | Payments due (bill + application deposits) and payment history sections | list · empty |
| SH.1 | Bill sheet (overlay) | Bottom sheet: itemised bill breakdown + Pay CTA | open · closed |
| SH.2 | Deposit sheet (overlay) | Bottom sheet: demand-note breakdown + Pay CTA | open · closed |
| S3.1 | Payment method | UPI · card · netbanking · wallet · BBPS | select · processing |
| S3.2 | Receipt | Success + txn details · download / share | success · failed · pending |
| S4.0 | My Complaints (root) | Cards with Issue Type · Severity · Address + + New FAB | list · empty |
| S4.1 | New complaint | Category selection with safety fast-path banner | default |
| S4.2 | Complaint bot (conversational) | Voice-first AI chat: transcript bubbles, severity chips, auto-composed summary → submit; sticky type/speak composer with pulsing mic | listening · chips · summary |
| S4.3 | Registered | Ticket ID + SLA confirmation | success |
| S4.4 | Complaint detail (open) | Card + stepper + messages thread with comment/mic composer (no Reopen) | timeline · thread |
| S4.5 | Complaint detail (closed) | Full green stepper, resolution note, Reopen action | closed · reopened |
Solar (prosumer) — per PRD §15, built
| ID | Screen | Purpose | Key states |
|---|---|---|---|
| S6.0 | Solar dashboard | Today's generation (kWh), live output (kW), system status, capacity utilisation; entry from Home solar card (prosumers) or drawer | live · stale-data · inverter-offline · night |
| S6.1 | Generation charts | Thin-bar charts — Today 15-min (52 bars) · Week hourly (168) · Month daily (30), each with its own summary | today · week · month |
| S6.2 | Net metering view | Import vs export vs self-consumed with net position — Today (7-day thin dual bars) and This-cycle (30-day) views | today · cycle · no-data |
| S6.3 | Credits & settlement | Banked-unit ledger per cycle, annual settlement status, ₹ savings summary | ledger · settlement-due · paid |
| S6.4 | Solar application (wizard) | Capacity (kWp) + eligibility check → installer → docs (roof rights, SLD, certificates) → fees; reuses the application spine | input · draft · submitted |
| S6.5 | Solar application detail | Task card + solar stepper: feasibility → approval → installation → net-meter install → commissioning → agreement | timeline · deficiency · commissioned |
4Flow · Onboarding & account linking
Language is selectable on the login screen. Linking further connections happens post-login: header chip → connection switcher → link CA number. The OTP screen offers a timed resend and a back arrow to edit the number.
5Flow · Pay a due amount
Application charges (security deposits, demand notes) appear as due items alongside bills and use the same sheet → method → receipt spine. Home's "Amount due" stat deep-links to the Pay root; the bill sheet can also open directly from Home. History lives on the same Payments screen.
6Flow · New connection application
Load change, disconnection/reconnection and category/ownership transfer start from the same + New type selection and reuse the wizard spine (details → docs → charges → submit → track). Progress renders as the colored stepper on the application detail; drafts can be saved at any pre-submit step.
7Flow · Raise a complaint
Complaint cards carry Issue Type, Severity and Address as first-class fields; SLA shows in the card footer. Open tickets carry a messages thread (consumer ↔ crew, mic composer); Reopen appears only on closed complaints.
8Flow · Solar (prosumer)
The Solar surface is conditional: prosumers (or applicants in flight) see a solar generation stat card on Home and a "My Solar" drawer entry; other consumers see a "Go solar" prompt that starts F-SOL-A. Underperformance alerts deep-link into the complaints flow with issue type pre-set.
9Content & entity model
The core objects the app reads and writes. One Consumer (login) owns many Connections; most other objects hang off a Connection.
👤 Consumer
- Identity, mobile (verified), email
- KYC docs, language, preferences
- Consents (DPDP)
🔌 Connection
- CA/consumer no., category, tariff
- Sanctioned load, phase, meter, address
- Status · prosumer flag (net-metered)
🧾 Bill
- Cycle, amount, due date, arrears
- Itemised charges, subsidy
- Net-metering block: exported units, banked credits applied, net billed units
💳 Payment
- Amount, method, status
- Context: bill / fee / deposit (due item)
- Receipt, refund status
📝 Application
- Type, category, form data
- Documents, charges, address
- Stage + progress stepper
🛠️ Complaint
- Issue type, severity, description, photo
- Ticket ID, SLA, address, status
- Escalation, feedback
📄 Document
- Type, file, verification state
- Locker vs application-attached
🔔 Notification
- Type, channel, read state
- Deep-link target
⚡ Outage
- Area, cause, ETA
- Scheduled vs unplanned
☀️ Solar System
- Capacity (kWp), inverter/OEM, commissioning date
- Generation telemetry (15-min intervals)
- Import/export interval data (net meter)
- Banked-credit ledger, settlement records
10Screen states & global patterns
Every data-backed screen implements this shared state set, so the prototype and build stay consistent.
Global patterns (as built)
- Header: hamburger/back + title + connection chip (roots only) + bell
- Bottom sheets for payment breakdowns — grab handle, ✕, black Pay CTA, dimmed backdrop
- + New FAB (labelled, black) on list-first roots for creation
- Task card is the shared unit: ID · name · bordered status badge · KV fields (Category, Address, Issue Type, Severity) · footer time/SLA
- Colored progress stepper for every lifecycle (applications & complaints)
- Conversational bot for complaint intake — voice bubbles with animated transcript, quick-answer chips, sticky type/speak composer with pulsing mic
- Message threads on open tickets; Reopen only on closed ones
- Multi-step wizards use the segment control + save-as-draft; segment controls also switch chart ranges (today/week/month)
Cross-cutting concerns
- Language switch on login and in drawer preferences, app-wide
- Low-connectivity: cache last bill/status; queue submissions
- Consent prompts (DPDP) gate first use of camera, location, notifications
- Idempotent payment submission with clear pending recovery
11Prototype alignment
This IA (v1.3) documents the structure as built in prototype v2.1 — all modules including Solar are implemented. Changes from the original v0.1 draft, made during prototyping and now canonical:
| Area | v0.1 draft | v1.1 final (as built) |
|---|---|---|
| Bottom nav | 5 tabs (incl. Account) | 4 tabs — Account moved to the hamburger drawer |
| Auth | Single login screen (mobile + OTP together) | Two steps: Login or Signup → Verify Phone (resend timer) |
| Tab roots | Creation-first hubs | List-first ("My Applications" / "My Complaints") + + New FAB |
| Bill payment | Full-screen bill page | Dues list + bottom-sheet breakdown → pay |
| Payment history | Separate screen | Section on the Payments root |
| Support tab | "Support" (complaints + help) | Renamed Complaints; Help & contact moved to the drawer |
| Complaint fields | Category + description | + Issue Type & Severity as card fields; severity in the form |
| Home layout | Alerts at the bottom | Alert banner at the top; actions renamed Applications · Complaints · Bills |
| Solar (v1.2) | Single "value-add" drawer link | Full prosumer module: solar application type + My Solar surface (dashboard · charts · net metering · credits) — built in prototype v2.0–2.1 |
| Complaint intake (v1.3) | Guided form | Conversational AI bot — voice-first with transcription, chips and auto summary; message threads on open tickets, Reopen only when closed |
| Launch (v1.3) | — | Animated "ELECTRA CONSUMER" splash into login; 10-box mobile entry, thumb-anchored auth forms |