{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"be.reports.social_balance","type":"object","additionalProperties":false,"required":["letter","entity","fiscal_year","workforce_data","training_data"],"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"},"city":{"type":"string"},"form_type":{"type":"string","enum":["full","simplified"],"description":"full: >= 100 FTE; simplified: < 100 FTE per AR 4.8.1996"}}},"fiscal_year":{"type":"object","additionalProperties":false,"required":["year","start","end"],"properties":{"year":{"type":"string","pattern":"^[0-9]{4}$"},"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"}}},"workforce_data":{"type":"object","additionalProperties":false,"required":["headcount_start","headcount_end","fte_average","entries_count","exits_count"],"properties":{"headcount_start":{"type":"integer","minimum":0},"headcount_end":{"type":"integer","minimum":0},"fte_average":{"type":"number","minimum":0},"entries_count":{"type":"integer","minimum":0},"exits_count":{"type":"integer","minimum":0},"by_gender":{"type":"object","additionalProperties":false,"properties":{"male_count":{"type":"integer","minimum":0},"female_count":{"type":"integer","minimum":0}}},"by_contract_type":{"type":"object","additionalProperties":false,"properties":{"permanent_count":{"type":"integer","minimum":0},"fixed_term_count":{"type":"integer","minimum":0},"interim_count":{"type":"integer","minimum":0}}},"by_work_regime":{"type":"object","additionalProperties":false,"properties":{"full_time_count":{"type":"integer","minimum":0},"part_time_count":{"type":"integer","minimum":0}}},"exits_by_reason":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["reason","exit_count"],"properties":{"reason":{"type":"string","minLength":1},"exit_count":{"type":"integer","minimum":0}}}}}},"training_data":{"type":"object","additionalProperties":false,"required":["total_hours","total_cost_gross"],"properties":{"total_hours":{"type":"number","minimum":0},"total_cost_gross":{"type":"number","minimum":0},"total_cost_net":{"type":"number","minimum":0},"participants_male":{"type":"integer","minimum":0},"participants_female":{"type":"integer","minimum":0},"training_categories":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["category_name","hours","cost_gross"],"properties":{"category_name":{"type":"string","minLength":1},"hours":{"type":"number","minimum":0},"cost_gross":{"type":"number","minimum":0},"participants":{"type":"integer","minimum":0}}}},"days_per_fte":{"type":"number","minimum":0},"obligation_met":{"type":"boolean"}}},"working_time":{"type":"object","additionalProperties":false,"properties":{"total_hours_worked":{"type":"number","minimum":0},"overtime_hours":{"type":"number","minimum":0},"sick_leave_days":{"type":"number","minimum":0}}},"nbb_filing":{"type":"object","additionalProperties":false,"properties":{"filing_date":{"type":"string","format":"date"},"filing_reference":{"type":"string"}}},"notes":{"type":"string"}}}