{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/workday-tracking-system/refs/heads/main/json-schema/absence-management-leave-of-absence-schema.json",
  "title": "LeaveOfAbsence",
  "description": "A leave of absence record",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique Workday ID of the leave record"
    },
    "workerId": {
      "type": "string",
      "description": "Workday ID of the worker"
    },
    "leaveType": {
      "type": "string",
      "description": "Type of leave (e.g., FMLA, Military, Personal)",
      "example": "FMLA"
    },
    "startDate": {
      "type": "string",
      "format": "date",
      "description": "Leave start date",
      "example": "2026-06-01"
    },
    "expectedEndDate": {
      "type": "string",
      "format": "date",
      "description": "Expected return date",
      "example": "2026-07-01"
    },
    "actualReturnDate": {
      "type": "string",
      "format": "date",
      "description": "Actual date of return from leave"
    },
    "status": {
      "type": "string",
      "description": "Status of the leave",
      "enum": ["Pending", "Approved", "Active", "Completed", "Cancelled"]
    },
    "reason": {
      "type": "string",
      "description": "Reason for the leave of absence"
    },
    "continuousOrIntermittent": {
      "type": "string",
      "description": "Whether leave is continuous or intermittent",
      "enum": ["Continuous", "Intermittent"],
      "example": "Continuous"
    }
  }
}
