using EVCB_OCPP.Packet20.DataTypes;
using EVCB_OCPP.Packet20.DataTypes.EnumTypes;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
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 ChangeAvailabilityRequest
    {
        /// <summary>
        /// This contains the type of availability change
        ///that the Charging Station should perform.
        /// </summary>
        [Required]
        [JsonConverter(typeof(StringEnumConverter))]
        public OperationalStatusEnumType OperationalStatus { set; get; }

        /// <summary>
        /// Contains Id’s to designate a specific
       /// EVSE/connector by index numbers.When omitted, the
       /// message refers to the Charging Station as a whole.
        /// </summary>
        public EVSEType Evse { set; get; }
    }
}
