using EVCB_OCPP.Packet20.DataTypes;
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 GetChargingProfilesRequest
    {
        /// <summary>
        /// Reference identification that is to be used by
        /// the Charging Station in the
        /// ReportChargingProfilesRequest when provided.
        /// </summary>
        [Required]
        public int RequestId { set; get; }

        /// <summary>
        /// For which EVSE installed charging profiles
        /// SHALL be reported.If 0, only charging profiles installed
        ///on the Charging Station itself(the grid connection)
        ///SHALL be reported.If omitted, all installed charging
        ///profiles SHALL be reported
        /// </summary>
        public int EvseId { set; get; }

        /// <summary>
        /// Specifies the charging profile
        /// </summary>
        [Required]
        public ChargingProfileCriterionType ChargingProfile { set; get; }
    }
}
