namespace EventsAppQuest.Core
{
    /// <summary>
    /// Estatísticas simples de interação da sessão Quest (para payload de exportação e analytics futuros).
    /// Preenchido pelo QuestSessionExportController a partir da sessão e contadores.
    /// </summary>
    public class QuestSessionInteractionStats
    {
        /// <summary>Número de passos do roteiro guiado visualizados (ex.: índice máximo alcançado + 1).</summary>
        public int GuidedStepsViewed { get; set; }

        /// <summary>Número de vezes que um painel de contexto de hotspot foi aberto.</summary>
        public int HotspotsOpened { get; set; }

        /// <summary>Número de vezes que o painel de comparação entre hotspots foi aberto.</summary>
        public int ComparisonsOpened { get; set; }

        /// <summary>Número de vezes que o painel de fechamento foi aberto.</summary>
        public int ClosingOpened { get; set; }

        /// <summary>Número de confirmações de CTA (principal ou secundário).</summary>
        public int CTAConfirmations { get; set; }

        /// <summary>Contagem total de interações (soma heurística dos anteriores).</summary>
        public int TotalInteractionCount { get; set; }

        /// <summary>Duração estimada da sessão em segundos (desde o início até à geração do payload).</summary>
        public double EstimatedSessionDurationSeconds { get; set; }
    }
}
