Files
krowworkforce_controltower/base44/entities/Vendor.jsonc
2026-08-17 19:45:29 +05:30

217 lines
5.2 KiB
JSON

{
"name": "Vendor",
"type": "object",
"properties": {
"vendor_number": {
"type": "string",
"description": "Vendor Number format VN-#### (auto-generated)",
"pattern": "^VN-[0-9]{4}$"
},
"legal_name": {
"type": "string",
"description": "Legal business name"
},
"doing_business_as": {
"type": "string",
"description": "DBA / Trade name"
},
"region": {
"type": "string",
"enum": [
"National",
"Bay Area",
"Southern California",
"Northern California",
"West",
"East",
"Midwest",
"South"
],
"description": "Geographic region vendor operates in"
},
"state": {
"type": "string",
"description": "Primary state (or 'Multiple' for multi-state)"
},
"city": {
"type": "string",
"description": "Primary city"
},
"service_specialty": {
"type": "string",
"description": "Service specialty (e.g., Event Staffing, Full Service Events, On-Demand Gig Platform)"
},
"workforce_count": {
"type": "number",
"description": "Total workforce/staff count available"
},
"platform_type": {
"type": "string",
"enum": [
"Full Platform",
"Building platform (KROW)",
"Partial Tech",
"Traditional"
],
"description": "Technology/platform integration level"
},
"tax_id": {
"type": "string",
"description": "Federal Tax ID / EIN"
},
"business_type": {
"type": "string",
"enum": [
"Corporation",
"LLC",
"Partnership",
"Sole Proprietorship"
],
"description": "Business entity type"
},
"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"
},
"service_address": {
"type": "string",
"description": "Service/office address"
},
"coverage_regions": {
"type": "array",
"description": "Geographic regions vendor can service",
"items": {
"type": "string"
}
},
"eligible_roles": {
"type": "array",
"description": "Roles/positions vendor can provide",
"items": {
"type": "string"
}
},
"insurance_certificate": {
"type": "string",
"description": "URL to insurance certificate"
},
"insurance_expiry": {
"type": "string",
"format": "date",
"description": "Insurance expiration date"
},
"w9_document": {
"type": "string",
"description": "URL to W9 form"
},
"coi_document": {
"type": "string",
"description": "URL to Certificate of Insurance"
},
"compliance_package_id": {
"type": "string",
"description": "Reference to compliance package"
},
"performance_scorecard_id": {
"type": "string",
"description": "Reference to performance scorecard"
},
"performance_requirements": {
"type": "array",
"description": "Customized KPIs and service standards the vendor must meet",
"items": {
"type": "object",
"properties": {
"metric": {
"type": "string"
},
"target": {
"type": "string"
},
"operator": {
"type": "string"
},
"unit": {
"type": "string"
},
"enabled": {
"type": "boolean",
"default": true
}
}
}
},
"compliance_requirements": {
"type": "array",
"description": "Customized compliance and attestation requirements the vendor must acknowledge",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"required": {
"type": "boolean",
"default": true
}
}
}
},
"vendor_fee_percentage": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Vendor admin fee percentage set by procurement"
},
"approval_status": {
"type": "string",
"enum": [
"pending",
"approved",
"suspended",
"terminated"
],
"default": "pending",
"description": "Vendor approval status"
},
"approved_date": {
"type": "string",
"format": "date",
"description": "Date vendor was approved"
},
"approved_by": {
"type": "string",
"description": "User who approved vendor"
},
"is_active": {
"type": "boolean",
"default": true,
"description": "Is vendor currently active"
},
"notes": {
"type": "string",
"description": "Internal notes about vendor"
}
},
"required": [
"legal_name",
"vendor_number",
"primary_contact_email"
]
}