Information Architecture

How Electra Consumer is structured — navigation, screens, flows, data and states. This revision is aligned 1:1 with the final interactive prototype.

Versionv1.3
StatusAligned to prototype v2.1
BasisPRD v0.1
PlatformMobile-first + Web
Nav model4 tabs + drawer

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
    • 💳 Pay S3.x
      • Payments (root): dues + history
        • Bill breakdown · bottom sheet
        • Deposit / demand note · bottom sheet
      • Payment method → Receipt
    • 🛠️ 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 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
    • ☰ 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

3Screen inventory

33 built screens plus global overlays (drawer, 2 bottom sheets). States draw from the shared patterns in §10.

Pre-auth, Home & global

IDScreenPurposeKey states
S0.0Splash"ELECTRA CONSUMER" wordmark, letter-spacing animation → auto-transition to loginin · out
S0.1Login or Signup+91 selector + 10 individual digit boxes · form anchored near thumb · guest bill-payinput · error
S0.2Verify Phone4-digit OTP, resend timer ("Resend Code in 00:55")input · error · resent
S1.1Home dashboardAlert banner (top), Amount-due & usage stats, Actions (Applications · Complaints · Bills), My items feedloading · populated · no-dues · offline
S1.2Connection switcherSwitch / add linked CA (from header chip)list · single · add
S1.3Link connectionCA number validationinput · validating · not-found
S1.4NotificationsBill, status & outage alerts (from header bell)list · empty
D.1Drawer (overlay)Profile + account items; settings group and Log out anchored to bottomopen · closed
D.2Bills & usageUsage & Bill-history tabs · 8 months · per-month bill total with solar credit (−₹) shownusage · bills · empty
D.3Help & contactHelpline click-to-call, FAQs, centre locator (via drawer)browse · search-empty

Apply

IDScreenPurposeKey states
S2.0My Applications (root)Task cards (ID · Category · Progress · Address) + + New FABlist · empty
S2.1New applicationType selection: new connection · load change · disconnection · transferdefault
S2.2Category pickerDomestic / Commercial / Industrial / Agricultural / Temporary with fee & ETAdefault
S2.3Applicant detailsStep 1 of 3 (segment control) · save-as-draftinput · draft-saved · validation-error
S2.4DocumentsStep 2 · checklist upload per documentempty · uploaded · rejected
S2.5Fees & depositStep 3 · itemised estimate → pay & submitcalculating · shown
S2.6SubmittedConfirmation + ref numbersuccess
S2.7Application detailTask card + colored progress stepper + task history (no action CTA)timeline · deficiency · closed

Pay & Complaints

IDScreenPurposeKey states
S3.0Payments (root)Payments due (bill + application deposits) and payment history sectionslist · empty
SH.1Bill sheet (overlay)Bottom sheet: itemised bill breakdown + Pay CTAopen · closed
SH.2Deposit sheet (overlay)Bottom sheet: demand-note breakdown + Pay CTAopen · closed
S3.1Payment methodUPI · card · netbanking · wallet · BBPSselect · processing
S3.2ReceiptSuccess + txn details · download / sharesuccess · failed · pending
S4.0My Complaints (root)Cards with Issue Type · Severity · Address + + New FABlist · empty
S4.1New complaintCategory selection with safety fast-path bannerdefault
S4.2Complaint bot (conversational)Voice-first AI chat: transcript bubbles, severity chips, auto-composed summary → submit; sticky type/speak composer with pulsing miclistening · chips · summary
S4.3RegisteredTicket ID + SLA confirmationsuccess
S4.4Complaint detail (open)Card + stepper + messages thread with comment/mic composer (no Reopen)timeline · thread
S4.5Complaint detail (closed)Full green stepper, resolution note, Reopen actionclosed · reopened

Solar (prosumer) — per PRD §15, built

IDScreenPurposeKey states
S6.0Solar dashboardToday's generation (kWh), live output (kW), system status, capacity utilisation; entry from Home solar card (prosumers) or drawerlive · stale-data · inverter-offline · night
S6.1Generation chartsThin-bar charts — Today 15-min (52 bars) · Week hourly (168) · Month daily (30), each with its own summarytoday · week · month
S6.2Net metering viewImport vs export vs self-consumed with net position — Today (7-day thin dual bars) and This-cycle (30-day) viewstoday · cycle · no-data
S6.3Credits & settlementBanked-unit ledger per cycle, annual settlement status, ₹ savings summaryledger · settlement-due · paid
S6.4Solar application (wizard)Capacity (kWp) + eligibility check → installer → docs (roof rights, SLD, certificates) → fees; reuses the application spineinput · draft · submitted
S6.5Solar application detailTask card + solar stepper: feasibility → approval → installation → net-meter install → commissioning → agreementtimeline · deficiency · commissioned

4Flow · Onboarding & account linking

F-ONB First launch → on the dashboard
Splash (auto) Login / Signup Enter mobile (+91 · 10 boxes) Get OTP Verify Phone (4-digit) verified →Home or →Pay a bill without login

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

F-PAY Dues list → bottom sheet → receipt
Pay tab Payments due (bill · deposit) Tap a due item Bottom sheet: breakdown + Pay Payment method Result? success →Receipt failed / pending →Retry / reconcile

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

F-APP + New → track to energised
Apply tab (My Applications) + New (FAB) Type: new connection Pick category Details Documents Fees → pay & submit Scrutiny deficiency →Re-submit docs ok →Site inspection Demand note → pay deposit (Pay tab sheet) Installation Energised

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

F-CMP + New → ticket → resolution
Complaints tab (My Complaints) + New (FAB) Pick category safety →Fast-path + helpline call else →Bot chat: speak 🎤 → transcript Severity chips Auto-composed summary Known outage nearby? yes →Link to outage no →Submit Ticket + SLA Resolved in SLA? yes →Closed + feedback no →Reopen / escalate (CGRF)

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)

F-SOL-A Apply for rooftop solar → commissioned
Apply tab → + New Type: rooftop solar Eligibility (capacity vs sanctioned load) ok →Capacity + installer Docs (roof rights · SLD · certificates) Fees → pay & submit Feasibility study Technical approval Installation Net-meter install (bidirectional) Commissioning Agreement signed · Solar unlocked
F-SOL-M Monitor generation & net metering
Home solar card / drawer Solar dashboard (today · live kW · status) Intraday curve (15-min) Net metering: import · export · self-consumed Credits & settlement anomaly →Alert → raise solar complaint

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)
1 → many Connections

🔌 Connection

  • CA/consumer no., category, tariff
  • Sanctioned load, phase, meter, address
  • Status · prosumer flag (net-metered)
hub for Bills, Apps, Complaints, Solar

🧾 Bill

  • Cycle, amount, due date, arrears
  • Itemised charges, subsidy
  • Net-metering block: exported units, banked credits applied, net billed units
→ paid by Payment

💳 Payment

  • Amount, method, status
  • Context: bill / fee / deposit (due item)
  • Receipt, refund status
against Bill or Application

📝 Application

  • Type, category, form data
  • Documents, charges, address
  • Stage + progress stepper
→ has Payments & Documents

🛠️ Complaint

  • Issue type, severity, description, photo
  • Ticket ID, SLA, address, status
  • Escalation, feedback
may link to Outage

📄 Document

  • Type, file, verification state
  • Locker vs application-attached
used by Application / KYC

🔔 Notification

  • Type, channel, read state
  • Deep-link target
references any object

⚡ Outage

  • Area, cause, ETA
  • Scheduled vs unplanned
groups Complaints

☀️ Solar System

  • Capacity (kWp), inverter/OEM, commissioning date
  • Generation telemetry (15-min intervals)
  • Import/export interval data (net meter)
  • Banked-credit ledger, settlement records
1:1 with a net-metered Connection

10Screen states & global patterns

Every data-backed screen implements this shared state set, so the prototype and build stay consistent.

Loading (skeleton) Populated Empty (with guidance) Error / retry Offline (cached) Success Pending / processing

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:

Areav0.1 draftv1.1 final (as built)
Bottom nav5 tabs (incl. Account)4 tabs — Account moved to the hamburger drawer
AuthSingle login screen (mobile + OTP together)Two steps: Login or Signup → Verify Phone (resend timer)
Tab rootsCreation-first hubsList-first ("My Applications" / "My Complaints") + + New FAB
Bill paymentFull-screen bill pageDues list + bottom-sheet breakdown → pay
Payment historySeparate screenSection on the Payments root
Support tab"Support" (complaints + help)Renamed Complaints; Help & contact moved to the drawer
Complaint fieldsCategory + description+ Issue Type & Severity as card fields; severity in the form
Home layoutAlerts at the bottomAlert banner at the top; actions renamed Applications · Complaints · Bills
Solar (v1.2)Single "value-add" drawer linkFull 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 formConversational 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
Walk these structures live in the interactive prototype, or build against them with the Design Library.