/* Copyright (C) 2024 Manuel Bustillo*/

export type GuestStatus = 'considered' | 'invited' | 'confirmed' | 'declined' | 'tentative';
export type Guest = {
  id?: string;
  name?: string;
  group_name?: string;
  groupId?: string;
  color?: string;
  status?: GuestStatus
}

export type Expense = {
  id: string;
  name: string;
  amount: number;
  pricingType: 'fixed' | 'per person';
};

export type TableArrangement = {
  id: string;
  number: number;
  name: string;
  guests?: Guest[];
  discomfort?: number
}

export type Group = {
  id: string;
  name: string;
  guest_count: number;
  icon: string;
  children: Group[];
  color?: string;
  attendance?: AttendanceSummary
};

export type AttendanceSummary = {
  considered: number;
  invited: number;
  confirmed: number;
  declined: number;
  tentative: number;
  total: number;
}

export type guestsTable = {
  id: string;
  customer_id: string;
  name: string;
  email: string;
  image_url: string;
  date: string;
  amount: number;
  status: 'pending' | 'paid';
};