{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Job posting (Belgium)","description":"The job advertisement a Belgian employer publishes. It carries the items the recruitment CCT n° 38 lists for a job offer (nature of the function, requirements, place or the reason it is not fixed, intention to build a recruitment reserve, how to apply) as fields, the mentions of art. III.25 of the Code of economic law, and no requirement field on a protected criterion (age, sex, nationality...). A pay or a pay range is printed only when the employer gives one; an equal-opportunity sentence only when the employer types it. Nothing is computed or defaulted.","type":"object","additionalProperties":false,"required":["employer","posting","job","recruitment_reserve","application"],"properties":{"employer":{"type":"object","additionalProperties":false,"required":["name","enterprise_number","registered_office","payment_account"],"properties":{"name":{"type":"string","description":"Name or company name of the employer."},"legal_form":{"type":"string","enum":["sole_trader","srl","sa","sc","asbl","other"],"description":"Legal form of the employer."},"enterprise_number":{"type":"string","description":"Belgian enterprise number (KBO/BCE), written 0123.456.789.","pattern":"^[01][0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$"},"registered_office":{"type":"string","description":"Domiciliation of the enterprise: the registered office address (Code of economic law art. III.25, al. 2)."},"payment_account":{"type":"string","description":"IBAN of a payment account the enterprise holds (Code of economic law art. III.25, al. 2)."},"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). Informational: nothing compares it with the language of the document yet."},"about":{"type":"string","description":"What the enterprise does, in the employer's own words (printed as the activity of the employer)."}}},"posting":{"type":"object","additionalProperties":false,"required":["date"],"properties":{"date":{"type":"string","format":"date","description":"Date of publication of the posting."}}},"job":{"type":"object","additionalProperties":false,"required":["title","nature","requirements","contract_type"],"properties":{"title":{"type":"string","description":"Title of the function."},"nature":{"type":"string","description":"The nature of the function (CCT n° 38, art. 8)."},"requirements":{"type":"array","minItems":1,"items":{"type":"string","minLength":1},"description":"The requirements for the exercise of the function (CCT n° 38, art. 8): education, experience, skills. None may rest on a protected criterion."},"location":{"type":"string","description":"The place where the function is exercised (CCT n° 38, art. 8)."},"location_not_fixed_reason":{"type":"string","description":"When the place is not fixed: the reason why (CCT n° 38, art. 8)."},"start_date":{"type":"string","format":"date","description":"When the function starts (printed only when given)."},"contract_type":{"type":"string","enum":["cdi","cdd","replacement","student","flexi_job","seasonal"],"description":"Type of contract offered."},"regime":{"type":"string","enum":["full_time","part_time"],"description":"Full-time or part-time."},"weekly_hours":{"type":"number","exclusiveMinimum":0,"description":"Hours per week, as the employer states them."},"schedule_kind":{"type":"string","enum":["fixed","variable"],"description":"Fixed or variable schedule."}}},"recruitment_reserve":{"type":"boolean","description":"Whether the employer intends to build a recruitment reserve (CCT n° 38, art. 8)."},"what_we_offer":{"type":"array","items":{"type":"string","minLength":1},"description":"What the employer offers, as a free list."},"pay":{"type":"object","additionalProperties":false,"description":"The pay or the pay range the employer chooses to state. Printed only when given; nothing is a default.","properties":{"range_min":{"type":"number","minimum":0,"description":"The pay, or the bottom of the range, in euro."},"range_max":{"type":"number","minimum":0,"description":"The top of the range, in euro."},"salary_period":{"type":"string","enum":["hour","month","year"],"description":"The period the amounts cover."},"range_basis":{"type":"string","description":"On what basis the pay is stated (gross, full time, scale...)."}}},"application":{"type":"object","additionalProperties":false,"required":["method"],"allOf":[{"if":{"properties":{"method":{"const":"email"}},"required":["method"]},"then":{"required":["email"]}},{"if":{"properties":{"method":{"const":"url"}},"required":["method"]},"then":{"required":["url"]}},{"if":{"properties":{"method":{"const":"post"}},"required":["method"]},"then":{"required":["address"]}}],"properties":{"method":{"type":"string","enum":["email","url","post","other"],"description":"How to apply (CCT n° 38, art. 8)."},"email":{"type":"string","format":"email","description":"E-mail address to apply to."},"url":{"type":"string","format":"uri","description":"Web address to apply on."},"address":{"type":"string","description":"Postal address to apply to."},"closing_date":{"type":"string","format":"date","description":"Closing date for applications."},"contact_name":{"type":"string","description":"Name of the contact person."},"documents_requested":{"type":"array","items":{"type":"string","minLength":1},"description":"Documents the candidate is asked to send."},"privacy_notice_reference":{"type":"string","description":"Where the candidate privacy notice is found, as the employer writes it (printed as typed)."}}},"equal_opportunity_statement":{"type":"string","description":"The employer's own equal-opportunity wording, printed as typed. Nothing is printed when absent."}}}