# Visão geral do produto

## Nome do projeto
Events App Quest — plataforma para aumentar a conversão comercial de eventos, com suporte futuro a realidade mista (MR) no Meta Quest 3.

## Objetivo
Conectar **espaços (hotéis/salões)**, **fornecedores** e **clientes finais** em uma única plataforma. O foco do produto é **aumentar a conversão comercial de eventos**: o cliente final visualiza e escolhe opções antes de contratar.

## Modelo de negócio e papéis

| Papel | Descrição |
|-------|-----------|
| **Espaço (hotel/salão)** | Cliente principal da plataforma. Cadastra ambientes e usa headset(s) com o software. Digitaliza e prepara o ambiente para que fornecedores montem propostas e showrooms. |
| **Fornecedor** | Prestador de serviço que paga assinatura para usar a aplicação. Monta propostas e showrooms dentro dos espaços cadastrados. |
| **Cliente final** | Entra na plataforma principalmente para **visualizar e escolher** opções de eventos antes de contratar. |

## Fluxo resumido
1. O **espaço** digitaliza/prepara o ambiente e disponibiliza na plataforma (com uso de headset(s)).
2. O **fornecedor** monta propostas e showrooms naquele espaço.
3. O **cliente final** visualiza as opções e toma a decisão de contratação — aumentando a conversão.

## Categorias iniciais de eventos
- Aniversários  
- Casamentos  
- Business (eventos corporativos)

## Plano lógico do espaço, briefing do cliente, validação, presets, temas, narrativa, múltiplas propostas e revisão comercial (preparação para MR)
- O **projeto** possui **briefing comercial do cliente** (ClientEventBrief): nome do cliente, nome do evento, número de convidados, orçamento alvo, mood desejado, cores preferidas, elementos obrigatórios, elementos a evitar e observações. O resumo do projeto exibe evento, cliente, convidados e orçamento alvo; a revisão comercial considera aderência ao orçamento alvo e ao mood desejado; a comparação entre propostas mostra diferença vs orçamento alvo e tema vs mood desejado. O **score de aderência da proposta** (ProposalFitScore) avalia de forma objetiva a adequação da proposta ao briefing: score geral e sub-scores (orçamento, mood, **capacidade**, elementos obrigatórios, risco), destaques, lacunas e recomendações; o resumo exibe score e status (Alta/Média/Baixa aderência); a comparação entre propostas inclui score por proposta e melhor orçamento/mood. A **capacidade do espaço e adequação operacional** são avaliadas de forma mais realista: o espaço e os slots têm metadados de capacidade (MaxRecommendedGuests, CapacityContribution, IsSeatingArea); os itens podem indicar SeatingProvided e StandingAreaImpact; um serviço (**ISpaceCapacityEvaluationService**) calcula capacidade estimada da proposta, faixa recomendada e status (confortável, no limite, acima da capacidade) em relação aos convidados do briefing; o **CapacityFitScore** deixa de ser neutro; a revisão exibe **CapacitySummary** e a view **Capacidade do Espaço / Adequação Operacional** exibe convidados, capacidade estimada, faixa, status e riscos; a comparação entre propostas inclui capacidade e "melhor acomodação". O **fluxo do evento e a logística operacional** passam a ser avaliados: slots e itens têm metadados de circulação e acesso de serviço; um serviço (**IEventFlowEvaluationService**) calcula risco de gargalo, acesso de serviço, avisos e recomendações; o fit score e a revisão incorporam fluxo; a view **Fluxo do Evento / Logística Operacional** exibe status, scores e recomendações; a comparação entre propostas inclui fluxo e "melhor fluxo". O **cronograma operacional e a sequência de montagem** são avaliados: itens têm metadados de montagem (tempo, dependências, fornecedor no local); um serviço (**IEventSetupTimelineService**) calcula tempo total estimado, passos críticos, dependências e prontidão para execução; o fit score e a revisão incorporam cronograma; a view **Cronograma / Montagem do Evento** exibe tempo, status, avisos e recomendações; a comparação entre propostas inclui montagem e "mais pronta para execução". A **cobertura operacional por fornecedores** é avaliada: fornecedores têm metadados (tipos suportados, montagem antecipada, execução no local); um serviço (**ISupplierCoverageEvaluationService**) calcula score de cobertura, lacunas e avisos (ex.: dependência em poucos fornecedores); o fit score e a revisão incorporam cobertura; a view **Cobertura de Fornecedores / Lacunas Operacionais** exibe score, lacunas e recomendações; a comparação entre propostas inclui "melhor cobertura". **Pacotes comerciais e tiers de proposta** (Essential, Standard, Premium, Luxury) permitem estruturar a venda: cada pacote define itens incluídos, faixa de orçamento-alvo e notas de upsell/downsell; é possível **associar um pacote à proposta ativa** e aplicar (itens e tema sugerido); a view **Pacotes Comerciais / Upgrade de Proposta** exibe pacotes disponíveis e ação Aplicar; a revisão e a comparação incluem leitura comercial (bem enquadrada, possibilidade de upsell/downsell) e "melhor encaixe comercial". **Momentos/fases do evento e jornada da experiência** permitem que a proposta reflita a sequência temporal do evento (recepção, cerimônia, refeição, apresentação, networking, encerramento): a proposta passa a ter um **planejamento por momentos** (itens, zonas, fornecedores-chave e duração por fase); a view **Momentos do Evento / Jornada da Experiência** exibe as fases em ordem; a revisão inclui resumo da jornada; a comparação indica "jornada mais completa". **Transições entre fases e continuidade da experiência** refletem a qualidade da passagem entre momentos (transições com tipo, tempo, reconfiguração, coordenação de fornecedor e fluidez); a revisão e a comparação incluem resumo de transições; o resumo do projeto exibe transições e fluidez média. **Roteiro guiado e apresentação ao cliente** estruturam como a proposta será apresentada (GuidedTourSteps, view, review e comparação). **Hotspots/pontos de destaque visuais** estruturam quais elementos, zonas e momentos recebem foco especial: a proposta armazena **VisualHotspots** (título, descrição, tipo EntranceImpact/ThemeHighlight/PremiumDecor/DiningExperience/StageMoment/LoungeExperience/SupplierShowcase/OperationalConfidence/ClosingVisual, prioridade, valor comercial, duração de foco sugerida, IsPremiumUpsell); os hotspots são gerados a partir do roteiro guiado, tema, pacote e momentos; a view **Hotspots Visuais / Pontos de Destaque** exibe prioridade, tipo, zonas/itens, valor comercial e upsell premium; a revisão inclui **VisualHotspotSummary**, quantidade, **PrimaryHotspotTitle** e **HasPremiumHotspots**; a comparação indica "maior impacto visual" e "melhor upsell visual"; o resumo do projeto exibe quantidade de hotspots, principal e destaques premium. **Estados visuais da cena por fase** permitem que a proposta deixe de ser apenas um layout estático e reflita **como o espaço muda durante o evento**: a proposta armazena **SceneStates** (estado por fase: itens ativos, zonas ativas, hotspots principais, mood, resumo da transição); são gerados a partir de moment plans, transições, hotspots, tema e showroom; a view **Estados da Cena / Evolução Visual do Evento** exibe a sequência de estados; a revisão e a comparação incluem resumo de estados, quantidade e se há evolução visual estruturada; o resumo do projeto exibe quantidade de estados da cena e "Evolução visual: Sim/Não". **Comparação temporal entre propostas** permite comparar não só propostas estáticas, mas **como cada proposta evolui ao longo da jornada**: o projeto armazena a última **ProposalTemporalComparison** (base vs comparada), com comparações por fase (ProposalPhaseComparison), resumo da diferença de experiência, momentos mais fortes/mais fracos de cada uma, melhor continuidade visual, operacional e impacto comercial; a view **Comparação Temporal / Evolução das Propostas** exibe propostas comparadas, resumo geral, melhores momentos, continuidade e impacto; a comparação geral indica "melhor evolução da experiência", "melhor jornada visual", "melhor continuidade operacional", "melhor impacto comercial"; o resumo exibe "Comparação temporal: Sim/Não" e "Fases na comparação: X". **Recomendação executiva da melhor proposta** indica de forma clara qual opção é mais adequada ao cliente: o projeto armazena **LastRecommendationSummary** (ProposalRecommendationSummary) com proposta recomendada, score de confiança, resumo executivo, por que vence, tradeoffs, posicionamento orçamento/experiência/operacional, ângulo de venda sugerido e segunda opção; o **IProposalRecommendationService** (MockProposalRecommendationService) usa fit score, review, comparação temporal, orçamento alvo, mood e prontidão para recomendar; a view **Recomendação Final / Melhor Proposta** exibe todos os campos; o resumo exibe "Recomendação final: Sim/Não", "Proposta recomendada: X" e "Confiança: Y/100". **Resumo executivo de decisão e fechamento** transforma toda a análise em uma síntese clara e comercial para apoio à decisão: o projeto armazena **LastDecisionSummary** (ProposalDecisionSummary) com manchete, resumo curto, principais razões da decisão, riscos-chave, conclusões (orçamento, experiência, operacional), mensagem final de venda, próxima ação sugerida e **nível de prontidão** (ProposalDecisionReadinessLevel: Não pronto, Em revisão, Pronto para apresentar, Pronto para fechamento); o **IProposalDecisionSummaryService** (MockProposalDecisionSummaryService) gera o resumo a partir da recomendação, review, fit score e comparações; a view **Resumo Executivo / Fechamento** exibe todos os campos; o resumo do projeto exibe "Resumo executivo: Sim/Não", "Prontidão p/ fechamento: X" e "Próxima ação: Y". **Plano de apresentação para Quest 3 / realidade mista** estrutura o que será mostrado na futura camada imersiva: cada proposta pode ter um **ProposalMRPresentationPlan** (título, modo GuidedSalesTour/FreeExploration/SideBySideComparison/ExecutiveClosingMode, sequência guiada, hotspots, estados de cena, zonas prioritárias, momentos-chave de venda, duração recomendada, objetivo executivo, ReadyForMRMapping); o **IMRPresentationPlanningService** gera o plano a partir de roteiro guiado, hotspots, estados de cena, recomendação e resumo executivo; a view **Plano Quest / Apresentação em Realidade Mista** exibe todos os campos; o resumo do projeto exibe "Plano Quest/MR: Sim/Não", "Modo apresentação" e "Pronto p/ mapeamento MR"; a revisão e a comparação indicam proposta mais pronta para Quest, melhor potencial de tour guiado e melhor fechamento imersivo. Isso constitui a **ponte entre a operação web/comercial e a futura experiência no headset**, sem implementar MR/3D/Meta SDK ainda. A **primeira base executável e de navegação para Quest** é a cena **QuestPresentation**, com **primeiro teste visual orientado a headset**: câmera configurável (**QuestPresentationCameraRig**), HUD em overlay e **UI espacial em World Space** (**QuestWorldUIPanelLayout** — painel principal, lateral e progresso com dados reais). O usuário pode alternar entre modo HUD e modo painéis espaciais (botão ou tecla U). Existe **modo de navegação** (Guiado, Manual, Foco hotspot), **QuestPresentationNavigationController** e HUD/painéis com menos informação por vez e leitura rápida. Os dados vêm do plano MR, roteiro guiado, hotspots e estados; se faltar conteúdo, fallback com mensagem clara. A **base de plataforma Quest** está em **Docs/QUEST_PLATFORM.md**. Esta etapa ainda **não é MR real**, mas é a base para futura UI imersiva e apresentação em MR. Isso prepara **diretamente** a futura visualização dinâmica, a camada de foco, **apresentações comparativas**, a **apresentação decisiva** e a **experiência de fechamento** no Quest 3 (síntese pronta para apoio à decisão).  
- A proposta inclui um **plano lógico do espaço** (slots e associação de itens), **regras de compatibilidade** e **validação da composição** (com revalidação automática), **presets de layout** reutilizáveis, **temas visuais / direção estética** e **modo de apresentação comercial guiada** (narrativa de etapas). Um **projeto** pode conter **múltiplas propostas internas** (variantes utilizáveis): é possível **duplicar** a proposta ativa, **ativar** outra proposta (o showroom, layout, orçamento, validação, narrativa e revisão passam a refletir a proposta selecionada) e ver um **resumo comparativo** (tema, preset, valor estimado, itens, fornecedores, prontidão; e quando há briefing: orçamento vs alvo, tema vs mood desejado). Além disso, a proposta possui **revisão comercial e comparação de versões** (snapshots): é possível **revisar a proposta** (prontidão, pontos fortes, alertas, elementos ausentes) e **salvar versões** em memória para **comparar** a proposta atual com versões salvas; o **PresetId** em snapshots e propostas fica coerente quando um preset é aplicado. O **resumo e os detalhes do projeto** exibem se a proposta está pronta para apresentação e a quantidade de versões salvas. Isso prepara melhor a escolha do cliente e a futura experiência de comparação e apresentação no Quest 3, sem implementar 3D/MR ainda.

## Camada Web (em construção)
Existe uma **camada Web** em fundação (**Assets/Web/**, **Docs/Web/**), voltada ao **hotel/espaço**: CRM comercial, pipeline de oportunidades, propostas, registo de sessões Quest e follow-up. O **Quest** continua a ser a camada de **experiência imersiva** do cliente; a Web é para a equipa do espaço gerir leads, oportunidades e tarefas. A integração real entre sessão Quest e registo na Web ficará para etapas posteriores. Ver **Docs/Web/WEB_OVERVIEW.md**.

## Escopo futuro (fora desta etapa)
- Suporte a Meta Quest 3 e realidade mista (a proposta já carrega metadados de zona, ancoragem e associação a slots para futura apresentação no headset).  
- Backend e autenticação reais  
- Integrações externas e catálogos completos  

## Princípios
- Base estrutural limpa e escalável  
- Separação clara entre domínio, aplicação e apresentação  
- Preparação para catálogos, projetos de eventos e visualização 3D/MR  
