{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/Absence", "title": "Absence", "type": "object", "properties": { "AbsenceId": { "type": "integer", "description": "Absence record identifier" }, "PersonNumber": { "type": "string", "description": "Person number of the worker" }, "PersonName": { "type": "string", "description": "Worker display name" }, "AbsenceType": { "type": "string", "description": "Type of absence" }, "AbsenceReason": { "type": "string", "description": "Reason for absence" }, "StartDate": { "type": "string", "format": "date", "description": "Absence start date" }, "EndDate": { "type": "string", "format": "date", "description": "Absence end date" }, "Duration": { "type": "number", "format": "double", "description": "Duration in days or hours" }, "UnitOfMeasure": { "type": "string", "description": "Unit of measure (Days or Hours)", "enum": [ "Days", "Hours" ] }, "ApprovalStatus": { "type": "string", "description": "Approval status", "enum": [ "Submitted", "Approved", "Rejected", "Saved", "Withdrawn" ] }, "Comments": { "type": "string", "description": "Comments" } } }