
id : bigint(20) unsigned
|

user_id : bigint(20) unsigned
|

type : enum('WORK','LEAVE','WORK_OVERTIME')
|

check_in_time : datetime
|

check_out_time : datetime
|

check_in_lat : decimal(10,8)
|

check_in_lng : decimal(11,8)
|

check_out_lat : decimal(10,8)
|

check_out_lng : decimal(11,8)
|

ot_start_time : datetime
|

ot_end_time : datetime
|

ot_status : enum('PENDING','APPROVED','REJECTED')
|

ot_approved_by : bigint(20) unsigned
|

ot_approved_at : timestamp
|

total_hours : decimal(8,2)
|

ot_hours : decimal(8,2)
|

status : enum('PENDING','APPROVED','REJECTED','COMPLETED')
|

created_at : timestamp
|

updated_at : timestamp
|

over_time_status : enum('PENDING','APPROVED','REJECTED')
|

over_time_approver_id : bigint(20) unsigned
|

over_time_approved_at : datetime
|

start_over_time : datetime
|

end_over_time : datetime
|

leave_type : enum('SICK_LEAVE','PERSONAL_LEAVE','ANNUAL_LEAVE','MATERNITY_LEAVE','PATERNITY_LEAVE','BEREAVEMENT_LEAVE','EMERGENCY_LEAVE','STUDY_LEAVE','COMPENSATORY_LEAVE','UNPAID_LEAVE','NATIONAL_HOLIDAY_LEAVE')
|

leave_start_date : date
|

leave_end_date : date
|

leave_reason : text
|

leave_approver_id : bigint(20) unsigned
|

leave_status : enum('PENDING','APPROVED','REJECTED')
|

leave_approved_at : timestamp
|

leave_rejection_reason : text
|

metadata : longtext
|

image_attachments : longtext
|