Skip to main content

Lead Lifecycle

This is the locked V1 lead lifecycle for IED.

Use this as the source of truth for:

  • lead status semantics
  • lifecycle transitions
  • what belongs on the lead record vs installer delivery records
  • how the lead generation business stops short of pretending it owns the sale

V1 Lifecycle Model

IED is not tracking the downstream sale.

The lead record exists to track:

  • intake
  • review
  • readiness for installer delivery
  • whether the lead has been captured into installer distribution

The lifecycle statuses are:

  • new Fresh submission not yet reviewed
  • reviewing Internal team is validating the intake and recommendation
  • ready_to_route Lead is approved for installer distribution
  • assigned At least one installer assignment exists for this lead

That is the end of the V1 lead lifecycle.

Installer delivery success, delivery failure, installer progress, and billing all live on assignment and delivery records, not on fake CRM statuses.

Transition Direction

The intended V1 progression is:

  • new -> reviewing
  • reviewing -> ready_to_route
  • ready_to_route -> assigned

No extra lead-level statuses such as:

  • contacted
  • won
  • lost
  • quoted

should exist in V1.

Those are either:

  • installer-side progress
  • sales outcomes the lead business does not directly own
  • CRM concepts that add noise to a delivery operations product

Fields That Stay Separate From Status

These should stay as separate fields or related records, not lead lifecycle statuses:

  • selectedPath Example values:
    • compare_quotes
    • recommended_installer
  • installer assignments Which installer(s) captured the lead
  • installer email delivery audits Whether delivery was actually sent or failed
  • delivery events The billable commercial event

Field Semantics

selectedPath

This is not part of the lifecycle status.

It captures the customer choice:

  • compare quotes
  • recommended installer

Both path types still use the same lead lifecycle.

assigned

assigned means the lead has been captured into installer distribution.

It does not mean:

  • every installer email was delivered successfully
  • the installer wants to quote the lead
  • the installer contacted the customer
  • the customer converted

Those truths belong elsewhere in the model.

Delivery Truth

The lead lifecycle must stay separate from installer delivery truth.

V1 product split:

  • lead assigned internal capture happened
  • assignment sent installer delivery succeeded
  • delivery event created finance can bill it and cycle-cap usage can count it separately

This distinction is mandatory for the admin UI.

Validation Scenarios

The model should support these scenarios:

  • a fresh assessment submission becomes new
  • internal review moves a lead to reviewing
  • a reviewed lead becomes ready_to_route
  • assigning one or more installers sets status to assigned
  • a lead can stay assigned while one installer delivery succeeds and another fails
  • both compare_quotes and recommended_installer leads use the same lifecycle
  • billing is based on delivery records, not lead statuses