168 lines
4.0 KiB
JSON
168 lines
4.0 KiB
JSON
{
|
|
"name": "Contract",
|
|
"type": "object",
|
|
"properties": {
|
|
"contract_number": {
|
|
"type": "string",
|
|
"description": "Contract Number format CT-#### (auto-generated)",
|
|
"pattern": "^CT-[0-9]{4}$"
|
|
},
|
|
"contract_name": {
|
|
"type": "string",
|
|
"description": "Descriptive contract name"
|
|
},
|
|
"contract_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"MSA",
|
|
"SOW",
|
|
"Rate Agreement",
|
|
"Service Agreement",
|
|
"NDA",
|
|
"Amendment"
|
|
],
|
|
"description": "Type of contract"
|
|
},
|
|
"vendor_id": {
|
|
"type": "string",
|
|
"description": "Vendor party to this contract"
|
|
},
|
|
"vendor_name": {
|
|
"type": "string",
|
|
"description": "Vendor name"
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "Client/Business ID party to this contract"
|
|
},
|
|
"client_name": {
|
|
"type": "string",
|
|
"description": "Client/Business name"
|
|
},
|
|
"sector_id": {
|
|
"type": "string",
|
|
"description": "Sector this contract falls under (if applicable)"
|
|
},
|
|
"sector_name": {
|
|
"type": "string"
|
|
},
|
|
"partner_id": {
|
|
"type": "string",
|
|
"description": "Partner ID (if partner-specific)"
|
|
},
|
|
"partner_name": {
|
|
"type": "string"
|
|
},
|
|
"procurement_manager": {
|
|
"type": "string",
|
|
"description": "Procurement manager who owns this contract"
|
|
},
|
|
"rate_card_id": {
|
|
"type": "string",
|
|
"description": "Reference to RateCard entity if rates are defined there"
|
|
},
|
|
"effective_start_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Contract effective start date"
|
|
},
|
|
"effective_end_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Contract end date"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"draft",
|
|
"pending_review",
|
|
"active",
|
|
"expiring",
|
|
"expired",
|
|
"terminated",
|
|
"amended"
|
|
],
|
|
"default": "draft",
|
|
"description": "Contract lifecycle status"
|
|
},
|
|
"billing_terms": {
|
|
"type": "string",
|
|
"description": "Net 15, Net 30, Net 45, Net 60, etc."
|
|
},
|
|
"payment_terms": {
|
|
"type": "string",
|
|
"description": "Payment terms and conditions"
|
|
},
|
|
"auto_renew": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether contract auto-renews"
|
|
},
|
|
"renewal_notice_days": {
|
|
"type": "number",
|
|
"description": "Days notice required before renewal/termination"
|
|
},
|
|
"document_url": {
|
|
"type": "string",
|
|
"description": "URL to the signed contract document"
|
|
},
|
|
"total_contract_value": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Total estimated contract value"
|
|
},
|
|
"signed_by_vendor": {
|
|
"type": "string",
|
|
"description": "Name of vendor signer"
|
|
},
|
|
"signed_by_client": {
|
|
"type": "string",
|
|
"description": "Name of client signer"
|
|
},
|
|
"signed_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date contract was fully executed"
|
|
},
|
|
"amendments": {
|
|
"type": "array",
|
|
"description": "List of contract amendments",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"amendment_number": {
|
|
"type": "number"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"effective_date": {
|
|
"type": "string",
|
|
"format": "date"
|
|
},
|
|
"document_url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"compliance_requirements": {
|
|
"type": "array",
|
|
"description": "Compliance requirements tied to this contract",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Additional notes"
|
|
}
|
|
},
|
|
"required": [
|
|
"contract_name",
|
|
"contract_type",
|
|
"vendor_id",
|
|
"client_id",
|
|
"status"
|
|
]
|
|
} |