phone_matches_agent filter is intentional in Attik validation, but it blocks RepairPricer along with HBA because Attik has no direct RepairPricer integration — RP is triggered only when HomeBinder receives a payload whose documents include main_type: "Report" and sub_type: "Residential Inspection" (see REPAIR_PRICER_REGEX in formatHomeBinderPayload.ts).validateHomeBinderData in attik-backend/src/util/functions/homebinder/validateHomeBinderData.ts rejects sends when normalized client phone matches any buying/selling agent phone; sendToHomeBinder.ts persists status: 'filtered' with filterReason: 'phone_matches_agent' on the homebinderintegrations record.HomeBinder.tsx) shows Filtered with description "Did not meet HomeBinder requirements"; manual Resend (POST /inspection/:id/homebinder/resend) re-runs the same validation.reportStream.ts, inspectionStream.ts). ATT-1610 (done) established the move-service report gate RepairPricer depends on.Locked
phone_matches_agent filter correctly blocks a full HBA-style send today, but it also prevents RepairPricer because RP only flows through the HomeBinder payload path in Attik.formatHomeBinderPayload.ts / REPAIR_PRICER_REGEX); there is no separate RepairPricer API integration in Attik today.Open
adminPostInspectionRevenue.ts / ConciergeAdoptionSection.tsx) counts sent vs filtered. Should RP-only or same-person sends be: excluded from Concierge Eligible → Sent rate, tracked under a new status/reason, or counted as sent with a flag?exportHomeBinderSentSpreadsheet.ts), QuickBooks, or other revenue attribution? Define "done" for finance.sent with a sub-reason (e.g. repair_pricer_only), remain filtered with a new reason, or use a new status? Affects workorder UI (HomeBinder.tsx) and resend behavior.filtered + phone_matches_agent jobs be eligible for automatic retry once behavior changes?Backend (attik-backend)
validateHomeBinderData.ts — Today hard-stops on phone_matches_agent; behavior change depends on locked open decisions (allow send with flag, split validation paths, etc.).sendToHomeBinder.ts — Orchestrates validation, payload build, API call, and homebinderintegrations status; may need new filter reason, send mode, or post-send metadata.formatHomeBinderPayload.ts — Builds documents array that triggers RepairPricer via REPAIR_PRICER_REGEX / sub_type: "Residential Inspection"; may need payload adjustments per HomeBinder partner guidance.homeBinderIntegrationSchema.ts — Status enum is not_sent | pending | sent | error | filtered; may need new reason codes or fields for RP-only sends.routes/homebinder.ts — Status API and manual resend; filtered jobs surface filterDescription from getFilterReasonDescription.adminPostInspectionRevenue.ts aggregates concierge funnel and filter-reason breakdown; may need to exclude or reclassify same-person sends per product decision.exportHomeBinderResults.ts, exportHomeBinderSentSpreadsheet.ts used for admin spreadsheet / invoicing workflows.Frontend (attik-frontend)
HomeBinder.tsx (workorder integrations) — Displays filtered state and resend; may need copy/UX for RP-only or partial-send scenarios.ConciergeAdoptionSection.tsx (admin post-inspection revenue) — KPIs and exports for HomeBinder send rate; may need metric treatment for same-person sends.Mobile
attik-backend/src/util/functions/homebinder/validateHomeBinderData.tsattik-backend/src/util/functions/homebinder/sendToHomeBinder.tsattik-backend/src/util/functions/homebinder/formatHomeBinderPayload.tsattik-frontend/src/app/tools/inspections/[id]/components/integrations/HomeBinder.tsxattik-frontend/src/app/admin/post-inspection-revenue/_components/ConciergeAdoptionSection.tsxPlease authenticate to join the conversation.
Planned
Main App
6 days ago
Linear
Get notified by email when there are changes.
Planned
Main App
6 days ago
Linear
Get notified by email when there are changes.