File size: 832 Bytes
d97b8f9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
export type LeaveStatus = 'Pending' | 'Approved' | 'Rejected' | 'Cancelled';

export type LeaveType = 
  | 'Sick' 
  | 'Casual' 
  | 'Annual' 
  | 'Maternity' 
  | 'Paternity' 
  | 'Bereavement' 
  | 'Unpaid'
  | 'Other';

export interface Leave {
  id: string;
  employeeId: string;
  type: LeaveType;
  startDate: string;
  endDate: string;
  reason: string;
  status: LeaveStatus;
  appliedDate: string;
  actionDate?: string;
  actionBy?: string;
  actionNotes?: string;
  attachments?: string[];
}

export interface LeaveFilter {
  status?: LeaveStatus | 'All';
  type?: LeaveType | 'All';
  employeeId?: string;
  year?: number;
  searchTerm?: string;
}

export interface EmployeeBasicInfo {
  id: string;
  name: string;
  email: string;
  department?: string;
  position?: string;
}