{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Grant Application","description":"Application submitted to a public or private grantor under a named funding programme, with project summary, timeline, milestones, budget breakdown by category, and expected outcomes with measurable KPIs.","type":"object","required":["submission_date","grantor","applicant","project","budget","budget_total","expected_outcomes","kpis","signatory"],"additionalProperties":false,"properties":{"submission_date":{"type":"string","format":"date"},"grantor":{"type":"object","required":["name","programme","call_reference"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"programme":{"type":"string","minLength":1},"call_reference":{"type":"string","minLength":1}}},"applicant":{"type":"object","required":["legal_name","legal_form","registration","address","contact_name","contact_email"],"additionalProperties":false,"properties":{"legal_name":{"type":"string","minLength":1},"legal_form":{"type":"string","minLength":1},"registration":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"contact_name":{"type":"string","minLength":1},"contact_email":{"type":"string","minLength":1}}},"project":{"type":"object","required":["title","summary","start_date","end_date","total_cost","requested_amount","co_funding_amount","co_funding_source","milestones"],"additionalProperties":false,"properties":{"title":{"type":"string","minLength":1},"summary":{"type":"string","minLength":1},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"total_cost":{"type":"number","exclusiveMinimum":0},"requested_amount":{"type":"number","exclusiveMinimum":0},"co_funding_amount":{"type":"number","minimum":0},"co_funding_source":{"type":"string","minLength":1},"milestones":{"type":"array","minItems":1,"items":{"type":"object","required":["date","label","deliverable"],"additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"label":{"type":"string","minLength":1},"deliverable":{"type":"string","minLength":1}}}}}},"budget":{"type":"array","minItems":1,"items":{"type":"object","required":["category","description","amount","share_pct"],"additionalProperties":false,"properties":{"category":{"type":"string","enum":["personnel","equipment","subcontracting","travel","consumables","overhead","other"]},"description":{"type":"string","minLength":1},"amount":{"type":"number","minimum":0},"share_pct":{"type":"number","minimum":0,"maximum":100}}}},"budget_total":{"type":"number","exclusiveMinimum":0},"expected_outcomes":{"type":"string","minLength":1},"kpis":{"type":"array","minItems":1,"items":{"type":"object","required":["name","baseline","target"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"baseline":{"type":"string","minLength":1},"target":{"type":"string","minLength":1}}}},"signatory":{"type":"object","required":["name","title"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"title":{"type":"string","minLength":1}}}}}