using System;
using System.Collections.Generic;

namespace EventsAppQuest.Domain.Models
{
    /// <summary>
    /// Briefing comercial do cliente e parâmetros do evento (perfil e preferências para personalização da proposta).
    /// </summary>
    [Serializable]
    public class ClientEventBrief
    {
        /// <summary>Nome do cliente.</summary>
        public string ClientName { get; set; }

        /// <summary>Nome do evento.</summary>
        public string EventName { get; set; }

        /// <summary>Número de convidados estimado.</summary>
        public int GuestCount { get; set; }

        /// <summary>Orçamento alvo estimado (valor em reais).</summary>
        public float EstimatedBudgetTarget { get; set; }

        /// <summary>Mood / atmosfera desejada (ex.: romântico, moderno, rústico).</summary>
        public string PreferredMood { get; set; }

        /// <summary>Cores preferidas (ex.: azul, branco, dourado).</summary>
        public List<string> PreferredColors { get; set; } = new List<string>();

        /// <summary>Elementos obrigatórios que o cliente quer na proposta.</summary>
        public List<string> MustHaveElements { get; set; } = new List<string>();

        /// <summary>Elementos que o cliente quer evitar.</summary>
        public List<string> AvoidElements { get; set; } = new List<string>();

        /// <summary>Observações gerais.</summary>
        public string Notes { get; set; }
    }
}
