|
| 1 | +# Deal Schema (Washington Investment Brokerage) |
| 2 | + |
| 3 | +This section defines the strict Deal Schema used as the single source of truth. A Deal is instantiated only when the decision is made to draft an offer. Leads and Analysis are separate upstream objects and must reference the Deal once created. |
| 4 | + |
| 5 | +## Deal Stages And Triggers |
| 6 | +1. Drafting/Structuring |
| 7 | +- Trigger: Decision to make an offer (promoted from Analysis). |
| 8 | +- Focus: Defining creative terms, drafting the PSA (Form 21), aligning internal partners. |
| 9 | + |
| 10 | +2. Negotiation |
| 11 | +- Trigger: Sending the signed Offer (PSA) to the Seller or Listing Agent. |
| 12 | +- Focus: Counter-offers, price adjustments, term refinement. |
| 13 | + |
| 14 | +3. Mutual Acceptance (The Clock Starts) |
| 15 | +- Trigger: PSA fully signed and dated by both parties. |
| 16 | +- Focus: Strictly tracking the timeline (Day 0). |
| 17 | + |
| 18 | +4. Feasibility/Due Diligence |
| 19 | +- Trigger: Receipt of Earnest Money (Form 31) or opening of Escrow. |
| 20 | +- Focus: Inspections (Form 35), Title Review (Form 22T), Seller Disclosure (Form 17). |
| 21 | + |
| 22 | +5. Funding/Partner Alignment (Investor Specific) |
| 23 | +- Trigger: Inspection Contingency Waived or Satisfied (Form 35R). |
| 24 | +- Focus: Finalizing private money, hard money, or partnership funds. |
| 25 | + |
| 26 | +6. Escrow/Closing Prep |
| 27 | +- Trigger: Funding committed or Loan Docs ordered. |
| 28 | +- Focus: Signing, HUD/CD review, final walkthrough. |
| 29 | + |
| 30 | +7. Closed |
| 31 | +- Trigger: Recording Numbers received from the County. |
| 32 | +- Focus: Commission disbursement, file compliance audit. |
| 33 | + |
| 34 | +8. Post-Close/Asset Mgmt |
| 35 | +- Trigger: Possession or Keys received. |
| 36 | +- Focus: Handover to rehab crew or property management. |
| 37 | + |
| 38 | +## Critical Deadlines To Track |
| 39 | +- Earnest Money Deposit (default: mutual acceptance + 2 days). |
| 40 | +- Seller Disclosure Review (default: mutual acceptance + 3 days). |
| 41 | +- Inspection Response (default: mutual acceptance + 10 days). |
| 42 | +- Title Review (default: receipt + 5 days). |
| 43 | +- Financing Contingency (Form 22A deadline). |
| 44 | +- Hard Money or Private Capital Commitment Date (custom investor deadline). |
| 45 | + |
| 46 | +## Required Fields (Grouped) |
| 47 | + |
| 48 | +### Property Identity |
| 49 | +- `property_address`: Full street address, City, State, Zip. |
| 50 | +- `parcel_number`: Tax Parcel ID. |
| 51 | +- `legal_description`: Abbreviated legal. |
| 52 | +- `mls_number`: NWMLS Listing ID (if on-market). |
| 53 | + |
| 54 | +### Parties (The Rolodex) |
| 55 | +- `buyer_entity`: Purchasing entity (individual, LLC, or "and/or assigns"). |
| 56 | +- `seller_name`: Legal owner name(s). |
| 57 | +- `listing_agent`: Name, Firm, Email, Phone, License #. |
| 58 | +- `escrow_officer`: Name, Company, Email, Team Phone. |
| 59 | +- `title_officer`: Name, Company, Email. |
| 60 | +- `lender_contact`: Name, Email (private, hard money, or conventional). |
| 61 | + |
| 62 | +### Financials And Terms |
| 63 | +- `purchase_price`: Float. |
| 64 | +- `earnest_money`: Amount, Form (Check/Wire/Note), Holder (Closing Agent or Firm). |
| 65 | +- `financing_type`: Enum [Cash, Conventional, FHA/VA, Seller Carry, Subject-To, Hard Money]. |
| 66 | +- `creative_terms`: Object { down_payment, interest_rate, amortization, balloon_date, monthly_payment } (nullable). |
| 67 | +- `commission_split`: % to Selling Office, % to Listing Office. |
| 68 | + |
| 69 | +### The Clock (Critical Dates) |
| 70 | +- `mutual_acceptance_date`: Date. |
| 71 | +- `closing_date`: Date. |
| 72 | +- `possession_date`: Date (e.g., "Closing", "Closing + 3 Days"). |
| 73 | + |
| 74 | +### Contingencies And Deadlines (Computed From Mutual Acceptance) |
| 75 | +- `earnest_money_due`: Date (default: mutual acceptance + 2 days). |
| 76 | +- `seller_disclosure_review`: Date (default: mutual acceptance + 3 days). |
| 77 | +- `inspection_period_end`: Date (default: mutual acceptance + 10 days). |
| 78 | +- `title_review_end`: Date (default: receipt + 5 days). |
| 79 | +- `financing_contingency_end`: Date (Form 22A deadline). |
| 80 | + |
| 81 | +### Documents And Compliance |
| 82 | +- `transaction_id`: Internal Firm ID. |
| 83 | +- `required_docs`: Enum list [PSA_21, Form_17, Form_35, Form_22A, Law_Pamphlet, Agency_Pamphlet]. |
| 84 | +- `doc_status`: Map of document to status [Missing, Drafted, Signed, Uploaded]. |
| 85 | + |
| 86 | +### Compliance And Agency (Weichert Standards) |
| 87 | +- `agency_disclosure_date`: Date Form 42 (Agency Disclosure) was signed. |
| 88 | +- `pamphlet_receipt_date`: Date "Law of Real Estate Agency" pamphlet was sent or acknowledged. |
| 89 | +- `firm_license_info`: Object { name: "Weichert, Realtors - Equity NW", license_number: [auto-filled], address: [auto-filled] }. |
| 90 | +- `principal_broker_review`: Boolean (has Gene reviewed or initialed). |
| 91 | +- `commission_disbursement_form`: Status [Not Started, Submitted, Approved]. |
| 92 | +- `referral_agreement`: Object { agent_name, firm, percent_split } (nullable). |
| 93 | +- `lead_source`: String (tracked for ROI reporting). |
| 94 | +- `investor_partner_entity`: String (if a partner is involved in funding or equity). |
| 95 | + |
| 96 | +### Audit And System Meta (Immutable) |
| 97 | +- `created_by`: String (user ID or agent ID). |
| 98 | +- `created_at`: ISO 8601 timestamp. |
| 99 | +- `last_updated_by`: String. |
| 100 | +- `last_updated_at`: ISO 8601 timestamp. |
| 101 | +- `update_reason`: String (required for manual overrides). |
| 102 | +- `change_log`: List of objects { timestamp, actor, field, old_val, new_val }. |
| 103 | + |
| 104 | +### Validation And Defaults |
| 105 | + |
| 106 | +Defaults (Computed) |
| 107 | +- `earnest_money_due` = `mutual_acceptance_date` + 2 business days. |
| 108 | +- `seller_disclosure_review` = `mutual_acceptance_date` + 3 business days. |
| 109 | +- `inspection_period_end` = `mutual_acceptance_date` + 10 calendar days. |
| 110 | +- `title_review_end` = `title_receipt_date` + 5 business days. |
| 111 | +- `possession_date` defaults to `closing_date` unless overridden. |
| 112 | + |
| 113 | +Validation Rules |
| 114 | +- `deal_id`: Required and unique (UUID or internal slug). |
| 115 | +- `mutual_acceptance_date`: Required if status is active, pending, or closed. |
| 116 | +- `purchase_price`: Must be > 0. |
| 117 | +- `earnest_money`: Must be > 0. |
| 118 | +- `status`: Must match defined enum values. |
| 119 | +- `required_docs`: At least PSA_21 required to enter Stage 2 (Negotiation). |
0 commit comments