{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Contract Renewal Notice","description":"Contract-renewal notification sent by a vendor to an existing customer under a fixed-term commercial contract. Captures the current contract reference, term and annual value; the renewal offer's new term and annual value; the price-change percentage; a prose summary of value delivered in the outgoing period; the response deadline for the customer; next steps; and the vendor signatory. Non-regulated commercial document — no statutory source.","type":"object","additionalProperties":false,"required":["vendor","customer","current_contract","renewal_offer","price_change_pct","value_delivered_in_period","customer_responses_required_by","next_steps","signatory"],"properties":{"vendor":{"type":"object","additionalProperties":false,"required":["name","address","contact_email"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"customer":{"type":"object","additionalProperties":false,"required":["name","account_id"],"properties":{"name":{"type":"string"},"account_id":{"type":"string"}}},"current_contract":{"type":"object","additionalProperties":false,"required":["reference","start_date","end_date","annual_value","currency"],"properties":{"reference":{"type":"string"},"start_date":{"type":"string","format":"date"},"end_date":{"type":"string","format":"date"},"annual_value":{"type":"number","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3}}},"renewal_offer":{"type":"object","additionalProperties":false,"required":["new_term_start","new_term_end","new_annual_value","currency","notes"],"properties":{"new_term_start":{"type":"string","format":"date"},"new_term_end":{"type":"string","format":"date"},"new_annual_value":{"type":"number","minimum":0},"currency":{"type":"string","minLength":3,"maxLength":3},"notes":{"type":"string"}}},"price_change_pct":{"type":"number"},"value_delivered_in_period":{"type":"string","minLength":1},"customer_responses_required_by":{"type":"string","format":"date"},"next_steps":{"type":"array","minItems":1,"items":{"type":"string"}},"signatory":{"type":"object","additionalProperties":false,"required":["name","title","date"],"properties":{"name":{"type":"string"},"title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}