{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Catering or event agreement - Contrat de catering ou d'événement / Catering- of evenementovereenkomst (BE)","description":"Agreement between a caterer or event provider and a client (consumer or business): the event, the guests with the confirmation deadline, the menu and services, the allergen and dietary procedure, the price and the payment schedule, changes and cancellation as the provider words them, the client's obligations, the food-safety split and the signatures. For a consumer it carries the information of the place of conclusion: for a catering service of a fixed date concluded off the premises or at a distance the no-withdrawal sentence, otherwise the withdrawal block. Nothing is defaulted or computed.","type":"object","additionalProperties":false,"required":["agreement","provider","client","event","guests","menu","allergens","price","payment","cancellation","signatures"],"properties":{"agreement":{"type":"object","additionalProperties":false,"description":"The agreement.","required":["signed_on","profile"],"properties":{"signed_on":{"type":"string","format":"date","description":"Date the agreement is signed; it selects the Civil Code regime (Book 7 from 01-09-2027)."},"number":{"type":"string","description":"Number of the agreement (order-form mention, Royal Decree of 30-06-1996 art. 19, 2.)."},"profile":{"type":"string","enum":["b2c","b2b"],"description":"b2c: the client is a consumer; b2b: the client is an enterprise."},"conclusion_context":{"type":"string","enum":["premises","off_premises","distance"],"description":"Where the agreement is concluded with a consumer: premises (in the enterprise's premises), off_premises (in the simultaneous physical presence of the enterprise and the consumer away from its premises: the consumer's home, the venue; Code of economic law art. I.8, 31° a), distance."},"listed_category":{"type":"boolean","description":"Whether the service is catering (restauration) of a fixed date, one of the cases of Code of economic law art. VI.73, 12° / VI.53, 12°. Answer no if part of the contract (goods, for instance) is outside the exception."},"withdrawal":{"type":"object","additionalProperties":false,"required":["start"],"properties":{"start":{"type":"string","enum":["service_conclusion","sale_possession","multiple_goods_last","lots_last","regular_delivery_first"],"description":"Event from which the 14-day withdrawal period runs (Annex 1, instruction 1)."},"goods_return":{"type":"string","enum":["seller_collects","consumer_returns"],"description":"For a contract with goods: whether the seller collects the goods or the consumer returns them (Annex 1, instruction 5 a)."},"return_recipient":{"type":"string","description":"Name and geographical address of a person authorised by the seller to receive the returned goods, if any."},"return_costs":{"type":"string","enum":["seller","consumer_direct_costs","consumer_fixed_amount","consumer_estimated_maximum","seller_collects_own_expense"],"description":"Who bears the cost of returning the goods (Annex 1, instruction 5 b); seller_collects_own_expense: in an off-premises contract, goods that by their nature cannot normally be returned by post and were delivered to the consumer's home when the contract was concluded."},"return_cost_eur":{"type":"number","minimum":0,"description":"Amount of the return cost (fixed amount, or estimated maximum)."},"online_interface":{"type":"boolean","description":"For a distance contract: whether it is concluded by means of an online interface (web shop, app); then art. VI.61/2 requires a withdrawal function."},"online_withdrawal_function":{"type":"string","description":"Web address or other reference where the online withdrawal function (art. VI.61/2) is found, if the seller provides one."},"online_form_address":{"type":"string","description":"Web address where the model form or another unambiguous statement can be filled in and sent online, if the seller offers it."},"exceptions":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["service_fully_performed","financial_market_price","made_to_specification","perishable","sealed_hygiene","mixed_after_delivery","alcoholic_beverages","urgent_repairs","sealed_media","newspapers","public_auction","dated_leisure_services","digital_content_started","betting_lotteries","new_buildings"]},"description":"Cases without a withdrawal right, chosen by the seller as applicable to its offer: art. VI.53 for a distance contract, art. VI.73 for an off-premises contract (new_buildings is art. VI.73, 14° only; betting_lotteries is art. VI.53, 14° only)."}},"allOf":[{"if":{"properties":{"start":{"enum":["sale_possession","multiple_goods_last","lots_last","regular_delivery_first"]}},"required":["start"]},"then":{"required":["goods_return","return_costs"]}},{"if":{"properties":{"return_costs":{"enum":["consumer_fixed_amount","consumer_estimated_maximum"]}},"required":["return_costs"]},"then":{"required":["return_cost_eur"]}},{"if":{"properties":{"online_interface":{"const":true}},"required":["online_interface"]},"then":{"required":["online_withdrawal_function"]}}],"description":"The withdrawal block of a consumer booking when the no-withdrawal exception does not apply (strings of be.commercial.terms_b2c 1.1.0)."}},"allOf":[{"if":{"properties":{"profile":{"const":"b2c"}},"required":["profile"]},"then":{"required":["conclusion_context"]}},{"if":{"properties":{"conclusion_context":{"enum":["off_premises","distance"]}},"required":["conclusion_context"]},"then":{"required":["listed_category"]}},{"if":{"properties":{"listed_category":{"const":false}},"required":["listed_category"]},"then":{"required":["withdrawal"]}}]},"provider":{"type":"object","additionalProperties":false,"description":"The caterer or event provider.","required":["name","address","enterprise_number","iban"],"properties":{"name":{"type":"string","description":"Name of the caterer or event provider."},"address":{"type":"string","description":"Full address: street, number, postal code and municipality (Code of economic law art. III.25: the domiciliation)."},"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}$"},"vat_number":{"type":"string","description":"Belgian VAT number, written BE0123456789 (leave out if the enterprise has none).","pattern":"^BE[01][0-9]{9}$"},"iban":{"type":"string","description":"IBAN of a payment account the enterprise holds (Code of economic law art. III.25, al. 2)."},"phone":{"type":"string","description":"Telephone number."},"email":{"type":"string","description":"E-mail address."}}},"client":{"type":"object","additionalProperties":false,"description":"The client.","required":["name","address"],"properties":{"name":{"type":"string","description":"Name of the client."},"address":{"type":"string","description":"Address of the client."},"enterprise_number":{"type":"string","description":"Enterprise number of a business client, written 0123.456.789.","pattern":"^[01][0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$"},"email":{"type":"string","description":"E-mail address of the client."},"phone":{"type":"string","description":"Telephone number of the client."},"contact_person":{"type":"string","description":"Contact person of the client."}}},"event":{"type":"object","additionalProperties":false,"description":"The event.","required":["name","date","venue_address"],"properties":{"name":{"type":"string","description":"Name or kind of the event."},"date":{"type":"string","format":"date","description":"Date of the event."},"start_time":{"type":"string","description":"Start time."},"end_time":{"type":"string","description":"End time."},"venue_name":{"type":"string","description":"Name of the venue."},"venue_address":{"type":"string","description":"Address of the venue."},"setup_from":{"type":"string","description":"Time from which the provider may set up at the venue."},"teardown_until":{"type":"string","description":"Time until which the provider clears the venue."}}},"guests":{"type":"object","additionalProperties":false,"description":"The guests.","required":["guaranteed","confirmation_deadline"],"properties":{"guaranteed":{"type":"integer","minimum":0,"description":"Guaranteed number of guests."},"confirmation_deadline":{"type":"string","format":"date","description":"Deadline for the client to confirm the final number of guests."},"extra_guest_price":{"type":["string","number"],"description":"Price of an extra guest, as agreed (no default)."}}},"menu":{"type":"object","additionalProperties":false,"description":"Menu and service.","required":["items"],"properties":{"items":{"type":"array","minItems":1,"description":"Courses and dishes.","items":{"type":"object","additionalProperties":false,"description":"One item.","required":["label"],"properties":{"label":{"type":"string","description":"Name of the course or dish."},"description":{"type":"string","description":"Description."},"per_person_price":{"type":["string","number"],"description":"Price per person of the item, if priced separately."}}}},"services":{"type":"array","description":"Other services: staff, equipment, bar, rental.","items":{"type":"object","additionalProperties":false,"description":"One service.","required":["label"],"properties":{"label":{"type":"string","description":"Name of the service."},"description":{"type":"string","description":"Description of the service."}}}}}},"allergens":{"type":"object","additionalProperties":false,"description":"Allergens and dietary needs.","required":["procedure","declaration_available"],"properties":{"procedure":{"type":"string","description":"How the client's dietary needs, allergies and intolerances are collected and handled."},"needs_deadline":{"type":"string","format":"date","description":"Deadline for the client to give the dietary needs."},"declaration_available":{"type":"string","enum":["written","oral_art_4","not_available"],"description":"How the allergen declaration is available: written; oral_art_4 (communicated orally under the written internal procedure); not_available."}}},"price":{"type":"object","additionalProperties":false,"description":"The price.","required":["display"],"properties":{"display":{"type":"string","enum":["incl_vat","excl_vat"],"description":"How prices are shown: incl_vat or excl_vat. For a consumer the total including VAT is always given (Code of economic law art. VI.4)."},"per_person":{"type":["string","number"],"description":"Price per person, as agreed."},"lump_sum":{"type":["string","number"],"description":"Lump-sum price, as agreed."},"vat_rate":{"type":["string","number"],"description":"VAT rate, in percent, as the provider states it."},"total_excl_vat":{"type":["string","number"],"description":"Total excluding VAT."},"total_vat":{"type":["string","number"],"description":"Total VAT."},"total_incl_vat":{"type":["string","number"],"description":"Total price including VAT (Code of economic law art. VI.4); required for a consumer."}}},"payment":{"type":"object","additionalProperties":false,"description":"Payment.","required":["terms"],"properties":{"deposit_amount":{"type":["string","number"],"description":"Amount of the deposit."},"deposit_due":{"type":"string","format":"date","description":"Date the deposit is due."},"schedule":{"type":"array","description":"Payment schedule.","items":{"type":"object","additionalProperties":false,"description":"One payment.","required":["label"],"properties":{"label":{"type":"string","description":"What the payment is for."},"amount":{"type":["string","number"],"description":"Amount."},"due_on":{"type":"string","format":"date","description":"Due date."}}}},"terms":{"type":"string","description":"Payment terms."}}},"changes":{"type":"object","additionalProperties":false,"description":"Changes.","properties":{"text":{"type":"string","description":"How the client may change the order and how changes are priced."}}},"cancellation":{"type":"object","additionalProperties":false,"description":"Cancellation.","required":["by_client_text"],"properties":{"by_client_text":{"type":"string","description":"The provider's own terms for cancellation by the client: deadline, fee as typed."},"by_provider_text":{"type":"string","description":"Terms for cancellation by the provider."}}},"force_majeure_text":{"type":"string","description":"The parties' force majeure clause, if any."},"client_obligations":{"type":"array","description":"Obligations of the client at the venue (permits, electricity, water, waste).","items":{"type":"string","description":"One obligation."}},"food_safety":{"type":"object","additionalProperties":false,"description":"Food safety.","properties":{"storage_by":{"type":"string","enum":["provider","client","shared"],"description":"Who stores, reheats and serves the food: provider, client or shared."},"leftovers_text":{"type":"string","description":"What happens with leftovers."}}},"liability_text":{"type":"string","description":"Liability clause, if any."},"insurance_text":{"type":"string","description":"Insurance clause, if any."},"complaints_procedure":{"type":"string","description":"The provider's complaints procedure, if it has one."},"clauses":{"type":"array","description":"Other clauses.","items":{"type":"object","additionalProperties":false,"description":"One clause.","required":["title","content"],"properties":{"title":{"type":"string","description":"Title of the clause."},"content":{"type":"string","description":"Content of the clause."}}}},"signatures":{"type":"object","additionalProperties":false,"description":"Signatures.","required":["provider_name","client_name"],"properties":{"provider_name":{"type":"string","description":"Name of the signatory for the provider."},"provider_title":{"type":"string","description":"Function of the signatory."},"client_name":{"type":"string","description":"Name of the client's signatory."},"place":{"type":"string","description":"Place of signature."}}}}}