Estimate Lifecycle
import { Aside } from ‘@astrojs/starlight/components’;
Source: Master Spec v2.0, §6.
Required identity data
Section titled “Required identity data”Every estimate stores Client Name (required) and Property Address (required). Phone, email, Jobber ID, and official quote number are outside the MVP.
Statuses
Section titled “Statuses”| Status | Meaning |
|---|---|
| Draft | Incomplete, not actively being edited |
| In Progress | Currently open with an active edit lock |
| Completed | Automatically assigned after a successful Final Sketch JPG/PDF download |
| Archived | Manually hidden from the active list, without deletion |
Rules: new estimates start as Draft; opening in edit mode → In Progress; saving and leaving before export → Draft; crash/abandoned session preserves autosave and returns to Draft after lock recovery; editing a Completed estimate → In Progress temporarily; a new successful export → Completed; archiving is reversible and keeps versions/history.
Background selection
Section titled “Background selection”New Estimate offers the same four choices to every authorized role:
| Choice | Helper text | Behavior |
|---|---|---|
| Map | Draw over a satellite view of the property. | Search address, capture satellite view |
| Blank Canvas | Draw on a blank canvas. | Start without image or scale |
| Upload Image | Draw over an image. | Import one image as base background |
| Camera | Take a photo and draw over it. | Capture one photo as base background |
Map flow: search and select an address → 2D satellite view with pan/zoom/rotate → persistent Compass (indicates north/bearing; tap resets to north-up without changing the address) → Capture Map → confirm/correct Property Address → enter Client Name → Start Drawing. The Compass is a Map Capture control only — never embedded in the captured background, Canvas, Preview, or Final Sketch.
For Blank, Image, and Camera, Client Name and Property Address are entered manually before Start Drawing.

Visual references 05–09 — approved visual direction for this section. The written requirements above prevail over labels, sample data, or prices shown in the images. See New Estimate Flow
Multiple sketches under one estimate
Section titled “Multiple sketches under one estimate”One estimate may contain multiple independent Sketches for the same Client Name and Property Address. Never label the feature “Building” — a sketch may be a house, building, section, option, or separately measured area.
- From the Final Sketch step: secondary action Save & Add Another Sketch for Same Client. Saves the current sketch, starts a new one under the same estimate; Client Name/Address are inherited.
- The new sketch returns to Background Selection (Map/Blank/Image/Camera); with Map, the address is prefilled but the viewport can be reframed.
- Each sketch has an editable name (default Sketch 1, Sketch 2…; e.g.
Main House,Guest House). - Each sketch owns an independent background, canvas, measurements, SOW, products, prices, proposals, preview, versions, and autosaved state. Nothing merges automatically between sketches.
- Sketch tabs/list support Rename, Reorder, Duplicate (where safe), Delete with confirmation. The estimate card shows sketch count and progress info.
Export behavior: combined PDF = one file, each sketch on its own page group; JPG = one image per sketch (sketch name in filename) plus Download All JPGs as a ZIP; a single continuous long-JPG applies within one sketch only; individual sketches may be downloaded alone.