116 lines
2.6 KiB
JSON
116 lines
2.6 KiB
JSON
{
|
|
"name": "Partner",
|
|
"type": "object",
|
|
"properties": {
|
|
"partner_name": {
|
|
"type": "string",
|
|
"description": "Partner/client name (e.g., Google, Nvidia)"
|
|
},
|
|
"partner_number": {
|
|
"type": "string",
|
|
"description": "Partner Number format PN-#### (auto-generated)",
|
|
"pattern": "^PN-[0-9]{4}$"
|
|
},
|
|
"partner_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Corporate",
|
|
"Education",
|
|
"Healthcare",
|
|
"Sports & Entertainment",
|
|
"Government"
|
|
],
|
|
"description": "Partner type"
|
|
},
|
|
"sector_id": {
|
|
"type": "string",
|
|
"description": "Sector ID this partner belongs to"
|
|
},
|
|
"sector_name": {
|
|
"type": "string",
|
|
"description": "Sector name"
|
|
},
|
|
"primary_contact_name": {
|
|
"type": "string",
|
|
"description": "Primary contact person"
|
|
},
|
|
"primary_contact_email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Primary contact email"
|
|
},
|
|
"primary_contact_phone": {
|
|
"type": "string",
|
|
"description": "Primary contact phone"
|
|
},
|
|
"billing_address": {
|
|
"type": "string",
|
|
"description": "Billing address"
|
|
},
|
|
"sites": {
|
|
"type": "array",
|
|
"description": "List of partner sites/locations",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"site_name": {
|
|
"type": "string"
|
|
},
|
|
"address": {
|
|
"type": "string"
|
|
},
|
|
"city": {
|
|
"type": "string"
|
|
},
|
|
"state": {
|
|
"type": "string"
|
|
},
|
|
"zip_code": {
|
|
"type": "string"
|
|
},
|
|
"site_manager": {
|
|
"type": "string"
|
|
},
|
|
"site_manager_email": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"allowed_vendors": {
|
|
"type": "array",
|
|
"description": "List of vendor IDs allowed for this partner",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"rate_exceptions": {
|
|
"type": "array",
|
|
"description": "Partner-specific rate exceptions",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"cost_centers": {
|
|
"type": "array",
|
|
"description": "Cost centers/PO numbers",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"payment_terms": {
|
|
"type": "string",
|
|
"description": "Payment terms (e.g., Net 30)",
|
|
"default": "Net 30"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Is partner active"
|
|
}
|
|
},
|
|
"required": [
|
|
"partner_name",
|
|
"partner_number"
|
|
]
|
|
} |