using System;
using System.Collections.Generic;

namespace EventsAppQuest.Web.Producer.Domain
{
    /// <summary>
    /// Estado de prontidão do pedido para preparação e execução operacional.
    /// </summary>
    [Serializable]
    public class ProducerExecutionReadinessState
    {
        public string ProducerOrderId;
        public bool IsScopeConfirmed;
        public bool IsProducerAccepted;
        public bool HasPendingClarifications;
        public bool HasPendingRevisions;
        public bool IsReadyForPreparation;
        public bool IsReadyForExecution;
        public List<ProducerExecutionBlockingItem> BlockingItems = new List<ProducerExecutionBlockingItem>();
        public string ReadinessSummary;
        public DateTime? LastEvaluatedAt;
        /// <summary>Id da revisão de escopo vigente (confirmada), se existir.</summary>
        public string ActiveScopeRevisionId;
    }
}
