{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"required":["letter","employer","employee","training","retention","void_conditions","applicable_law","signature"],"properties":{"letter":{"type":"object","additionalProperties":false,"required":["drafting_date","drafting_place","effective_date"],"properties":{"reference":{"type":"string","description":"Internal employer reference for this clause."},"drafting_date":{"type":"string","format":"date","description":"Date on which the clause is signed."},"drafting_place":{"type":"string","description":"City where the clause is signed."},"effective_date":{"type":"string","format":"date","description":"Date from which the clause takes effect."}}},"employer":{"type":"object","additionalProperties":false,"required":["name","legal_form","registered_office","bce_number","vat_number","onss_number","represented_by"],"properties":{"name":{"type":"string"},"legal_form":{"type":"string","description":"Forme juridique (SRL/BV, SA/NV, SCS/Comm.V, ASBL/VZW, ...)."},"registered_office":{"type":"string","description":"Registered office address of the employer."},"seat_region":{"type":"string","enum":["nl_region","fr_region","brussels","de_region"],"description":"Linguistic region of the operating seat of the employer (Flemish decree of 19 July 1973, decree of the French Community of 30 June 1982, coordinated laws of 18 July 1966, art. 52). Optional; when given it is compared with the language of the document and a warning is shown on a mismatch."},"bce_number":{"type":"string","pattern":"^0[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$","description":"Numéro d'entreprise BCE/KBO (format 0xxx.xxx.xxx)."},"vat_number":{"type":"string","pattern":"^BE0[0-9]{9}$","description":"Numéro TVA/BTW (format BE0xxxxxxxxx)."},"onss_number":{"type":"string","description":"Numéro d'immatriculation ONSS/RSZ (format 1.xxx.xxx-xx)."},"represented_by":{"type":"object","additionalProperties":false,"required":["name","title"],"properties":{"name":{"type":"string"},"title":{"type":"string"}}}}},"employee":{"type":"object","additionalProperties":false,"required":["surname","given_name","national_register_number","function_title","net_monthly_salary","onss_ceiling_exceeded"],"properties":{"surname":{"type":"string"},"given_name":{"type":"string"},"national_register_number":{"type":"string","pattern":"^[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}-[0-9]{3}\\.[0-9]{2}$","description":"Numéro de registre national/NISS (format YY.MM.DD-NNN.CC)."},"function_title":{"type":"string","description":"Job title / fonction du travailleur au moment de la formation."},"net_monthly_salary":{"type":"number","exclusiveMinimum":0,"description":"Net monthly salary of the worker at the time of the training, as stated by the employer."},"onss_ceiling_exceeded":{"type":"boolean","description":"Employer confirms that the worker's annual remuneration exceeds the threshold below which a training clause is deemed not to exist."},"social_secretariat":{"type":"string","description":"Name of the social secretariat managing payroll, if any."}}},"training":{"type":"object","additionalProperties":false,"required":["title","provider","start_date","end_date","total_cost_eur","cost_breakdown"],"properties":{"title":{"type":"string","description":"Official title of the training programme."},"provider":{"type":"string","description":"Name of the training organisation / provider."},"start_date":{"type":"string","format":"date","description":"Date of commencement of training."},"end_date":{"type":"string","format":"date","description":"Date of completion of training."},"total_cost_eur":{"type":"number","exclusiveMinimum":0,"description":"Cost of the training in EUR, as stated in the clause."},"cost_breakdown":{"type":"object","additionalProperties":false,"required":["registration_fee_eur"],"properties":{"registration_fee_eur":{"type":"number","minimum":0,"description":"Registration / tuition fees (EUR)."},"materials_eur":{"type":"number","minimum":0,"description":"Course materials and books (EUR)."},"travel_eur":{"type":"number","minimum":0,"description":"Travel costs (EUR)."},"accommodation_eur":{"type":"number","minimum":0,"description":"Accommodation costs (EUR)."}}},"duration_days":{"type":"integer","minimum":1,"description":"Duration of training in working days."},"duration_hours":{"type":"integer","minimum":1,"description":"Duration of training in hours."},"is_deal_emploi_training":{"type":"boolean","description":"Whether the employer counts this training within the worker's individual right to training."},"individual_training_plan_reference":{"type":"string","description":"Reference to the individual training plan (plan de formation individuel / individueel opleidingsplan) in which this training appears, if any."},"certification":{"type":"string","description":"Name of the certification or diploma obtained upon completion, if any."}}},"retention":{"type":"object","additionalProperties":false,"required":["period_months","degressive_schedule"],"properties":{"period_months":{"type":"integer","minimum":1,"maximum":36,"description":"Period of validity of the clause, in months."},"degressive_schedule":{"type":"array","minItems":1,"description":"Reimbursement schedule, decreasing over the period of validity. Each entry gives the reimbursement percentage applicable in that part of the period.","items":{"type":"object","additionalProperties":false,"required":["year_label","percentage","max_amount_eur"],"properties":{"year_label":{"type":"string","description":"Label of this part of the period, as printed."},"percentage":{"type":"integer","minimum":0,"maximum":80,"description":"Reimbursement percentage of the training cost for this part of the period."},"max_amount_eur":{"type":"number","minimum":0,"description":"Maximum reimbursement amount in EUR for this part of the period."}}}},"start_reference":{"type":"string","enum":["end_of_training","start_of_training"],"description":"Start of the period of validity chosen by the parties: end_of_training or start_of_training."}}},"void_conditions":{"type":"object","additionalProperties":false,"required":["dismissal_without_serious_cause","constructive_dismissal","resignation_during_training"],"properties":{"dismissal_without_serious_cause":{"type":"boolean","description":"Whether the clause states that it has no effect when the employer ends the contract without serious cause."},"constructive_dismissal":{"type":"boolean","description":"Whether the parties also agree that the clause has no effect in case of an act equivalent to a dismissal by the employer (acte équipollent à rupture / aan opzegging gelijkwaardig handelen)."},"resignation_during_training":{"type":"boolean","description":"Whether the parties also agree that the clause has no effect if the worker resigns during the training."},"employer_non_renewal_cdd":{"type":"boolean","description":"Whether the parties also agree that the clause has no effect if the employer does not renew a fixed-term contract."},"additional_void_events":{"type":"array","items":{"type":"string"},"description":"Any additional contractually agreed situations in which the clause is inapplicable."}}},"applicable_law":{"type":"object","additionalProperties":false,"required":["governing_law","competent_court"],"properties":{"governing_law":{"type":"string","description":"Governing law."},"competent_court":{"type":"string","description":"Competent labour court (Tribunal du travail / Arbeidsrechtbank) with seat."}}},"signature":{"type":"object","additionalProperties":false,"required":["copies","mention_lu_et_approuve"],"properties":{"copies":{"type":"integer","minimum":2,"description":"Number of original signed copies."},"mention_lu_et_approuve":{"type":"boolean","description":"Whether each party must add the handwritten mention 'lu et approuvé / gelezen en goedgekeurd / gelesen und genehmigt' before their signature."}}}}}