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 SalesTariffEntryType
    {
        /// <summary>
        /// Defines the price level of this SalesTariffEntry
        /// (referring to NumEPriceLevels). Small values for the
        ///  EPriceLevel represent a cheaper TariffEntry.Large values
        ///  for the EPriceLevel represent a more expensive
        ///  TariffEntry.
        /// </summary>
        public int? EPriceLevel { set; get; }

        /// <summary>
        /// Defines the time interval the SalesTariffEntry is
        ///valid for, based upon relative times
        /// </summary>
        [Required]
        public RelativeTimeIntervalType RelativeTimeInterval { set; get; }

        /// <summary>
        /// Defines additional means for further relative
        ///price information and/or alternative costs
        /// </summary>
        public ConsumptionCostType ConsumptionCost { set; get; }
    }
}
