{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Apology Letter","description":"Formal written apology acknowledging a specific incident, describing its impact on the recipient, accepting responsibility, offering a concrete remedy, and providing assurance that preventive action has been taken.","type":"object","required":["sender","recipient","letter_date","incident","impact","responsibility_statement","remedy","assurance","signatory"],"additionalProperties":false,"properties":{"sender":{"type":"object","required":["name","address"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1}}},"recipient":{"type":"object","required":["name","address"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1}}},"reference":{"type":"string"},"letter_date":{"type":"string","format":"date"},"incident":{"type":"object","required":["date","description"],"additionalProperties":false,"properties":{"date":{"type":"string","format":"date"},"description":{"type":"string","minLength":1}}},"impact":{"type":"string","minLength":1},"responsibility_statement":{"type":"string","minLength":1},"remedy":{"type":"string","minLength":1},"preventive_measures":{"type":"string"},"assurance":{"type":"string","minLength":1},"signatory":{"type":"object","required":["name","role"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"role":{"type":"string","minLength":1}}}}}