using System;
using System.Collections.Generic;

namespace EventsAppQuest.Core
{
    /// <summary>
    /// Plano de melhorias da sessão Quest: lista de recomendações geradas a partir do
    /// diagnóstico de qualidade, outcome, handoff e export. Mantido em memória.
    /// </summary>
    [Serializable]
    public class QuestSessionImprovementPlan
    {
        /// <summary>Identificador da sessão.</summary>
        public string SessionId { get; set; }

        /// <summary>Lista de recomendações ordenadas por prioridade.</summary>
        public List<QuestSessionImprovementRecommendation> Recommendations { get; set; } = new List<QuestSessionImprovementRecommendation>();

        /// <summary>Recomendação de maior prioridade (primeira da lista ou bloqueante).</summary>
        public QuestSessionImprovementRecommendation TopPriorityRecommendation { get; set; }

        /// <summary>Resumo executivo do plano de melhoria (1–2 frases).</summary>
        public string ImprovementSummary { get; set; }

        /// <summary>Data/hora de geração (UTC).</summary>
        public DateTime GeneratedAt { get; set; }
    }
}
