namespace EventsAppQuest.Core
{
    /// <summary>
    /// Estado do modo de fechamento imersivo na apresentação Quest (conclusão comercial e CTA final).
    /// Preenchido pelo QuestClosingExperienceController a partir de ProposalDecisionSummary e ProposalRecommendationSummary.
    /// </summary>
    public class QuestClosingExperienceState
    {
        /// <summary>Se true, o painel de fechamento está aberto.</summary>
        public bool IsClosingOpen { get; set; }

        /// <summary>Id da proposta recomendada.</summary>
        public string RecommendedProposalId { get; set; }

        /// <summary>Manchete principal do fechamento.</summary>
        public string ClosingHeadline { get; set; }

        /// <summary>Resumo final (2–3 frases).</summary>
        public string ClosingSummary { get; set; }

        /// <summary>Texto do CTA principal (ex.: "Fechar proposta").</summary>
        public string PrimaryCTA { get; set; }

        /// <summary>Texto do CTA secundário (ex.: "Ver alternativas").</summary>
        public string SecondaryCTA { get; set; }

        /// <summary>Próxima ação sugerida (ex.: "Apresentar ao cliente").</summary>
        public string SuggestedNextAction { get; set; }

        /// <summary>Etiqueta de confiança (ex.: "Alta confiança 85%").</summary>
        public string ConfidenceLabel { get; set; }

        /// <summary>Conclusão sobre orçamento.</summary>
        public string BudgetConclusion { get; set; }

        /// <summary>Conclusão sobre experiência/jornada.</summary>
        public string ExperienceConclusion { get; set; }

        /// <summary>Conclusão operacional.</summary>
        public string OperationalConclusion { get; set; }

        /// <summary>Se true, a decisão está pronta para fechamento (ReadyToClose).</summary>
        public bool IsReadyToClose { get; set; }
    }
}
