{ "name": "Shift", "type": "object", "properties": { "event_id": { "type": "string", "description": "Associated event ID" }, "shift_name": { "type": "string", "description": "Name of the shift" }, "manager_id": { "type": "string", "description": "Manager staff ID" }, "manager_name": { "type": "string", "description": "Manager name" }, "location": { "type": "string", "description": "Shift location" }, "start_date": { "type": "string", "format": "date-time", "description": "Shift start date and time" }, "end_date": { "type": "string", "format": "date-time", "description": "Shift end date and time" }, "unpaid_break": { "type": "number", "description": "Unpaid break duration in minutes" }, "count": { "type": "number", "description": "Number of staff needed" }, "assigned": { "type": "number", "description": "Number of staff assigned" }, "uniform_type": { "type": "string", "description": "Required uniform type" }, "price": { "type": "number", "description": "Price per staff member" }, "amount": { "type": "number", "description": "Total amount for shift" }, "assigned_staff": { "type": "array", "description": "List of assigned staff", "items": { "type": "object", "properties": { "staff_id": { "type": "string" }, "staff_name": { "type": "string" }, "role": { "type": "string" }, "department": { "type": "string" } } } }, "role": { "type": "string", "description": "Role for this shift" }, "department": { "type": "string", "description": "Department" } }, "required": [ "shift_name", "start_date" ] }