{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","description":"Reseller / channel partner agreement — vendor appoints a reseller to resell products or services in a defined territory. Distinct from agency (no authority to bind the vendor) and franchise (no full business format licence). Vertical-restraints analysis applies in the EU under Reg. (EU) 2022/720 (VBER).","required":["vendor","reseller","territory","exclusivity","products_in_scope","discount_structure","marketing_obligations","lead_handling_rules","brand_use_terms","term","termination_provisions","governing_law","signatories"],"additionalProperties":false,"properties":{"reference":{"type":"string"},"effective_date":{"type":"string","format":"date"},"vendor":{"$ref":"#/$defs/party"},"reseller":{"$ref":"#/$defs/party"},"territory":{"type":"array","minItems":1,"items":{"type":"string","minLength":1,"description":"Country or region ISO/ISO-subdivision code, or descriptive territory (e.g. 'BE-Wallonia')."}},"exclusivity":{"type":"string","enum":["exclusive","non_exclusive","sole"],"description":"'sole' = vendor may also sell directly in the territory but not appoint other resellers."},"products_in_scope":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"discount_structure":{"type":"object","required":["discount_pct"],"additionalProperties":false,"properties":{"discount_pct":{"type":"number","minimum":0,"maximum":100,"description":"Baseline reseller discount off list price."},"volume_tiers_optional":{"type":"array","items":{"type":"object","required":["min_revenue","discount_pct"],"additionalProperties":false,"properties":{"min_revenue":{"type":"number","exclusiveMinimum":0},"discount_pct":{"type":"number","minimum":0,"maximum":100}}}},"currency":{"type":"string"}}},"marketing_obligations":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"minimum_commitments_optional":{"type":"array","items":{"type":"object","required":["period","target"],"additionalProperties":false,"properties":{"period":{"type":"string"},"target":{"type":"string","description":"E.g. 'EUR 200,000 net revenue', '40 licence seats', '5 new customers'."}}}},"lead_handling_rules":{"type":"string","minLength":1},"brand_use_terms":{"type":"string","minLength":1},"term":{"type":"object","required":["initial_months","notice_days"],"additionalProperties":false,"properties":{"initial_months":{"type":"integer","minimum":1},"renewal_months_optional":{"type":"integer","minimum":1},"notice_days":{"type":"integer","minimum":0}}},"termination_provisions":{"type":"string","minLength":1},"governing_law":{"type":"string","minLength":1},"signatories":{"type":"array","minItems":2,"items":{"$ref":"#/$defs/signatory"}}},"$defs":{"party":{"type":"object","required":["legal_name","address","registration_number"],"additionalProperties":false,"properties":{"legal_name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"registration_number":{"type":"string","minLength":1},"vat_id":{"type":"string"},"representative_name":{"type":"string"},"representative_role":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"signatory":{"type":"object","required":["party","name","role"],"additionalProperties":false,"properties":{"party":{"type":"string","enum":["vendor","reseller"]},"name":{"type":"string","minLength":1},"role":{"type":"string","minLength":1},"date":{"type":"string","format":"date"},"place":{"type":"string"}}}}}