{
  "_meta": {
    "purpose": "Single source of truth for the Rental Property Cash Flow Calculator. Per-preset defaults, global default %s, the itemized CapEx component table, screening thresholds, and growth/depreciation constants all live here so annual updates are a one-file edit.",
    "lastUpdated": "2026-06-10",
    "notes": [
      "interestRatePct is an EDITABLE PLACEHOLDER, not a quoted fact. 7.0% reflects a 30-yr fixed on a non-owner-occupied investment property in early 2026 (roughly an owner-occupied rate + ~0.5-0.75%). Re-check and edit when rates move.",
      "All percentages are stored as percents (7.0 = 7%), not fractions.",
      "Operating-expense %s (vacancy/management/maintenance/capex) are research-informed typical values shown pre-filled but fully editable in the UI.",
      "Depreciation period is the IRS residential straight-line life (27.5 years). Land is not depreciable, hence landPct."
    ],
    "sources": {
      "mortgageRate": "Freddie Mac PMMS / investor-loan spread, early 2026 ballpark (editable placeholder).",
      "depreciation": "IRS Pub 527 — residential rental property, 27.5-year straight-line.",
      "screeningRules": "Common investor heuristics (1% rule, 50% rule, DSCR, cash-on-cash floor)."
    }
  },

  "constants": {
    "depreciationYears": 27.5,
    "monthsPerYear": 12
  },

  "defaults": {
    "interestRatePct": 7.0,
    "loanTermYears": 30,
    "downPct": 25,
    "closingPct": 3,
    "pointsPct": 0,
    "vacancyPct": 5,
    "managementPct": 8,
    "maintenancePct": 5,
    "capexPct": 5,
    "rentGrowthPct": 3,
    "expenseInflationPct": 3,
    "appreciationPct": 3,
    "sellingCostPct": 7.5,
    "holdYears": 30,
    "landPct": 20,
    "marginalRatePct": 22,
    "insuranceAnnual": 1400
  },

  "thresholds": {
    "onePctRulePct": 1.0,
    "fiftyPctRulePct": 50,
    "dscrMin": 1.25,
    "cocFloorPct": 8
  },

  "capexComponents": [
    { "name": "Roof", "cost": 12000, "life": 25 },
    { "name": "HVAC", "cost": 7000, "life": 18 },
    { "name": "Water heater", "cost": 1400, "life": 12 },
    { "name": "Flooring", "cost": 5000, "life": 12 },
    { "name": "Appliances", "cost": 3000, "life": 12 },
    { "name": "Interior/exterior paint", "cost": 4000, "life": 8 },
    { "name": "Windows", "cost": 8000, "life": 30 },
    { "name": "Driveway/landscaping", "cost": 3000, "life": 20 }
  ],

  "presets": {
    "ltr": {
      "label": "Long-Term Rental (buy & hold)",
      "blurb": "A standard buy-and-hold: one monthly rent, financed purchase, and honest reserves for vacancy, maintenance, and CapEx.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": {},
      "defaults": {
        "purchasePrice": 300000,
        "monthlyRent": 2400,
        "otherIncomeMonthly": 0,
        "insuranceAnnual": 1400,
        "hoaMonthly": 0,
        "utilitiesMonthly": 0,
        "lawnSnowMonthly": 0,
        "waterSewerTrashMonthly": 40
      }
    },

    "str": {
      "label": "Short-Term Rental (Airbnb / VRBO)",
      "blurb": "Nightly rate × occupancy, a platform host fee, cleaning collected vs. paid, higher utilities and management, plus furnishing as upfront cash.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": { "str": true },
      "defaults": {
        "rentMode": "nightly",
        "nightlyRate": 180,
        "occupancyPct": 60,
        "cleaningCollectedMonthly": 600,
        "cleaningPaidMonthly": 550,
        "platformHostFeePct": 3,
        "furnishing": 15000,
        "purchasePrice": 350000,
        "otherIncomeMonthly": 0,
        "insuranceAnnual": 2200,
        "hoaMonthly": 0,
        "utilitiesMonthly": 350,
        "lawnSnowMonthly": 80,
        "waterSewerTrashMonthly": 90,
        "managementPct": 20,
        "maintenancePct": 6,
        "capexPct": 6,
        "suppliesMonthly": 120
      }
    },

    "mtr": {
      "label": "Mid-Term / Furnished Rental",
      "blurb": "A furnished monthly rental with utilities included and moderate turnover — a premium rent, but you cover more of the bills.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": {},
      "defaults": {
        "purchasePrice": 320000,
        "monthlyRent": 2800,
        "otherIncomeMonthly": 0,
        "vacancyPct": 8,
        "insuranceAnnual": 1500,
        "hoaMonthly": 0,
        "utilitiesMonthly": 250,
        "lawnSnowMonthly": 60,
        "waterSewerTrashMonthly": 70,
        "managementPct": 10,
        "maintenancePct": 6,
        "capexPct": 5,
        "suppliesMonthly": 40
      }
    },

    "househack": {
      "label": "House Hack (owner-occupied)",
      "blurb": "You live in one unit/room and rent the rest. Only the rented portion's income counts, and its share of the expenses and mortgage is what the rental has to carry.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": { "houseHack": true },
      "defaults": {
        "purchasePrice": 400000,
        "monthlyRent": 1800,
        "rentedSharePct": 50,
        "downPct": 5,
        "interestRatePct": 6.5,
        "otherIncomeMonthly": 0,
        "insuranceAnnual": 1800,
        "hoaMonthly": 0,
        "utilitiesMonthly": 200,
        "lawnSnowMonthly": 40,
        "waterSewerTrashMonthly": 80,
        "managementPct": 0,
        "maintenancePct": 5,
        "capexPct": 5
      }
    },

    "brrrr": {
      "label": "BRRRR (buy, rehab, rent, refinance)",
      "blurb": "Buy below market, rehab to force appreciation, then cash-out refinance at the new value. If the refi returns more than you put in, your cash-on-cash goes 'infinite'.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": { "brrrr": true },
      "defaults": {
        "purchasePrice": 150000,
        "rehab": 40000,
        "arv": 250000,
        "refiLtvPct": 75,
        "refiRatePct": 7.25,
        "refiCostsPct": 2,
        "monthlyRent": 2000,
        "otherIncomeMonthly": 0,
        "downPct": 25,
        "insuranceAnnual": 1300,
        "hoaMonthly": 0,
        "utilitiesMonthly": 0,
        "lawnSnowMonthly": 0,
        "waterSewerTrashMonthly": 40
      }
    },

    "custom": {
      "label": "Custom (blank)",
      "blurb": "Every input group visible with conservative national defaults — start from scratch and tune to your deal.",
      "groups": ["financing", "income", "vacancy", "operating", "capex", "growth", "tax"],
      "flags": { "str": true, "brrrr": true, "houseHack": true },
      "defaults": {
        "purchasePrice": 250000,
        "monthlyRent": 2000,
        "otherIncomeMonthly": 0,
        "insuranceAnnual": 1400,
        "hoaMonthly": 0,
        "utilitiesMonthly": 0,
        "lawnSnowMonthly": 0,
        "waterSewerTrashMonthly": 0
      }
    }
  }
}
