{"name":"Glacier Planner first projection","version":1,"inputSchema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"name":{"default":"My retirement plan","type":"string","minLength":1,"maxLength":120},"startYear":{"default":2026,"type":"number","const":2026},"province":{"type":"string","enum":["AB","BC","MB","NB","NL","NS","NT","NU","ON","PE","QC","SK","YT"]},"people":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"object","properties":{"name":{"description":"A label is enough; a legal name is unnecessary.","default":"You","type":"string","minLength":1,"maxLength":60},"birthDate":{"description":"Exact birth date controls ages and benefit timing.","type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"retirementAge":{"type":"integer","minimum":18,"maximum":85},"employmentIncome":{"description":"Gross annual employment income now, CAD; enter 0 if none.","type":"number","minimum":0,"maximum":25000000},"quebecPayrollConfirmed":{"description":"Required only for positive employment income in Quebec: explicitly confirm this employment is subject to Quebec payroll contributions. Residence alone does not establish the employment jurisdiction. Cross-province employment is outside this first-calculation scope.","type":"boolean","const":true},"cppAnnualAt65":{"description":"Annual CPP or QPP at 65 in 2026 CAD from statement. Explicit null accepts the labelled 60%-of-maximum starting estimate.","anyOf":[{"type":"number","minimum":0,"maximum":25000000},{"type":"null"}]},"cppStartAge":{"default":65,"type":"integer","minimum":60,"maximum":70},"oasResidenceYears":{"description":"Canadian residence years after 18 used for OAS entitlement at its start; 40 means full OAS.","type":"integer","minimum":0,"maximum":40},"oasStartAge":{"default":65,"type":"integer","minimum":65,"maximum":70},"savings":{"type":"object","properties":{"rrsp":{"type":"number","minimum":0,"maximum":25000000},"rrif":{"type":"number","minimum":0,"maximum":25000000},"tfsa":{"type":"number","minimum":0,"maximum":25000000},"nonRegistered":{"type":"number","minimum":0,"maximum":25000000},"nonRegisteredCostBasis":{"type":"number","minimum":0,"maximum":25000000},"cash":{"type":"number","minimum":0,"maximum":25000000}},"required":["rrsp","rrif","tfsa","nonRegistered","nonRegisteredCostBasis","cash"],"additionalProperties":false},"tfsaRoom":{"default":0,"type":"number","minimum":0,"maximum":25000000},"rrspRoom":{"default":0,"type":"number","minimum":0,"maximum":25000000},"pension":{"type":"object","properties":{"annual":{"description":"Annual pension in 2026 CAD; grown by plan inflation to its start age, then by its stated indexing.","type":"number","minimum":0,"maximum":25000000},"startAge":{"type":"integer","minimum":18,"maximum":85},"indexing":{"default":0,"type":"number","minimum":0,"maximum":0.05}},"required":["annual","startAge","indexing"],"additionalProperties":false}},"required":["name","birthDate","retirementAge","employmentIncome","cppAnnualAt65","cppStartAge","oasResidenceYears","oasStartAge","savings","tfsaRoom","rrspRoom"],"additionalProperties":false}},"annualSpending":{"description":"Annual household spending after tax in 2026 CAD, excluding contributions.","type":"number","exclusiveMinimum":0,"maximum":25000000},"inflation":{"default":0.021,"type":"number","minimum":0,"maximum":0.06},"investmentReturn":{"default":0.05,"type":"number","minimum":-0.02,"maximum":0.1},"assumptionsAccepted":{"description":"Confirm the stated basic scope, return/inflation assumptions and any explicit CPP estimate with the person before calculating.","type":"boolean","const":true},"alternative":{"type":"object","properties":{"name":{"default":"What if","type":"string","minLength":1,"maxLength":80},"retirementAges":{"minItems":1,"maxItems":2,"type":"array","items":{"type":"integer","minimum":18,"maximum":85}},"annualSpending":{"type":"number","exclusiveMinimum":0,"maximum":25000000}},"required":["name"],"additionalProperties":false}},"required":["name","startYear","province","people","annualSpending","inflation","investmentReturn","assumptionsAccepted"],"additionalProperties":false},"example":{"input":{"name":"Our retirement plan","startYear":2026,"province":"ON","people":[{"name":"Alex","birthDate":"1966-06-15","retirementAge":65,"employmentIncome":90000,"cppAnnualAt65":12000,"cppStartAge":65,"oasResidenceYears":40,"oasStartAge":65,"savings":{"rrsp":550000,"rrif":0,"tfsa":100000,"nonRegistered":50000,"nonRegisteredCostBasis":40000,"cash":10000},"tfsaRoom":0,"rrspRoom":0}],"annualSpending":60000,"inflation":0.021,"investmentReturn":0.05,"assumptionsAccepted":true,"alternative":{"name":"Retire at63","retirementAges":[63]}}},"scope":"A first projection for one or two Canadian adults: employment, a defined-benefit pension, CPP/QPP, OAS, RRSP/RRIF, TFSA, non-registered investments and cash. No corporations, property, debts, children, benefit-entitlement history, LIRA/LIF or planned extra contributions. GIS, Allowance and refundable benefit payments (including Ontario GAINS and Trillium) are not included; missing benefits can make a projected shortfall look larger. Review eligibility and payment history before changing spending. Quebec employment requires explicit confirmation of Quebec payroll contributions; cross-province employment is outside this first-calculation scope. Excluded situations need additional facts and supported-case review.","accountRequired":false,"paymentRequired":false,"persistsFinancialData":false,"mcp":"https://planner.glacierfinancial.ca/calculate/mcp","guide":"https://planner.glacierfinancial.ca/docs/agents"}