using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EVCB_OCPP.Packet20.Messages
{
    public class DataTransferRequest
    {
        /// <summary>
        /// May be used to indicate a specific message or
        ///implementation.
        /// </summary>
        [StringLength(50, MinimumLength = 0)]
        public string MessageId { set; get; }

        /// <summary>
        /// Data without specified length or format. This
        ///  needs to be decided by both parties(Open to
        ///implementation).
        /// </summary>
        public object Data { set; get; }

        /// <summary>
        /// This identifies the Vendor specific
        /// implementation
        /// </summary>
        [Required]
        [StringLength(255, MinimumLength = 0)]
        public string VendorId { set; get; }
    }
}
