{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"required":["letter","employer","document","working_time","payment","notice_periods","hierarchy","sanctions","appeal_procedure","occupational_health","first_aid","labour_inspectorate","applicable_ccts","harassment_policy","ict_policy","alcohol_drugs_policy","signatures"],"properties":{"letter":{"type":"object","additionalProperties":false,"required":["place","date","language"],"properties":{"place":{"type":"string"},"date":{"type":"string","format":"date"},"language":{"type":"string","enum":["fr","nl","de","en"]},"employer_reference":{"type":"string"}}},"employer":{"type":"object","additionalProperties":false,"required":["name","legal_form","bce","vat","onss","address","joint_committee"],"properties":{"name":{"type":"string"},"legal_form":{"type":"string"},"bce":{"type":"string"},"vat":{"type":"string"},"onss":{"type":"string"},"address":{"type":"string"},"joint_committee":{"type":"string"},"social_secretariat":{"type":"string"},"headcount":{"type":"integer","minimum":1},"has_works_council":{"type":"boolean"},"has_cppt":{"type":"boolean"}}},"document":{"type":"object","additionalProperties":false,"required":["version","effective_date"],"properties":{"version":{"type":"string"},"effective_date":{"type":"string","format":"date"},"deposit_date":{"type":"string","format":"date"},"previous_version_date":{"type":"string","format":"date"}}},"working_time":{"type":"object","additionalProperties":false,"required":["weekly_hours","opening_hours","closing_hours","weekly_rest_day"],"properties":{"weekly_hours":{"type":"number","minimum":1,"maximum":48},"opening_hours":{"type":"string"},"closing_hours":{"type":"string"},"weekly_rest_day":{"type":"string"},"schedules":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["name","description"],"properties":{"name":{"type":"string"},"description":{"type":"string"},"monday":{"type":"string"},"tuesday":{"type":"string"},"wednesday":{"type":"string"},"thursday":{"type":"string"},"friday":{"type":"string"},"saturday":{"type":"string"},"sunday":{"type":"string"}}}},"time_recording_method":{"type":"string"},"overtime_procedure":{"type":"string"}}},"payment":{"type":"object","additionalProperties":false,"required":["method","frequency","payment_day_rule"],"properties":{"method":{"type":"string","enum":["bank_transfer","cheque","cash"]},"frequency":{"type":"string","enum":["monthly","bimonthly","weekly"]},"payment_day_rule":{"type":"string"},"payslip_delivery":{"type":"string"}}},"notice_periods":{"type":"object","additionalProperties":false,"required":["reference"],"properties":{"reference":{"type":"string"},"details":{"type":"string"}}},"hierarchy":{"type":"object","additionalProperties":false,"required":["supervisors"],"properties":{"supervisors":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["role"],"properties":{"role":{"type":"string"},"name":{"type":"string"},"scope":{"type":"string"}}}},"general_duties":{"type":"string"}}},"sanctions":{"type":"object","additionalProperties":false,"required":["list"],"properties":{"list":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["level","description"],"properties":{"level":{"type":"integer","minimum":1},"label":{"type":"string"},"description":{"type":"string"},"max_duration_days":{"type":"integer"}}}},"procedure":{"type":"string"},"notification_method":{"type":"string"}}},"appeal_procedure":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"},"deadline_days":{"type":"integer"},"appeal_body":{"type":"string"}}},"occupational_health":{"type":"object","additionalProperties":false,"required":["physician_contact"],"properties":{"physician_contact":{"type":"string"},"sepp_service":{"type":"string"},"sepp_phone":{"type":"string"}}},"first_aid":{"type":"object","additionalProperties":false,"required":["location"],"properties":{"location":{"type":"string"},"responsible_persons":{"type":"array","items":{"type":"string"}}}},"labour_inspectorate":{"type":"object","additionalProperties":false,"required":["address","phone"],"properties":{"address":{"type":"string"},"phone":{"type":"string"},"region":{"type":"string"}}},"applicable_ccts":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["reference","subject"],"properties":{"reference":{"type":"string"},"subject":{"type":"string"},"register_number":{"type":"string"}}}},"harassment_policy":{"type":"object","additionalProperties":false,"required":["prevention_advisor_contact","confidential_counsellor_contact"],"properties":{"prevention_advisor_contact":{"type":"string"},"confidential_counsellor_contact":{"type":"string"},"informal_procedure":{"type":"string"},"formal_procedure":{"type":"string"},"external_contacts":{"type":"string"}}},"ict_policy":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"},"monitoring_scope":{"type":"string"},"cct_81_reference":{"type":"string"}}},"alcohol_drugs_policy":{"type":"object","additionalProperties":false,"required":["description"],"properties":{"description":{"type":"string"},"cct_or_act_reference":{"type":"string"}}},"signatures":{"type":"object","additionalProperties":false,"required":["employer_representative","date"],"properties":{"employer_representative":{"type":"string"},"employer_title":{"type":"string"},"works_council_delegate":{"type":["string","null"]},"date":{"type":"string","format":"date"}}},"_appendices":{"description":"Optional payload-supplied appendices. Each item is appended after the template's default appendices (from appendices/<lang>.json) and rendered through the shared appendix macro. Same contract as the loader: title + body, optional signature.","type":"array","items":{"type":"object","additionalProperties":false,"required":["title","body"],"properties":{"title":{"type":"string","minLength":1},"body":{"type":"string","minLength":1},"signature":{"type":"string"}}}}}}