{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","description":"SaaS subscription agreement — multi-tenant cloud software subscription. Covers service description, plan, fees and billing, term, SLA, data protection (incl. EU DPA reference under Art. 28 GDPR where processing takes place), security overview, IP and customer-data export rights, termination. Separate from an on-premise software licence.","required":["provider","customer","service_description","subscription_plan","fees","term","sla_summary","data_protection","security_overview","ip_ownership","customer_data_export_rights","termination_provisions","governing_law","signatories"],"additionalProperties":false,"properties":{"reference":{"type":"string"},"effective_date":{"type":"string","format":"date"},"provider":{"$ref":"#/$defs/party"},"customer":{"$ref":"#/$defs/party"},"service_description":{"type":"string","minLength":1},"subscription_plan":{"type":"object","required":["name","included_usage"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"included_usage":{"type":"string","minLength":1,"description":"What is included at the flat fee (users, requests, storage, environments)."},"overage_rates_optional":{"type":"string","description":"Rates charged beyond the included usage."}}},"fees":{"type":"object","required":["amount","currency","billing_frequency","auto_renewal_boolean"],"additionalProperties":false,"properties":{"amount":{"type":"number","exclusiveMinimum":0},"currency":{"type":"string"},"billing_frequency":{"type":"string","enum":["monthly","quarterly","annual","multi_year"]},"auto_renewal_boolean":{"type":"boolean"},"price_increase_notice_days":{"type":"integer","minimum":0,"description":"Advance notice for price changes at renewal."}}},"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}}},"sla_summary":{"type":"object","required":["availability_target_pct","support_response_targets"],"additionalProperties":false,"properties":{"availability_target_pct":{"type":"number","exclusiveMinimum":0,"maximum":100},"support_response_targets":{"type":"array","minItems":1,"items":{"type":"object","required":["severity","response_time","resolution_target"],"additionalProperties":false,"properties":{"severity":{"type":"string","enum":["P1_critical","P2_high","P3_medium","P4_low"]},"response_time":{"type":"string"},"resolution_target":{"type":"string"}}}},"service_credits_summary":{"type":"string"}}},"data_protection":{"type":"object","required":["dpa_reference","data_location","sub_processors_url"],"additionalProperties":false,"properties":{"dpa_reference":{"type":"string","minLength":1,"description":"Data Processing Agreement reference satisfying Art. 28(3) GDPR. Typically a linked schedule or a separately executed DPA."},"data_location":{"type":"string","minLength":1,"description":"Primary hosting region(s)."},"sub_processors_url":{"type":"string","minLength":1,"description":"Public URL listing current sub-processors (Art. 28(2) GDPR notice trigger)."},"international_transfer_mechanism":{"type":"string","description":"E.g. SCCs 2021/914, UK IDTA, adequacy decision."}}},"security_overview":{"type":"string","minLength":1},"ip_ownership":{"type":"string","minLength":1,"description":"Usually: provider retains all IP in the platform; customer retains IP in customer data."},"customer_data_export_rights":{"type":"string","minLength":1,"description":"Portability: format, window after termination, pricing for export assistance."},"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":["provider","customer"]},"name":{"type":"string","minLength":1},"role":{"type":"string","minLength":1},"date":{"type":"string","format":"date"},"place":{"type":"string"}}}}}