{ "name": "Event", "type": "object", "properties": { "event_name": { "type": "string", "description": "Name of the event" }, "is_rapid": { "type": "boolean", "default": false, "description": "Is this a RAPID/urgent order" }, "is_recurring": { "type": "boolean", "default": false, "description": "Is this a recurring event" }, "is_multi_day": { "type": "boolean", "default": false, "description": "Is this a multi-day event" }, "recurrence_type": { "type": "string", "enum": [ "single", "date_range", "scatter" ], "description": "Type of recurrence: single, date_range, or scatter" }, "recurrence_start_date": { "type": "string", "format": "date", "description": "Start date for recurring events" }, "recurrence_end_date": { "type": "string", "format": "date", "description": "End date for recurring events" }, "scatter_dates": { "type": "array", "description": "Array of specific dates for scatter recurring", "items": { "type": "string", "format": "date" } }, "multi_day_start_date": { "type": "string", "format": "date", "description": "Start date for multi-day events" }, "multi_day_end_date": { "type": "string", "format": "date", "description": "End date for multi-day events" }, "buffer_time_before": { "type": "number", "default": 0, "description": "Buffer time in minutes before event" }, "buffer_time_after": { "type": "number", "default": 0, "description": "Buffer time in minutes after event" }, "conflict_detection_enabled": { "type": "boolean", "default": true, "description": "Whether to check for conflicts" }, "detected_conflicts": { "type": "array", "description": "Array of detected conflicts", "items": { "type": "object", "properties": { "conflict_type": { "type": "string", "enum": [ "staff_overlap", "venue_overlap", "time_buffer" ] }, "severity": { "type": "string", "enum": [ "low", "medium", "high", "critical" ] }, "description": { "type": "string" }, "conflicting_event_id": { "type": "string" }, "staff_id": { "type": "string" }, "detected_at": { "type": "string", "format": "date-time" } } } }, "business_id": { "type": "string", "description": "Associated business ID" }, "business_name": { "type": "string", "description": "Business name" }, "vendor_id": { "type": "string", "description": "Vendor ID if created by vendor" }, "vendor_name": { "type": "string", "description": "Vendor name if created by vendor" }, "hub": { "type": "string", "description": "Hub location for the event" }, "event_location": { "type": "string", "description": "Event location address" }, "contract_type": { "type": "string", "enum": [ "W2", "1099", "Temp", "Contract" ], "description": "Type of contract" }, "po_reference": { "type": "string", "description": "Purchase order reference number" }, "status": { "type": "string", "enum": [ "Draft", "Active", "Pending", "Assigned", "Confirmed", "Completed", "Canceled" ], "default": "Draft" }, "date": { "type": "string", "format": "date", "description": "Event date (for single events)" }, "requested": { "type": "number", "description": "Total number of staff requested for this event", "default": 0 }, "assigned_staff": { "type": "array", "description": "Array of assigned staff members", "items": { "type": "object", "properties": { "staff_id": { "type": "string" }, "staff_name": { "type": "string" }, "email": { "type": "string" }, "role": { "type": "string" } } } }, "shifts": { "type": "array", "description": "Array of shifts for this event", "items": { "type": "object", "properties": { "shift_name": { "type": "string" }, "shift_contact": { "type": "string" }, "location": { "type": "string" }, "location_address": { "type": "string" }, "roles": { "type": "array", "items": { "type": "object", "properties": { "role": { "type": "string" }, "department": { "type": "string" }, "count": { "type": "number" }, "start_time": { "type": "string" }, "end_time": { "type": "string" }, "hours": { "type": "number" }, "uniform": { "type": "string" }, "break_minutes": { "type": "number" }, "cost_per_hour": { "type": "number" }, "total_value": { "type": "number" }, "vendor_name": { "type": "string" }, "vendor_id": { "type": "string" } } } } } } }, "addons": { "type": "object", "properties": { "goal": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "text": { "type": "string" } } }, "portal_access": { "type": "boolean" }, "meal_provided": { "type": "boolean" }, "travel_time": { "type": "boolean" }, "tips": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "amount": { "type": "string" } } } } }, "total": { "type": "number", "description": "Total cost" }, "client_name": { "type": "string" }, "client_email": { "type": "string" }, "client_phone": { "type": "string" }, "invoice_id": { "type": "string", "description": "Associated invoice ID" }, "notes": { "type": "string" } }, "required": [ "event_name" ] }