{"$defs":{"TenantInput":{"properties":{"label":{"description":"Suite or tenant name","title":"Label","type":"string"},"rentable_sf":{"description":"Rentable SF","exclusiveMinimum":0,"title":"Rentable Sf","type":"number"},"rent_per_sf_yr":{"description":"Contractual base rent $/SF/yr at lease commencement","exclusiveMinimum":0,"title":"Rent Per Sf Yr","type":"number"},"lease_start_month":{"description":"Lease commencement month from project start (e.g. 19 = first month after 18-month construction)","minimum":1,"title":"Lease Start Month","type":"integer"},"term_months":{"default":120,"description":"Initial lease term in months","maximum":360,"minimum":12,"title":"Term Months","type":"integer"},"escalator_pct":{"default":0.025,"description":"Annual base rent escalator. Clock starts at lease commencement, not project start.","maximum":0.1,"minimum":0,"title":"Escalator Pct","type":"number"}},"required":["label","rentable_sf","rent_per_sf_yr","lease_start_month"],"title":"TenantInput","type":"object"}},"example":{"cl_advance_rate":0.65,"cl_origination_pct":0.005,"cl_rate":0.085,"cl_term_months":25,"construction_fee_pct":0.0,"construction_months":18,"developer_fee_pct":0.02,"draw_schedule":"s_curve","exit_cap_rate":0.06,"exit_costs_pct":0.03,"hard_costs":19000000,"hold_years":5.0,"land_cost":3500000,"lc_pct_of_lease_value":0.04,"mgmt_fee_pct":0.03,"opex_growth_pct":0.03,"opex_per_sf_yr":3.25,"other_income_annual":0,"perm_dscr_min":1.25,"perm_io_months":0,"perm_ltv":0.65,"perm_origination_pct":0.005,"perm_rate":0.065,"perm_term_years":30,"soft_costs":1900000,"stabilization_months":6,"stabilized_cap_rate":0.058,"start_date":"2026-01-01","tenants":[{"escalator_pct":0.025,"label":"Tenant A","lease_start_month":19,"rent_per_sf_yr":9.5,"rentable_sf":130000,"term_months":120},{"escalator_pct":0.025,"label":"Tenant B","lease_start_month":22,"rent_per_sf_yr":10.25,"rentable_sf":70000,"term_months":120}],"ti_per_sf":7.0,"total_sf":200000,"vacancy_credit_loss_pct":0.05},"properties":{"start_date":{"description":"Project start date YYYY-MM-DD (land close / construction begin)","title":"Start Date","type":"string"},"construction_months":{"description":"Construction period in months","maximum":60,"minimum":6,"title":"Construction Months","type":"integer"},"stabilization_months":{"default":6,"description":"Lease-up period in months — determines when developer fee is paid (month cm + sm)","maximum":24,"minimum":1,"title":"Stabilization Months","type":"integer"},"hold_years":{"description":"Hold period in years from first occupancy month (construction_months + 1)","maximum":15.0,"minimum":1.0,"title":"Hold Years","type":"number"},"total_sf":{"description":"Net rentable square feet","exclusiveMinimum":0,"title":"Total Sf","type":"number"},"land_cost":{"description":"Land acquisition cost ($).","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 evenly months 1-3","exclusiveMinimum":0,"title":"Soft Costs","type":"number"},"developer_fee_pct":{"default":0.02,"description":"Developer fee as % of (land + hard + soft) — drawn in CL, paid at C/O","maximum":0.1,"minimum":0,"title":"Developer Fee Pct","type":"number"},"construction_fee_pct":{"default":0.0,"description":"GC/construction management fee as % of hard costs (if separate from hard costs)","maximum":0.1,"minimum":0,"title":"Construction Fee Pct","type":"number"},"draw_schedule":{"default":"s_curve","description":"Hard cost draw profile — s_curve uses NORMDIST bell curve (matches Excel); straight_line distributes evenly over construction months.","enum":["s_curve","straight_line"],"title":"Draw Schedule","type":"string"},"hard_cost_draw_pcts":{"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%. Pass values from your Inputs tab for exact Excel reconciliation.","items":{"type":"number"},"title":"Hard Cost Draw Pcts","type":"array"},"tenants":{"description":"Per-tenant rent roll. lease_start_month is from project start.","items":{"$ref":"#/$defs/TenantInput"},"title":"Tenants","type":"array"},"other_income_annual":{"default":0.0,"description":"Ancillary annual income (storage, signage, truck court) ($)","minimum":0,"title":"Other Income Annual","type":"number"},"vacancy_credit_loss_pct":{"default":0.05,"description":"Portfolio-wide vacancy and credit loss as % of gross rental revenue.","maximum":0.3,"minimum":0,"title":"Vacancy Credit Loss Pct","type":"number"},"opex_per_sf_yr":{"description":"All-in OpEx $/SF/yr in year 1 (excluding management fee)","exclusiveMinimum":0,"title":"Opex Per Sf Yr","type":"number"},"opex_growth_pct":{"default":0.03,"description":"Annual opex growth rate — applied as a calendar-year step-up each January","maximum":0.1,"minimum":0,"title":"Opex Growth Pct","type":"number"},"mgmt_fee_pct":{"default":0.03,"description":"Management fee as % of net rental revenue","maximum":0.1,"minimum":0,"title":"Mgmt Fee Pct","type":"number"},"ti_per_sf":{"default":7.0,"description":"Tenant improvement allowance on rollover ($/SF)","minimum":0,"title":"Ti Per Sf","type":"number"},"lc_pct_of_lease_value":{"default":0.04,"description":"Leasing commission as % of new lease value","maximum":0.1,"minimum":0,"title":"Lc Pct Of Lease Value","type":"number"},"cl_advance_rate":{"default":0.65,"description":"Blended LTC on all-in monthly uses (land + hard + soft + dev fee + cap interest + origination)","exclusiveMinimum":0,"maximum":0.9,"title":"Cl Advance Rate","type":"number"},"cl_rate":{"default":0.085,"description":"Construction loan annual interest rate. Interest capitalized via ACT/365 day count.","exclusiveMinimum":0,"maximum":0.2,"title":"Cl Rate","type":"number"},"cl_origination_pct":{"default":0.005,"description":"Construction loan origination fee as % of committed loan amount.","maximum":0.03,"minimum":0,"title":"Cl Origination Pct","type":"number"},"cl_term_months":{"default":36,"description":"Construction loan term in months — perm closes at end of this month. Set to first_occupancy_month + stabilization_months (e.g. 19+6=25 for 18-month construction). Minimize to reduce capitalized interest. Hardcoded input; should align to first stabilized period where debt service can be paid.","maximum":60,"minimum":12,"title":"Cl Term Months","type":"integer"},"stabilized_cap_rate":{"description":"Going-in cap rate for perm loan sizing at month 36","exclusiveMinimum":0,"maximum":0.15,"title":"Stabilized Cap Rate","type":"number"},"perm_ltv":{"default":0.65,"description":"Permanent loan LTV as % of stabilized appraised value (NOI / stabilized_cap_rate).","exclusiveMinimum":0,"maximum":0.8,"title":"Perm Ltv","type":"number"},"perm_dscr_min":{"default":1.25,"description":"Minimum DSCR for perm sizing. Perm loan = min(LTV constraint, DSCR constraint).","maximum":2.0,"minimum":1.0,"title":"Perm Dscr Min","type":"number"},"perm_rate":{"exclusiveMinimum":0,"maximum":0.2,"title":"Perm Rate","type":"number"},"perm_term_years":{"default":30,"description":"Permanent loan amortization term in years.","maximum":40,"minimum":10,"title":"Perm Term Years","type":"integer"},"perm_io_months":{"default":0,"description":"Interest-only period in months before amortization begins on the permanent loan.","maximum":60,"minimum":0,"title":"Perm Io Months","type":"integer"},"perm_origination_pct":{"default":0.005,"description":"Permanent loan origination fee as % of loan amount.","maximum":0.03,"minimum":0,"title":"Perm Origination Pct","type":"number"},"exit_cap_rate":{"description":"Exit cap rate — sale = LTM NOI / exit_cap_rate","exclusiveMinimum":0,"maximum":0.15,"title":"Exit Cap Rate","type":"number"},"exit_costs_pct":{"default":0.03,"description":"Seller transaction costs as % of sale price (brokerage, transfer taxes, legal).","maximum":0.06,"minimum":0,"title":"Exit Costs Pct","type":"number"}},"required":["start_date","construction_months","hold_years","total_sf","land_cost","hard_costs","soft_costs","tenants","opex_per_sf_yr","stabilized_cap_rate","perm_rate","exit_cap_rate"],"title":"IndustrialDevRequest","type":"object"}