Add EDDM size, income, businesses and USPS map link (#14)

## Summary
Closes #13.

- Mirror Monica: join USPS EDDM GIS stats onto the carrier-route picker (household size, median income, business count).
- Add Open USPS EDDM map link next to Find routes.
- GIS miss stays a dash and does not block Find routes. PCM households and cost unchanged.

Monica: ai_ml_operations/monica_site#17

## Test plan
- [ ] Find routes for a ZIP; table shows Size / Income / Businesses columns
- [ ] Missing GIS values render as —
- [ ] Open USPS EDDM map opens eddm.usps.com
- [ ] Quote and 1–2 route send still work
- [ ] `CarrierRoutePostcardTests` pass

Reviewed-on: #14
This commit was merged in pull request #14.
This commit is contained in:
westfarn committed 2026-09-22 12:40:24 -07:00
1 parent f2eb4b7152
commit 7ff52c776b
6 files changed
+254 -3

No files matched your search

@@ -31,14 +31,23 @@
<input id="route-state" type="text" maxlength="2" placeholder="IL">
</div>
<button class="btn btn-ghost btn-sm" type="button" id="route-find-btn">Find routes</button>
<p class="hint" style="margin-top:8px">
<a id="eddm-map-link" href="https://eddm.usps.com/eddm/select-routes.htm"
target="_blank" rel="noopener noreferrer">Open USPS EDDM map</a>
— official route map. Use Show Table there for size / income filters.
PCM still mails a purchased occupant list, not EDDM postage.
</p>
<p class="hint" id="route-status" style="margin-top:8px"></p>
<div id="route-table-wrap" hidden style="margin-top:12px">
<div id="route-table-wrap" hidden style="margin-top:12px;overflow-x:auto">
<table class="table">
<thead>
<tr>
<th>Route</th>
<th>Area</th>
<th>Households</th>
<th>Size</th>
<th>Income</th>
<th>Businesses</th>
<th>Est. cost</th>
</tr>
</thead>