# Roadmap da camada Web

## Etapa 64: Fundação

- [x] Documentação Web em Docs/Web/
- [x] Estrutura Assets/Web/ (Core, Domain, Application, Presentation)
- [x] Modelos e enums iniciais; SessionRecord com campos para ponte com Quest
- [x] Views mock e WebDashboardController; dados mock em memória
- [x] Sem alterações destrutivas na camada Quest

## Etapa 65: Base funcional CRM (actual)

- [x] Modelos evoluídos: SalesOpportunity (CommercialPriority, SuggestedNextAction); SessionRecord (HasImprovementPlan, LastSessionTimestamp)
- [x] Pipeline comercial: New Lead → Contacted → Proposal Sent → Quest Session Done → Follow-up → Ready to Close → Won / Lost (OpportunityStage + OpportunityPipelineView)
- [x] HotelCRMDashboardController: Indicadores, Pipeline, Oportunidade ↔ Sessão Quest, Leads, Oportunidades, Propostas, Sessões, Follow-ups (scroll)
- [x] ICRMIndicatorsService: indicadores "sessão pronta para follow-up", "alta intenção comercial", "proposta em risco", "pronta para fechamento"
- [x] SessionRecordView com exibição útil de todos os campos (incl. artefactos e LastSessionTimestamp)
- [x] Dados mock enriquecidos (vários estágios, sessões com artefactos, follow-ups pendentes e concluídos)
- [x] Documentação WEB_CRM_PIPELINE.md (estrutura CRM, pipeline, papel das sessões Quest)
- [x] Camada Quest intacta

## Etapa 66: Ponte Quest → CRM (actual)

- [x] **QuestSessionSnapshot** (DTO) e **QuestSessionToCRMMapper** (snapshot → SessionRecord + estágio + indicadores).
- [x] **SessionRecord** e **SalesOpportunity** evoluídos (OutcomeSummary, EngagementLabel, QualityLabel, ConfidenceLevel; LastQuest* na oportunidade).
- [x] Lógica mock: CTA forte + ReadyToClose → Ready to Close; exploratória → Follow-up; baixa qualidade → indicador "Precisa revisar proposta".
- [x] UI Web: última sessão Quest, recomendação, decisão, CTA, próxima ação, prioridade, engajamento, qualidade, resumo (SessionRecordView, OpportunitySessionRelationView).
- [x] Indicadores derivados da sessão: Alta intenção, Precisa follow-up, Pronta para fechamento, Sessão pouco conclusiva, Precisa revisar proposta.
- [x] **ApplyQuestSessionToOpportunity** no serviço mock; painel **ApplyQuestResultPanel** ("Aplicar resultado da sessão Quest (mock)").
- [x] **QuestOutcomeToSnapshotAdapter** (Bridge) para conversão Quest → snapshot (sem chamada da Quest nesta etapa).
- [x] Documentação **WEB_QUEST_BRIDGE.md**; actualização WEB_CRM_PIPELINE, WEB_OVERVIEW, WEB_MODULES.
- [x] Camada Quest intacta (nenhuma alteração em QuestPresentation nem controllers).

## Etapa 67: Painel Produtor / Prestador (actual)

- [x] Modelos: ProducerOrder (handoff com ProposalId, SessionId, OpportunityId, escopo, itens, hotspots, notas), ProducerRequirementItem, ProducerExecutionNote, ProducerStatusUpdate.
- [x] Enums: ProducerOrderStatus, ProducerRequirementType.
- [x] Estrutura Assets/Web/Producer/ (Core, Domain, Application, Presentation, Scenes).
- [x] UI mock: Pedidos recebidos, Escopo do evento / Origem do pedido, Requisitos, Status e atualizações, Observações.
- [x] Views: ProducerOrderListView, ProducerOrderDetailsView, ProducerRequirementListView, ProducerStatusView, ProducerExecutionNotesView; ProducerDashboardController.
- [x] Dados mock coerentes (origem proposta/sessão Quest, tema, pacote, prioridades, notas de handoff).
- [x] Documentação WEB_PRODUCER.md (terceira ponta, handoff Hotel → Produtor, interpretação operacional).
- [x] Quest e CRM do hotel intactos; produtor isolado (sem dependência circular).

## Próximas etapas (orientativo)

1. **Ponte Quest → Web**: quando uma sessão Quest termina (ou export/handoff é gerado), criar ou actualizar um SessionRecord na Web (via serviço, evento ou API interna), sem o Quest depender da Web.
2. **Persistência**: persistir leads, oportunidades, propostas, sessões e follow-ups (local ou backend).
3. **Autenticação**: login e papéis reais para a equipa hotel/espaço.
4. **CRUD completo**: criar/editar leads, oportunidades, propostas e follow-ups na UI.
5. **Web Produtor/Prestador**: vistas e fluxos para fornecedores/parceiros (etapas posteriores).

O Quest mantém-se como camada de **experiência imersiva**; a Web como camada de **gestão comercial e operacional**.
