{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","description":"Country-agnostic full commercial proposal document: executive-level offer presented to a prospect/customer prior to order placement.","required":["supplier","customer","proposal_reference","issue_date","validity_period_days","executive_summary","needs_analysis","proposed_solution","scope_of_work","deliverables","pricing","totals","commercial_terms"],"additionalProperties":false,"properties":{"supplier":{"type":"object","required":["name","address","contact_email"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"vat_id":{"type":"string"},"contact_email":{"type":"string","format":"email"}}},"customer":{"type":"object","required":["name","address"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"address":{"type":"string","minLength":1},"vat_id":{"type":"string"},"contact_person":{"type":"string"},"contact_role":{"type":"string"}}},"proposal_reference":{"type":"string","minLength":1},"issue_date":{"type":"string","format":"date"},"validity_period_days":{"type":"integer","minimum":1},"executive_summary":{"type":"string","minLength":1},"needs_analysis":{"type":"string","minLength":1},"proposed_solution":{"type":"string","minLength":1},"scope_of_work":{"type":"string","minLength":1},"deliverables":{"type":"array","minItems":1,"items":{"type":"string","minLength":1}},"pricing":{"type":"array","minItems":1,"items":{"type":"object","required":["item","quantity","unit_price","amount"],"additionalProperties":false,"properties":{"item":{"type":"string","minLength":1},"quantity":{"type":"number","exclusiveMinimum":0},"unit_price":{"type":"number","minimum":0},"amount":{"type":"number","minimum":0}}}},"totals":{"type":"object","required":["subtotal","vat_total","total","currency"],"additionalProperties":false,"properties":{"subtotal":{"type":"number","minimum":0},"vat_total":{"type":"number","minimum":0},"total":{"type":"number","minimum":0},"currency":{"type":"string"}}},"commercial_terms":{"type":"string","minLength":1,"description":"Free-form prose covering payment terms, cancellation, IP, warranties, etc."},"signatory":{"type":"object","required":["name","role"],"additionalProperties":false,"properties":{"name":{"type":"string"},"role":{"type":"string"},"date":{"type":"string","format":"date"}}}}}