Assessment Input Contract
This is the locked V1 assessment input contract for IED.
Use this as the source of truth for:
- the canonical public assessment entry route
- step structure
- required and optional intake fields
- serviceability behavior
- what the assessment intentionally does not capture in V1
Canonical Route
The canonical V1 assessment entry route is:
/start
If /assessment is retained temporarily later, it should redirect to /start.
V1 Assessment Structure
The V1 assessment is a five-step guided flow:
- location
- home profile
- energy usage
- goals
- contact details
The assessment should stay lightweight and decision-support oriented, not installer-grade technical intake.
Step 1: Location
Purpose:
- identify the user’s area early
- validate whether the location is currently serviceable
- avoid wasting unsupported users’ time
Required fields:
postcode
Conditional/required when available:
suburb
Derived/system-side field:
serviceabilityStatus
Behavior:
- validate postcode and locality early
- if the postcode is outside the current supported service area, soft-stop the standard assessment flow
- soft-stop means:
- do not continue the full assessment
- route the user to a lighter fallback path such as contact, register-interest, or manual review messaging
serviceabilityStatus is system-derived, not user-entered.
Step 2: Home Profile
Purpose:
- capture enough high-level property context to inform recommendation logic
Required fields:
homeTypeownershipTypestoreysroofShading
Optional fields:
roofNotes
V1 rule:
- keep this step high-level
- do not capture installer-grade technical fields such as pitch, exact orientation matrix, switchboard detail, or panel layout constraints
Step 3: Energy Usage
Purpose:
- capture a simple picture of present energy usage and storage interest
Required fields:
billRangehouseholdSizedaytimeUsageProfilehasExistingSolarbatteryInterest
Optional fields:
existingSolarNote
V1 rule:
- use coarse bill/usage bands
- do not require exact kWh consumption
- existing solar is captured as simple yes/no plus optional note, not a deep upgrade branch
Step 4: Goals
Purpose:
- capture what the user is actually trying to achieve so recommendation framing stays practical
Required field:
goals[]
Recommended goal values:
reduce_billsenergy_independenceev_preparationbackup_powerupgrade_existing_systemjust_exploring
goals should support multi-select in V1.
Step 5: Contact Details
Purpose:
- collect the required handoff information only after value has been established
Required fields:
fullNameemailphonepreferredContactMethod
Optional fields:
notes
V1 rule:
name,email, andphoneare all required- contact collection happens at the end of the flow, not before the user has received value
V1 Assessment Fields
Recommended V1 fields:
postcodesuburbhomeTypeownershipTypestoreysroofShadingroofNotes?billRangehouseholdSizedaytimeUsageProfilehasExistingSolarexistingSolarNote?batteryInterestgoals[]fullNameemailphonepreferredContactMethodnotes?
Derived/system-side fields:
serviceabilityStatus- submission metadata
- timestamps
Contract Boundaries
These do not belong inside the assessment input contract:
selectedPathBelongs after recommendation, not inside intake- recommendation outputs Belong in the results contract, not intake
- lead lifecycle status Belongs in admin/backend workflow, not assessment input
V1 Exclusions
The assessment does not try to do these things in V1:
- technical installer-grade roof survey
- exact quote preparation
- exact energy consumption inputs as mandatory fields
- detailed existing-system upgrade workflow branching
- account creation or save-for-later requirements by default
Validation Scenarios
The model should support these scenarios:
- a supported postcode continues into the normal five-step flow
- an unsupported postcode soft-stops into the fallback path
- a user can complete the assessment without technical roof detail
- a user can complete the assessment using bill range rather than exact usage data
- existing solar can be captured without forcing detailed upgrade logic
- all three core contact fields are required before final submission
selectedPathis not collected inside assessment- assessment input stays distinct from recommendation output
- both first-time solar users and basic existing-solar upgrade inquiries can use the same intake flow