diff --git a/TODO.md b/TODO.md index dd1a2a9..68fc21b 100644 --- a/TODO.md +++ b/TODO.md @@ -1,17 +1,30 @@ # SHOC — TODO +## Vendor Portal (Next Priority) +- [ ] Change dispatch email Accept button to "View Work Order" linking to vendor portal +- [ ] Vendor web portal — public pages authenticated by dispatch token +- [ ] Vendor can view their dispatches, accept, update status, complete sign-offs, fill checklists +- [ ] No login required — token-based access from email link +- [ ] Per-WO template selection in multi-WO dispatch + ## Dispatch & Vendor Communication -- [ ] Dispatch detail modal — click dispatch row to view/edit status, dates, NTE, description, resend email -- [ ] Dispatch number — auto-generated DSP-00001 format, separate from PO number -- [ ] DispatchId on Comments — tie vendor comments to specific dispatches, not just the WO -- [ ] Vendor activity feed per dispatch — filtered view in dispatch detail modal -- [ ] Internal user → vendor email — typing in vendor thread sends email to vendor -- [ ] **Front API integration** — replace SendGrid/SES dispatch email with Front inbox (`vendors@seahaven.com`), use Front webhooks for inbound vendor replies, keep email threads intact in both SHOC and Front -- [ ] SES inbound vendor reply Lambda — if not using Front: new Lambda for `vendors@int.seahaven.com`, parse subject `[WO-XXXXXXXX-DX]`, write to DynamoDB VendorReplies table -- [ ] Sync bridge for vendor replies — SyncController endpoint to pull VendorReplies into Comments table +- [x] Dispatch detail modal — view/edit status, dates, NTE, description +- [x] Dispatch number — auto-generated DSP-00001 +- [x] DispatchId on Comments — tie vendor comments to specific dispatches +- [x] Vendor activity feed per dispatch +- [x] Internal user → vendor email +- [x] Cancel dispatch button +- [x] Checklist items with template support +- [x] Two-party sign-offs (Customer + Vendor) +- [x] Dispatcher verification gate +- [x] Vendor accept via email link +- [x] Time tracking / wait indicators +- [x] Multi-WO dispatch +- [ ] **Front API integration** — replace SendGrid/SES with Front inbox (vendors@seahaven.com) +- [ ] Add ability for dispatcher to assign a template checklist after initial dispatch +- [ ] Resend dispatch email button ## Work Order List -- [ ] Fix pagination when scrolling through pages - [ ] Pinned Actions column — CSS grid doesn't support sticky horizontal scroll, revisit ## Pages Not Yet Built @@ -30,7 +43,7 @@ - [ ] Customer NTE — wire to PO database (placeholder on WO view page) - [ ] Vendor PO detailed format — line items, billing address, payment terms, expiration, T&C - [ ] PDF generation for Vendor PO — QuestPDF or similar -- [ ] Address-based distance calculation — upgrade from zip-to-zip to geocoded addresses (Google Maps API or Census Geocoder) +- [ ] Address-based distance calculation — upgrade from zip-to-zip to geocoded addresses - [ ] Backfill location zip codes from address strings during sync ## Deployment