namespace EventsAppQuest.Core
{
    /// <summary>
    /// Um passo da micro-narrativa contextual de um hotspot (ponto de venda imersivo).
    /// Usado pelo QuestHotspotStoryController; dados derivados da proposta (hotspot, passo guiado, estado de cena).
    /// </summary>
    public class QuestHotspotStoryStep
    {
        /// <summary>Identificador único do passo (ex.: hotspotId_step0).</summary>
        public string Id { get; set; }

        /// <summary>Id do hotspot a que pertence.</summary>
        public string HotspotId { get; set; }

        /// <summary>Título do passo.</summary>
        public string Title { get; set; }

        /// <summary>Resumo curto do passo.</summary>
        public string Summary { get; set; }

        /// <summary>Mensagem comercial para este passo.</summary>
        public string SalesMessage { get; set; }

        /// <summary>Ordem de exibição no micro-roteiro (0-based).</summary>
        public int StepOrder { get; set; }

        /// <summary>Se true, é um momento de upsell no roteiro.</summary>
        public bool IsUpsellMoment { get; set; }

        /// <summary>Id do passo guiado relacionado, se existir.</summary>
        public string RelatedGuidedStepId { get; set; }

        /// <summary>Id do estado de cena relacionado, se existir.</summary>
        public string RelatedSceneStateId { get; set; }

        /// <summary>Duração sugerida de foco neste passo em segundos (0 = não definido).</summary>
        public int SuggestedFocusSeconds { get; set; }
    }
}
