{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/api-evangelist/sherwin-williams/blob/main/json-schema/sherwin-williams-supplier-schema.json", "title": "Sherwin-Williams Supplier", "description": "A Sherwin-Williams supplier or trading partner in the B2B ecosystem", "type": "object", "properties": { "supplierId": { "type": "string", "description": "Unique supplier identifier" }, "supplierName": { "type": "string", "description": "Legal name of the supplier company" }, "duns": { "type": "string", "description": "Dun & Bradstreet DUNS number" }, "taxId": { "type": "string", "description": "Tax identification number" }, "status": { "type": "string", "enum": ["Active", "Pending", "Inactive", "Suspended"], "description": "Supplier account status" }, "category": { "type": "string", "description": "Supplier category (raw materials, packaging, services, etc.)" }, "contact": { "type": "object", "description": "Primary contact for the supplier", "properties": { "name": { "type": "string" }, "email": { "type": "string", "format": "email" }, "phone": { "type": "string" }, "title": { "type": "string" } } }, "address": { "type": "object", "description": "Supplier primary address", "properties": { "street1": { "type": "string" }, "street2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "postalCode": { "type": "string" }, "country": { "type": "string" } } }, "ediCapabilities": { "type": "array", "description": "Supported EDI transaction types", "items": { "type": "string", "enum": ["850", "855", "856", "810", "820", "832"] } }, "apiIntegrations": { "type": "array", "description": "Supported API integration types", "items": { "type": "string" } }, "paymentTerms": { "type": "string", "description": "Payment terms (Net 30, Net 60, etc.)" }, "currency": { "type": "string", "description": "Default currency for transactions" }, "certifications": { "type": "array", "description": "Supplier certifications and qualifications", "items": { "type": "string" } }, "createdAt": { "type": "string", "format": "date-time" }, "updatedAt": { "type": "string", "format": "date-time" } }, "required": ["supplierId", "supplierName", "status"] }