{ "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" ] }