50 lines
		
	
	
		
			865 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			865 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| /* Copyright (C) 2024-2025 LibreWeddingPlanner contributors*/
 | |
| 
 | |
| import { AttendanceSummary } from "./group";
 | |
| import { Guest } from "./guest";
 | |
| 
 | |
| export interface Entity {
 | |
|   id?: string;
 | |
| }
 | |
| 
 | |
| export type TableArrangement = {
 | |
|   id: string;
 | |
|   number: number;
 | |
|   name: string;
 | |
|   guests?: Guest[];
 | |
|   discomfort?: number;
 | |
|   valid?: boolean;
 | |
| }
 | |
| 
 | |
| export type User = {
 | |
|   id: string;
 | |
|   email: string;
 | |
| }
 | |
| 
 | |
| export type Captcha = {
 | |
|   id: string;
 | |
|   answer: string;
 | |
| }
 | |
| 
 | |
| export type StructuredErrors = {
 | |
|   [key: string]: string[] | string;
 | |
| };
 | |
| 
 | |
| export type GlobalSummary = {
 | |
|   expenses: ExpenseSummary; 
 | |
|   guests: AttendanceSummary
 | |
| }
 | |
| 
 | |
| export type ExpenseSummary = {
 | |
|   projected: ExpensePossibleSummary;
 | |
|   confirmed: ExpensePossibleSummary;
 | |
|   status: StatusSummary;
 | |
| }
 | |
| 
 | |
| export type ExpensePossibleSummary = {
 | |
|   total: number;
 | |
|   guests: number;
 | |
| }
 | |
| export type StatusSummary = {
 | |
|   paid: number;
 | |
| } |