export interface Capacity {
  team_member_id: string;
  month: string;
  working_days: number;
  person_days: number;
  hours: number;
  details: CapacityDetail[];
}

export interface CapacityDetail {
  date: string;
  day_of_week: number;
  is_weekend: boolean;
  is_holiday: boolean;
  holiday_name?: string;
  is_pto: boolean;
  availability: number;
  effective_hours: number;
}

export interface TeamCapacity {
  month: string;
  total_person_days: number;
  total_hours: number;
  member_capacities: MemberCapacity[];
}

export interface MemberCapacity {
  team_member_id: string;
  team_member_name: string;
  role: string;
  person_days: number;
  hours: number;
  hourly_rate: number;
}

export interface Revenue {
  month: string;
  total_revenue: number;
  member_revenues: MemberRevenue[];
}

export interface MemberRevenue {
  team_member_id: string;
  team_member_name: string;
  hours: number;
  hourly_rate: number;
  revenue: number;
}

export interface Holiday {
  id: string;
  date: string;
  name: string;
  description?: string;
}

export interface PTO {
  id: string;
  team_member_id: string;
  team_member_name: string;
  start_date: string;
  end_date: string;
  reason?: string;
  status: 'pending' | 'approved' | 'rejected';
}

export interface TeamMemberAvailability {
  team_member_id: string;
  date: string;
  availability: 0 | 0.5 | 1;
}
