{"$defs":{"UnitType":{"properties":{"type":{"description":"Unit label e.g. '1BR'","title":"Type","type":"string"},"count":{"description":"Number of units of this type.","exclusiveMinimum":0,"title":"Count","type":"integer"},"monthly_rent":{"description":"Gross rent per unit per month at project start ($)","exclusiveMinimum":0,"title":"Monthly Rent","type":"number"}},"required":["type","count","monthly_rent"],"title":"UnitType","type":"object"}},"example":{"construction_ltc":0.65,"construction_months":24,"construction_origination_pct":0.005,"construction_rate":0.085,"developer_fee":480000,"draw_schedule":"s_curve","exit_cap_rate":0.055,"exit_costs_pct":0.03,"hard_costs":17500000,"hold_years":5.0,"land_cost":3500000,"opex_pct":0.38,"other_income_pct":0.03,"perm_dscr_min":1.25,"perm_ltv":0.7,"perm_origination_pct":0.005,"perm_rate":0.065,"perm_term_years":30,"rent_growth_pct":0.03,"soft_costs":3000000,"stabilization_months":6,"stabilized_cap_rate":0.055,"stabilized_vacancy_pct":0.05,"start_date":"2026-01-01","units":[{"count":60,"monthly_rent":1950,"type":"1BR"},{"count":30,"monthly_rent":2450,"type":"2BR"}]},"properties":{"start_date":{"description":"Project start date YYYY-MM-DD (land purchase / month 1)","title":"Start Date","type":"string"},"construction_months":{"description":"Construction period in months","maximum":60,"minimum":6,"title":"Construction Months","type":"integer"},"stabilization_months":{"description":"Lease-up / stabilization period in months","maximum":24,"minimum":1,"title":"Stabilization Months","type":"integer"},"hold_years":{"description":"Hold from stabilization in years","maximum":15.0,"minimum":1.0,"title":"Hold Years","type":"number"},"units":{"description":"Unit mix — each entry is a unit type with count and rent","items":{"$ref":"#/$defs/UnitType"},"title":"Units","type":"array"},"rent_growth_pct":{"default":0.03,"description":"Annual rent growth rate","maximum":0.15,"minimum":0,"title":"Rent Growth Pct","type":"number"},"stabilized_vacancy_pct":{"default":0.05,"description":"Stabilized vacancy rate","maximum":0.5,"minimum":0,"title":"Stabilized Vacancy Pct","type":"number"},"other_income_pct":{"default":0.04,"description":"Other income as % of net rental revenue","maximum":0.2,"minimum":0,"title":"Other Income Pct","type":"number"},"opex_pct":{"default":0.38,"description":"OpEx as % of GPR — covers taxes, insurance, maintenance, management, reserves. OpEx is paid even when vacant, so applied to GPR not EGI.","maximum":0.7,"minimum":0,"title":"Opex Pct","type":"number"},"land_cost":{"description":"Land cost ($) — paid month 1, included in blended LTC basis","exclusiveMinimum":0,"title":"Land Cost","type":"number"},"hard_costs":{"description":"Total hard construction costs ($)","exclusiveMinimum":0,"title":"Hard Costs","type":"number"},"soft_costs":{"description":"Total soft costs ($) — drawn equally months 1-3","exclusiveMinimum":0,"title":"Soft Costs","type":"number"},"developer_fee":{"default":0,"description":"Developer fee ($) — drawn in construction loan, paid at C/O","minimum":0,"title":"Developer Fee","type":"number"},"construction_ltc":{"description":"Blended LTC on all-in monthly uses (hard+soft+land+cap_int+origination). E.g. 0.65","exclusiveMinimum":0,"maximum":0.95,"title":"Construction Ltc","type":"number"},"construction_rate":{"description":"Construction loan annual rate","exclusiveMinimum":0,"maximum":0.25,"title":"Construction Rate","type":"number"},"construction_origination_pct":{"default":0.005,"description":"Construction loan origination fee %","maximum":0.05,"minimum":0,"title":"Construction Origination Pct","type":"number"},"draw_schedule":{"default":"s_curve","description":"Hard cost draw profile when hard_cost_draw_pcts is not provided","enum":["s_curve","straight_line"],"title":"Draw Schedule","type":"string"},"hard_cost_draw_pcts":{"anyOf":[{"items":{"type":"number"},"type":"array"},{"type":"null"}],"default":null,"description":"Monthly hard cost draw % by construction month (length must equal construction_months). Overrides draw_schedule. Will be normalized to sum to 100%.","title":"Hard Cost Draw Pcts"},"stabilized_cap_rate":{"description":"Going-in cap rate for perm loan value sizing — perm loan = min(LTV, DSCR) on NOI/cap_rate","exclusiveMinimum":0,"maximum":0.2,"title":"Stabilized Cap Rate","type":"number"},"perm_ltv":{"default":0.65,"description":"Max perm LTV","exclusiveMinimum":0,"maximum":0.85,"title":"Perm Ltv","type":"number"},"perm_dscr_min":{"default":1.25,"description":"Min DSCR for perm loan sizing","maximum":2.0,"minimum":1.0,"title":"Perm Dscr Min","type":"number"},"perm_rate":{"description":"Permanent loan annual rate","exclusiveMinimum":0,"maximum":0.2,"title":"Perm Rate","type":"number"},"perm_term_years":{"default":30,"description":"Permanent loan amortization term","maximum":40,"minimum":10,"title":"Perm Term Years","type":"integer"},"perm_origination_pct":{"default":0.005,"description":"Perm loan origination fee %","maximum":0.05,"minimum":0,"title":"Perm Origination Pct","type":"number"},"exit_cap_rate":{"description":"Exit cap rate — sale price = trailing 12-month NOI / exit_cap_rate.","exclusiveMinimum":0,"maximum":0.2,"title":"Exit Cap Rate","type":"number"},"exit_costs_pct":{"default":0.03,"description":"Transaction costs as % of gross sale price","maximum":0.1,"minimum":0,"title":"Exit Costs Pct","type":"number"}},"required":["start_date","construction_months","stabilization_months","hold_years","units","land_cost","hard_costs","soft_costs","construction_ltc","construction_rate","stabilized_cap_rate","perm_rate","exit_cap_rate"],"title":"MfDevRequest","type":"object"}