{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/workday-tracking-system/refs/heads/main/json-schema/time-tracking-work-schedule-schema.json", "title": "WorkSchedule", "description": "A worker's work schedule assignment", "type": "object", "properties": { "id": { "type": "string", "description": "Unique ID of the schedule assignment" }, "workerId": { "type": "string", "description": "Workday ID of the worker" }, "scheduleName": { "type": "string", "description": "Name of the assigned work schedule", "example": "Standard 5-Day Week" }, "scheduleType": { "type": "string", "description": "Type of schedule", "enum": ["Fixed", "Flexible", "Rotating"] }, "effectiveDate": { "type": "string", "format": "date", "description": "Date the schedule assignment takes effect" }, "endDate": { "type": "string", "format": "date", "description": "Date the schedule assignment ends (optional)" }, "hoursPerWeek": { "type": "number", "format": "float", "description": "Scheduled hours per week", "example": 40.0 }, "shifts": { "type": "array", "description": "Daily shift schedule", "items": { "type": "object", "description": "A single shift within a work schedule", "properties": { "dayOfWeek": { "type": "string", "description": "Day of the week for this shift", "enum": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"] }, "startTime": { "type": "string", "format": "time", "description": "Shift start time (HH:MM:SS)", "example": "09:00:00" }, "endTime": { "type": "string", "format": "time", "description": "Shift end time (HH:MM:SS)", "example": "17:00:00" }, "hours": { "type": "number", "format": "float", "description": "Total hours for this shift", "example": 8.0 } } } } }, "required": ["workerId", "scheduleName", "effectiveDate"] }