export interface WorkingHourSlot {
  start: string
  end: string
}

export interface WorkingHour {
  day: string
  enabled: boolean
  slots: WorkingHourSlot[]
}

export interface CreateStylistPayload {
  name: string
  email?: string
  phone?: string
  role?: string
  countryCode?: string
  services?: string[]
  workingHours: WorkingHour[]
  vacations?: {
    start: string
    end: string
    reason: string
    _id?: string
  }[]
}

// Service object as returned in stylist API response
export interface StylistService {
  _id: string
  name: string
}

// Stylist returned by the API (GET)
export interface Stylist {
  _id: string
  name: string
  services: StylistService[]
  active: boolean
  salonId: string
  email: string
  phone: string
  countryCode?: string
  role?: string
  workingHours: WorkingHour[]
  isOnVacation?: boolean
  image?: string // Single image URL
  createdAt: string
  updatedAt: string
  vacations?: {
    start: string
    end: string
    reason: string
    _id?: string
  }[]
  __v?: number
}

// Convenience alias for arrays returned by list endpoints
export interface StylistsResponse {
  data: Stylist[]
  meta: {
    total: number
    total_active: number
    total_inactive: number
    total_on_vacation: number
  }
}

