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

namespace EVCB_OCPP.Packet20.DataTypes
{
    public class ComponentType
    {
        /// <summary>
        /// Name of the component. Name should be
        ///taken from the list of standardized component names
        ///whenever possible.Case Insensitive.strongly advised to
        ///use Camel Case.
        /// </summary>
        [StringLength(50, MinimumLength = 0)]
        [Required]
        public string Name { set; get; }


        /// <summary>
        /// Name of instance in case the component exists
        ///as multiple instances.Case Insensitive.strongly advised
        ///to use Camel Case.
        /// </summary>
        [StringLength(50, MinimumLength = 0)]
        public string Instance { set; get; }

        /// <summary>
        /// Specifies the EVSE when component is located
        ///  at EVSE level, also specifies the connector when
        ///component is located at Connector level.
        /// </summary>
        public EVSEType Evse { set; get; }


    }
}
