using EVCB_OCPP.Packet20.DataTypes;
using EVCB_OCPP.Packet20.Utilites;
using Newtonsoft.Json;
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 NotifyEVChargingScheduleRequest
    {
        /// <summary>
        /// Periods contained in the charging profile are
        /// relative to this point in time
        /// </summary>
        [Required]
        [JsonConverter(typeof(UTCDateTimeConverter))]
        public DateTime TimeBase { set; get; }

        // <summary>
        /// Defines the EVSE and connector to which the
        /// EV is connected.EvseId may not be 0.
        /// </summary>
        [Required]
        public int EvseId { set; get; }

        // <summary>
        ///Planned energy consumption of the EV over
        ///time.Always relative to timeBase
        /// </summary>
        [Required]

        public ChargingScheduleType ChargingSchedule { set; get; }
    }
}
