{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/workday-tracking-system/refs/heads/main/json-structure/workday-tracking-system-leave-of-absence-structure.json", "name": "LeaveOfAbsence", "description": "A leave of absence record for an employee in the Workday absence management system", "type": "object", "properties": { "id": { "type": "string", "description": "Unique Workday ID of the leave record" }, "workerId": { "type": "string", "description": "Workday ID of the worker on leave" }, "leaveType": { "type": "string", "description": "Type of leave of absence", "enum": [ "FMLA", "Military", "Personal", "Medical", "Parental", "Sabbatical" ] }, "startDate": { "type": "date", "description": "Date the leave begins" }, "expectedEndDate": { "type": "date", "description": "Expected date of return" }, "actualReturnDate": { "type": "date", "description": "Actual date worker returned from leave" }, "status": { "type": "string", "description": "Current status of the leave", "enum": [ "Pending", "Approved", "Active", "Completed", "Cancelled" ] }, "reason": { "type": "string", "description": "Reason for the leave of absence", "maxLength": 1000 }, "continuousOrIntermittent": { "type": "string", "description": "Whether leave is taken continuously or intermittently", "enum": [ "Continuous", "Intermittent" ] } }, "required": [ "workerId", "leaveType", "startDate", "expectedEndDate" ], "additionalProperties": false }