306 lines
7.0 KiB
JSON
306 lines
7.0 KiB
JSON
{
|
|
"name": "Business",
|
|
"type": "object",
|
|
"properties": {
|
|
"business_name": {
|
|
"type": "string",
|
|
"description": "Name of the business/client company"
|
|
},
|
|
"company_logo": {
|
|
"type": "string",
|
|
"description": "URL to company logo image"
|
|
},
|
|
"contact_name": {
|
|
"type": "string",
|
|
"description": "Primary contact person"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Business email"
|
|
},
|
|
"phone": {
|
|
"type": "string",
|
|
"description": "Business phone number"
|
|
},
|
|
"hub_building": {
|
|
"type": "string",
|
|
"description": "Hub or building name/location"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"description": "Street address"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City"
|
|
},
|
|
"area": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Bay Area",
|
|
"Southern California",
|
|
"Northern California",
|
|
"Central Valley",
|
|
"Other"
|
|
],
|
|
"description": "Geographic area"
|
|
},
|
|
"sector": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Bon App\u00e9tit",
|
|
"Eurest",
|
|
"Aramark",
|
|
"Epicurean Group",
|
|
"Chartwells",
|
|
"Other"
|
|
],
|
|
"description": "Sector/industry"
|
|
},
|
|
"rate_group": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Standard",
|
|
"Premium",
|
|
"Enterprise",
|
|
"Custom"
|
|
],
|
|
"description": "Pricing tier/rate group"
|
|
},
|
|
"rate_card": {
|
|
"type": "string",
|
|
"description": "Assigned rate card name (e.g., Google, Bay Area Compass, Aramark)"
|
|
},
|
|
"erp_system": {
|
|
"type": "string",
|
|
"enum": [
|
|
"None",
|
|
"SAP Ariba",
|
|
"Fieldglass",
|
|
"CrunchTime",
|
|
"Coupa",
|
|
"Oracle NetSuite",
|
|
"Workday",
|
|
"Other"
|
|
],
|
|
"default": "None",
|
|
"description": "Client's ERP/procurement system"
|
|
},
|
|
"erp_vendor_id": {
|
|
"type": "string",
|
|
"description": "Vendor ID in client's ERP system"
|
|
},
|
|
"erp_cost_center": {
|
|
"type": "string",
|
|
"description": "Default cost center code for invoicing"
|
|
},
|
|
"edi_enabled": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether EDI integration is enabled"
|
|
},
|
|
"edi_format": {
|
|
"type": "string",
|
|
"enum": [
|
|
"EDI 810",
|
|
"cXML",
|
|
"CSV",
|
|
"JSON",
|
|
"Custom"
|
|
],
|
|
"description": "Preferred EDI/export format"
|
|
},
|
|
"invoice_email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Email address for invoice delivery"
|
|
},
|
|
"po_required": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether PO number is required for invoicing"
|
|
},
|
|
"status": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Active",
|
|
"Inactive",
|
|
"Pending"
|
|
],
|
|
"default": "Active",
|
|
"description": "Business status"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether the client is currently active (vendor can toggle)"
|
|
},
|
|
"last_order_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date of the last order placed by this client"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Additional notes"
|
|
},
|
|
"vendor_id": {
|
|
"type": "string",
|
|
"description": "Vendor managing this business"
|
|
},
|
|
"vendor_name": {
|
|
"type": "string",
|
|
"description": "Vendor name"
|
|
},
|
|
"hubs": {
|
|
"type": "array",
|
|
"description": "List of hubs/locations for this business",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"hub_name": {
|
|
"type": "string",
|
|
"description": "Name of the hub/location"
|
|
},
|
|
"address": {
|
|
"type": "string",
|
|
"description": "Hub address"
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"description": "City"
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"description": "State"
|
|
},
|
|
"zip_code": {
|
|
"type": "string",
|
|
"description": "ZIP code"
|
|
},
|
|
"manager_name": {
|
|
"type": "string",
|
|
"description": "Hub manager name"
|
|
},
|
|
"manager_email": {
|
|
"type": "string",
|
|
"format": "email",
|
|
"description": "Hub manager email"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether the hub is active"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"departments": {
|
|
"type": "array",
|
|
"description": "List of departments within this business",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"team_members": {
|
|
"type": "array",
|
|
"description": "Team members managing this business",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"member_id": {
|
|
"type": "string"
|
|
},
|
|
"member_name": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"role": {
|
|
"type": "string"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"favorite_staff": {
|
|
"type": "array",
|
|
"description": "Array of favorite staff IDs for this business",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"staff_id": {
|
|
"type": "string"
|
|
},
|
|
"staff_name": {
|
|
"type": "string"
|
|
},
|
|
"position": {
|
|
"type": "string"
|
|
},
|
|
"added_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"blocked_staff": {
|
|
"type": "array",
|
|
"description": "Array of blocked staff IDs for this business",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"staff_id": {
|
|
"type": "string"
|
|
},
|
|
"staff_name": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"blocked_date": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"total_members": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Total team members"
|
|
},
|
|
"active_members": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Active team members"
|
|
},
|
|
"total_hubs": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Total hubs"
|
|
},
|
|
"favorite_staff_count": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Number of favorite staff"
|
|
},
|
|
"blocked_staff_count": {
|
|
"type": "number",
|
|
"default": 0,
|
|
"description": "Number of blocked staff"
|
|
}
|
|
},
|
|
"required": [
|
|
"business_name",
|
|
"contact_name",
|
|
"rate_group"
|
|
]
|
|
} |