using System;
using EventsAppQuest.Domain.Enums;

namespace EventsAppQuest.Domain.Models
{
    /// <summary>
    /// Momento/fase do evento (recepção, cerimônia, jantar, etc.) — base da jornada da experiência.
    /// </summary>
    [Serializable]
    public class EventMomentPhase
    {
        /// <summary>Identificador único.</summary>
        public string Id { get; set; }

        /// <summary>Nome do momento (ex.: Recepção, Cerimônia).</summary>
        public string Name { get; set; }

        /// <summary>Descrição da fase.</summary>
        public string Description { get; set; }

        /// <summary>Tipo do momento (Reception, Ceremony, Dining, etc.).</summary>
        public EventMomentPhaseType PhaseType { get; set; }

        /// <summary>Ordem de exibição na jornada (menor = antes).</summary>
        public int DisplayOrder { get; set; }

        /// <summary>Se true, é um momento central do evento (não opcional).</summary>
        public bool IsCoreMoment { get; set; }
    }
}
