{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"be.reports.training_hours","type":"object","additionalProperties":false,"required":["letter","entity","period","summary","by_category"],"properties":{"letter":{"type":"object","additionalProperties":false,"required":["date","reference"],"properties":{"date":{"type":"string","format":"date"},"reference":{"type":"string","minLength":1}}},"entity":{"type":"object","additionalProperties":false,"required":["name","bce","vat"],"properties":{"name":{"type":"string","minLength":1},"bce":{"type":"string","pattern":"^0[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$"},"vat":{"type":"string","pattern":"^BE0[0-9]{9}$"},"address":{"type":"string"},"seat_region":{"type":"string","description":"Linguistic region of the operating seat (optional): Dutch-language region, French-language region, Brussels-Capital or German-language region. The language of the request is compared with it: a warning, never a refusal (Flemish decree of 19 July 1973, art. 5 and 10; decree of the French Community of 30 June 1982; coordinated laws of 18 July 1966, art. 52). The AI never proposes it.","enum":["nl_region","fr_region","brussels","de_region"]},"city":{"type":"string"}}},"period":{"type":"object","additionalProperties":false,"required":["start","end"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"}}},"summary":{"type":"object","additionalProperties":false,"required":["total_hours","total_cost_gross","fte_average"],"properties":{"total_hours":{"type":"number","minimum":0},"total_cost_gross":{"type":"number","minimum":0},"total_cost_net":{"type":"number","minimum":0},"fte_average":{"type":"number","minimum":0},"days_per_fte":{"type":"number","minimum":0},"obligation_days":{"type":"number","minimum":0},"obligation_met":{"type":"boolean"},"total_participants":{"type":"integer","minimum":0}}},"by_category":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["category_name","hours","cost_gross","participant_count"],"properties":{"category_name":{"type":"string","minLength":1},"hours":{"type":"number","minimum":0},"cost_gross":{"type":"number","minimum":0},"cost_net":{"type":"number","minimum":0},"participant_count":{"type":"integer","minimum":0},"subsidy_received":{"type":"number","minimum":0},"note":{"type":"string"}}}},"by_department":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["dept_name","hours","budget_used"],"properties":{"dept_name":{"type":"string","minLength":1},"hours":{"type":"number","minimum":0},"budget_used":{"type":"number","minimum":0},"participants":{"type":"integer","minimum":0}}}},"by_worker":{"type":"array","description":"One row per worker: the individual right to training (law of 3-10-2022, art. 52 and art. 55, § 2, 4° and 5°), in training days, as the employer records it.","items":{"type":"object","additionalProperties":false,"required":["worker_name","training_credit_days","days_followed"],"properties":{"worker_name":{"type":"string","minLength":1},"work_regime":{"type":"string"},"months_employed":{"type":"integer","minimum":1,"maximum":12},"training_credit_days":{"type":"number","minimum":0},"carried_over_days":{"type":"number","minimum":0},"days_followed":{"type":"number","minimum":0},"days_remaining":{"type":"number","minimum":0}}}},"compliance_note":{"type":"string"},"notes":{"type":"string"}}}