{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Organisational Training Plan","description":"Periodic (quarterly or annual) organisational training plan. Not a statutory form: aligned with common SME practice for workforce development planning, references the ISO 30414:2018 human-capital reporting framework for headcount and cost disclosure, and supports mandatory compliance training tracking (e.g. Art. 39 GDPR for DPO-delivered training, Directive 89/391/EEC occupational safety).","type":"object","additionalProperties":false,"required":["entity","period","training_goals","target_audience","training_items","total_budget","currency","approver"],"$defs":{"audience_group":{"type":"object","additionalProperties":false,"required":["group","headcount"],"properties":{"group":{"type":"string"},"headcount":{"type":"integer","minimum":0}}},"training_item":{"type":"object","additionalProperties":false,"required":["id","title","description","delivery","provider","duration_hours","target_headcount","schedule_window","cost_per_seat","budget_total","mandatory_compliance"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"delivery":{"enum":["classroom","online","blended","on_the_job"]},"provider":{"type":"string","description":"'internal' or the external provider's legal name."},"duration_hours":{"type":"number","minimum":0},"target_headcount":{"type":"integer","minimum":0},"schedule_window":{"type":"string","description":"Human label, e.g. 'Q1 2025' or '2025-03 to 2025-05'."},"cost_per_seat":{"type":"number","minimum":0},"budget_total":{"type":"number","minimum":0},"mandatory_compliance":{"type":"boolean"}}}},"properties":{"entity":{"type":"object","additionalProperties":false,"required":["name","legal_form","registration_number","address"],"properties":{"name":{"type":"string"},"legal_form":{"type":"string"},"registration_number":{"type":"string"},"address":{"type":"string"}}},"period":{"type":"object","additionalProperties":false,"required":["label","start_date","end_date"],"properties":{"label":{"type":"string"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"}}},"training_goals":{"type":"array","minItems":1,"items":{"type":"string"}},"target_audience":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/audience_group"}},"training_items":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/training_item"}},"total_budget":{"type":"number","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3},"approver":{"type":"object","additionalProperties":false,"required":["name","title","date"],"properties":{"name":{"type":"string"},"title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}