using System;
using EventsAppQuest.Web.Core;

namespace EventsAppQuest.Web.Application
{
    /// <summary>
    /// DTO que representa o resultado de uma sessão Quest para consumo pelo CRM Web.
    /// Preenchido por código mock ou, no futuro, por um adaptador que lê QuestCommercialOutcome / ExportPayload / HandoffReport / QualityAssessment.
    /// A camada Web não referencia tipos Quest; este DTO é a fronteira da ponte.
    /// </summary>
    public class QuestSessionSnapshot
    {
        public string SessionId { get; set; }
        public string ProjectId { get; set; }
        public string RecommendedProposalId { get; set; }
        public string SelectedProposalId { get; set; }
        public WebSessionDecisionState FinalDecisionState { get; set; }
        public string ConfirmedCTA { get; set; }
        public string SuggestedNextAction { get; set; }
        public FollowUpPriority FollowUpPriority { get; set; }
        public string OutcomeSummary { get; set; }
        public string ClosingSummary { get; set; }
        public string ConfidenceLevel { get; set; }
        public string EngagementLabel { get; set; }
        public string QualityLabel { get; set; }
        public bool HasExportPayload { get; set; }
        public bool HasHandoffReport { get; set; }
        public bool HasShareableSummary { get; set; }
        public bool HasQualityAssessment { get; set; }
        public bool HasImprovementPlan { get; set; }
        public DateTime Timestamp { get; set; }
    }
}
