export enum UserRole { SUPERADMIN = 'SUPERADMIN', BUSINESS_OWNER = 'BUSINESS_OWNER', EVENT_OWNER = 'EVENT_OWNER', PHOTOGRAPHER = 'PHOTOGRAPHER' } export enum EventStatus { PENDING_APPROVAL = 'Aguardando Aprovação', // Novo status para clientes PLANNING = 'Em Planejamento', CONFIRMED = 'Confirmado', IN_PROGRESS = 'Em Execução', DELIVERED = 'Entregue', ARCHIVED = 'Arquivado' } export enum EventType { WEDDING = 'Casamento', CORPORATE = 'Corporativo', BIRTHDAY = 'Aniversário', DEBUTANTE = 'Debutante', OTHER = 'Outro' } export interface User { id: string; name: string; email: string; role: UserRole; avatar?: string; institutionId?: string; // Instituição vinculada ao usuário } export interface Institution { id: string; name: string; type: string; // Ex: Universidade Pública, Universidade Privada, Faculdade, etc. cnpj?: string; phone: string; email: string; address?: Address; description?: string; ownerId: string; // ID do usuário que criou a instituição } export interface Address { street: string; number: string; city: string; state: string; zip: string; lat?: number; lng?: number; mapLink?: string; // URL from Google Maps Grounding } export interface Contact { id: string; name: string; role: string; phone: string; email: string; } export interface ChecklistItem { id: string; task: string; completed: boolean; required: boolean; } export interface EventData { id: string; name: string; date: string; time: string; type: EventType; status: EventStatus; address: Address; contacts: Contact[]; checklist: ChecklistItem[]; briefing: string; coverImage: string; ownerId: string; // ID do cliente dono do evento photographerIds: string[]; // IDs dos fotógrafos designados institutionId?: string; // ID da instituição vinculada (obrigatório) }