export class Timesheets { employee_fullname: string; timesheets: Timesheet[]; } export class Timesheet { timesheet_id: number; is_approved: boolean; days: TimesheetDay[]; weekly_hours: TotalHours[]; weekly_expenses: TotalExpenses[]; } export class TimesheetDay { date: string; shifts: Shift[]; expenses: Expense[]; daily_hours: TotalHours[]; daily_expenses: TotalExpenses[]; } export class TotalHours { regular: number; evening: number; emergency: number; overtime: number; vacation: number; holiday: number; sick: number; } export class TotalExpenses { expenses: number; perd_diem: number; on_call: number; mileage: number; } export class Shift { date: string; start_time: string; end_time: string; type: string; is_remote: boolean; is_approved: boolean; shift_id?: number | null; comment?: string | null; } export class Expense { date: string; is_approved: boolean; comment: string; amount?: number; mileage?: number; attachment?: string; expense_id?: number | null; supervisor_comment?: string | null; }