using CareFusion.Mosaic.Converters;
using CareFusion.Mosaic.Converters.Wwks2.Messages.Input;
using CareFusion.Mosaic.Interfaces.Messages.Common;

namespace CareFusion.Mosaic.Interfaces.Messages.Input
{
    public interface IInputRequest : IMessageBase, IMessageConversion
    {
        /// <summary>
        /// This flag identifies the stock input request as part of a stock delivery. "True" means that a stock delivery is
        /// taking place. The attribute DeliveryNumber in the element Pack should then contain the stock delivery number. Blank
        /// stock delivery numbers(e.g. "") are possible in some customer-specific scenarios "False" means that the stock input
        /// relates to a stock return
        /// </summary>
        bool IsNewDelivery { get; set; }

        /// <summary>
        /// This flag forces definition of the article as capable of automated handling after the pharmacy IT system has
        /// initially rejected stock input with the reason "RejectedNoPickingIndicator". This case occurs primarily on initial
        /// stocking of the automated storage and retrieval system
        /// </summary>
        bool SetPickingIndicator { get; set; }

        /// <summary>
        /// Gets or sets the input request article.
        /// </summary>
        InputRequestArticle Article { get; set; }

        InputComponent InputComponent { get; set; }
    }
}