{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"required":["letter","employer","employee","employment","termination","reference_salary","salary_days","vacation","signature"],"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"]},"reference":{"type":"string"}}},"employer":{"type":"object","additionalProperties":false,"required":["name","address","bce_number","vat_number","onss_number","joint_committee"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"bce_number":{"type":"string","description":"Numéro d'entreprise BCE / KBO (format 0xxx.xxx.xxx)."},"vat_number":{"type":"string","description":"Numéro TVA / BTW (format BE0xxxxxxxxx)."},"onss_number":{"type":"string","description":"Numéro d'immatriculation ONSS / RSZ."},"joint_committee":{"type":"string","description":"Numéro et nom de la Commission paritaire / Paritair Comité."},"social_secretariat":{"type":"object","additionalProperties":false,"required":["name","approval_number"],"properties":{"name":{"type":"string"},"approval_number":{"type":"string","description":"Numéro d'agrément du secrétariat social (ex. Acerta 320, SD Worx 200)."}}},"represented_by":{"type":"object","additionalProperties":false,"required":["name","title"],"properties":{"name":{"type":"string"},"title":{"type":"string"}}}}},"employee":{"type":"object","additionalProperties":false,"required":["given_name","surname","address","national_register_number","date_of_birth"],"properties":{"given_name":{"type":"string"},"surname":{"type":"string"},"address":{"type":"string"},"national_register_number":{"type":"string","description":"NISS / Rijksregisternummer (format YY.MM.DD-NNN.CC)."},"date_of_birth":{"type":"string","format":"date"},"statut":{"type":"string","enum":["arbeider","bediende","dienstbode","leerling","kaderlid"]}}},"employment":{"type":"object","additionalProperties":false,"required":["first_day_worked","last_day_worked","function_title","contract_type"],"properties":{"first_day_worked":{"type":"string","format":"date","description":"Premier jour presté (date d'entrée en service effective)."},"last_day_worked":{"type":"string","format":"date","description":"Dernier jour presté (dernier jour de travail effectif ou assimilé)."},"function_title":{"type":"string"},"contract_type":{"type":"string","enum":["cdi","cdd","student","interim","other"],"description":"Type de contrat de travail."}}},"termination":{"type":"object","additionalProperties":false,"required":["reason_code","initiated_by"],"properties":{"reason_code":{"type":"string","enum":["dismissal_employer","resignation_worker","end_of_fixed_term","urgent_cause_employer","urgent_cause_worker","mutual_agreement","retirement","force_majeure","other"],"description":"Code de motif ONEM pour la fin de contrat (art. 137 AR 25.11.1991)."},"initiated_by":{"type":"string","enum":["employer","worker","both","external"],"description":"Partie à l'initiative de la rupture."},"notice_period_weeks":{"type":"number","minimum":0,"description":"Durée du préavis presté (en semaines)."},"notice_compensation_paid":{"type":"boolean","description":"Une indemnité compensatoire de préavis a-t-elle été versée ?"},"notice_compensation_weeks":{"type":"number","minimum":0,"description":"Nombre de semaines couvertes par l'indemnité compensatoire (art. 39 Loi 3.7.1978)."},"urgent_cause_detail":{"type":"string","description":"Description du motif grave, uniquement si reason_code = urgent_cause_employer ou urgent_cause_worker."}}},"reference_salary":{"type":"object","additionalProperties":false,"required":["gross_monthly_reference","currency"],"properties":{"gross_monthly_reference":{"type":"number","description":"Rémunération mensuelle brute de référence (tous éléments récurrents inclus — art. 23 AR 25.11.1991)."},"currency":{"type":"string","enum":["EUR"]},"variable_compensation_annual":{"type":"number","description":"Rémunération variable annuelle brute (primes, commissions — incluse dans la base de référence)."},"benefits_in_kind_monthly":{"type":"number","description":"Avantages en nature mensuels valorisés (ATN voiture, logement, etc.)."}}},"salary_days":{"type":"object","additionalProperties":false,"required":["worked_days","assimilated_days","reference_period_quarters"],"properties":{"worked_days":{"type":"integer","minimum":0,"description":"Nombre de jours de travail effectif dans la période de référence (art. 36 AR 25.11.1991)."},"assimilated_days":{"type":"integer","minimum":0,"description":"Nombre de jours assimilés (maladie, maternité, jours fériés, etc.) dans la période de référence."},"reference_period_quarters":{"type":"integer","minimum":1,"maximum":8,"description":"Nombre de trimestres de la période de référence (normalement 4 trimestres — T-4)."},"waiting_day_applies":{"type":"boolean","description":"Un jour de carence (wachtdag) s'applique-t-il au travailleur ?"}}},"vacation":{"type":"object","additionalProperties":false,"required":["days_entitlement","departure_holiday_pay_paid"],"properties":{"days_entitlement":{"type":"number","description":"Nombre de jours de vacances légaux acquis dans l'exercice de vacances en cours."},"days_taken":{"type":"number","description":"Nombre de jours de vacances déjà pris."},"departure_holiday_pay_paid":{"type":"boolean","description":"Le pécule de vacances de départ (simple + double) a-t-il été versé à l'employé ?"},"departure_holiday_pay_amount":{"type":"number","description":"Montant brut du pécule de vacances de sortie versé (Loi 28.6.1971)."}}},"signature":{"type":"object","additionalProperties":false,"required":["signatory_name","signatory_title","date"],"properties":{"signatory_name":{"type":"string"},"signatory_title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}