{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Customer Satisfaction (CSAT) Report","description":"Periodic Customer Satisfaction (CSAT) report, typically produced by a vendor's Customer Success team. Captures respondent counts and response rate, the average score on the chosen scale (0-5 or 0-10), the score distribution, positive and negative themes, anonymised verbatim samples, an action plan and the report's author. Follows ISO/IEC 20000-1:2018 and CXPA voice-of-customer reporting practice; no statutory source.","type":"object","additionalProperties":false,"required":["vendor","period","respondents_total","response_rate_pct","average_score","score_scale","distribution","top_themes_positive","top_themes_negative","verbatim_samples","action_plan","report_author"],"properties":{"vendor":{"type":"object","additionalProperties":false,"required":["name","address","contact_email"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"period":{"type":"object","additionalProperties":false,"required":["start","end","label"],"properties":{"start":{"type":"string","format":"date"},"end":{"type":"string","format":"date"},"label":{"type":"string","description":"Human-readable period label, e.g. 'Q1 2026'."}}},"respondents_total":{"type":"integer","minimum":0},"response_rate_pct":{"type":"number","minimum":0,"maximum":100},"average_score":{"type":"number","minimum":0,"maximum":10},"score_scale":{"enum":[5,10]},"distribution":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["bucket","count","pct"],"properties":{"bucket":{"type":"string","description":"Label of the bucket, e.g. '5 (excellent)' or '1-2'."},"count":{"type":"integer","minimum":0},"pct":{"type":"number","minimum":0,"maximum":100}}}},"top_themes_positive":{"type":"array","minItems":1,"items":{"type":"string"}},"top_themes_negative":{"type":"array","minItems":1,"items":{"type":"string"}},"verbatim_samples":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["rating","quote","anonymised_role"],"properties":{"rating":{"type":"number","minimum":0,"maximum":10},"quote":{"type":"string"},"anonymised_role":{"type":"string"}}}},"action_plan":{"type":"array","minItems":1,"items":{"type":"string"}},"report_author":{"type":"object","additionalProperties":false,"required":["name","title","date"],"properties":{"name":{"type":"string"},"title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}