This page is the human checkpoint after the geo-hail selection pipeline runs HailTrace against storm-area properties. You review confirmed weather hits, see which CenterPoint opportunities were created (or still need creation), assign territory for outreach leads, and optionally seed additional nearby buildings — all tied to a single automation run.
What happens before, during, and after you open this page.
| Entry path | URL pattern |
|---|---|
| Storm triage board | Click a city name in branch detail → opens with ?run_id=<uuid>&from=storm-triage. Market Plan and Find Nearby Buildings are hidden in this mode. |
| Hail events admin | Open a completed automation run from hail event tooling → ?run_id=<uuid> |
| Direct link | geo-hail-review.html?run_id=<uuid> — requires a valid geo_hail_run id from the intelligence database. |
The page adapts based on how the run was created.
When selection_meta.source = hail_alert_automation, opportunities are already submitted by the pipeline. The primary section is Auto-Submitted Opportunities — a read-only table with status comments (opp created, dup skipped, weather updated, errors).
For interactive runs that stop at preview_complete, the page shows separate CE-linked and lead-property tables with checkboxes. You must link or select a Storm Response Plan before submitting — the banner at the top enforces this.
When from=storm-triage is in the URL, the view focuses on actionable customer rows: unconfirmed leads without weather hits are filtered out. Outreach tools (Market Plan, Find Nearby Buildings) are hidden so commanders stay in review mode.
| Area | Purpose |
|---|---|
| Header | Run title, theme toggle, Export CSV, optional outreach buttons, Close. |
| Storm plan banner | Pick a storm response plan (manual runs) or AUTO-PIPELINE notice (automation). |
| Action bar | Sticky bar when pending CE/lead opps exist — Select all + Create Opportunities in CenterPoint. |
| Meta strip | Storm event name, created time, HailTrace window, target counts, dry-run flag. |
| Hail chart + map | Bar chart of confirmed hail by size band; Leaflet map of confirmed damage locations (expandable full-screen). |
| Collapsible sections | Auto-submitted, CE-linked, lead properties, errors — expand/collapse via section headers. |
Color-coded badges follow standard hail severity bands from trace (<0.5") through 3.5"+. Wind-only hits (≥70 mph, no hail) appear with a wind-style badge. The map uses the same color scale.
Automation runs only. One deduplicated row per company/property/opportunity — strongest weather hit when multiple sites exist.
| Column | Meaning |
|---|---|
| # | Row counter in display order. |
| Name | Customer or lead name. Lead contacts appear in parentheses, e.g. Wingstop (Daniel Ward). |
| Type | CUSTOMER (CE-linked) or LEAD (property record). |
| Address | Resolved site address from pipeline, property, or billing lookup. |
| Size | Max hail and/or wind speed from HailTrace. |
| Date | Incident time (Central), MM/DD HH:MM. |
| Comment | Opp link, dup-skipped (<7 days), weather data updated, error, or no hit in window. |
Existing CenterPoint customers with confirmed hail or wind. Pending rows are pre-checked for submission. Already-created rows show the CP opportunity id.
Lead records with a CenterPoint company link can be submitted like CE customers. Leads without a CP link get weather data written to the property only — use the territory block below to divide them for rep outreach.
Pipeline failures, HailTrace errors, and (on manual runs) properties with no weather hit in the window appear in collapsed skip sections.
Manual preview runs only — automation runs skip this step.
For confirmed leads with no CenterPoint company link.
Enter the number of sales representatives (default 4) and click Divide into Territories. The page clusters geocoded leads by location (k-means), renders a mini-map per territory, and lets you assign a rep from the active CP employee list. Assignments are saved to the run's selection_meta.territory_rep_assignments and included in CSV export.
Leads without coordinates appear in a No Coordinates bucket at the bottom — fix geocoding in property records before dividing.
The target count in the meta strip reflects filtered rows, not raw pipeline output.
| Filter | Why |
|---|---|
| Numeric-only names | Customer labels that are just a zip or id (e.g. 66023) are not actionable. |
| Incomplete address | Requires site street, city/state, and lat/lng — metro-only or ungeocoded rows are suppressed. |
| Pipeline incomplete | Automation: confirmed customer, no CP opp, no error — run still processing (hidden until pipeline finishes). |
| No weather impact | Customer in scan radius but no hail/wind confirmed — reduces noise (hit leads still show). |
| Storm triage entry | Leads without confirmed weather are hidden when from=storm-triage. |
| Deduplication | Auto-submitted table shows one row per company/property/opp — strongest weather hit; duplicate rows are noted in the section header. |
| Action | What it does |
|---|---|
| Export CSV | Downloads all displayed targets with weather, status, territory, rep assignment, and contact fields. |
| Find Nearby Buildings | SerpAPI search near storm centroid — seeds new lead properties into the run and re-checks HailTrace. Hidden from storm-triage entry. |
| Market Plan | Opens the market plan builder pre-seeded with this storm run id. Hidden from storm-triage entry. |
| Close | Closes the browser tab/window (typical when opened from storm triage). |
| Light / Dark | Theme toggle — preference stored in localStorage as jrco-theme. |
| Tool | Use when… |
|---|---|
| Storm mobilization triage | Branch-level storm pressure and links into this review page. |
| Storm triage help | Understanding tiers, scoring, and the mobilization board. |
| Hail events admin | Fixing geocodes, cities, or launching automation runs. |
| Market plan builder | Building outreach plans from a storm run (full entry path only). |
| Pitch pipeline | Broader PITCH intelligence after opportunities exist. |