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 NotifyCustomerInformationRequest
    {
        /// <summary>
        /// Part of) the requested data. No format
        /// specified in which the data is returned.Should be human
        /// readable.
        /// </summary>
        [StringLength(512, MinimumLength = 0)]
        [Required]
        public string Data { set; get; }

        /// <summary>
        /// “to be continued” indicator. Indicates whether
        // another part of the monitoringData follows in an
        ///upcoming notifyMonitoringReportRequest message.
        /// Default value when omitted is false
        /// </summary>
        public bool? Tbc { set; get; }

        /// <summary>
        /// Sequence number of this message. First
        ///message starts at 0
        /// </summary>
        [Required]
        public int SeqNo { set; get; }

        /// <summary>
        /// Timestamp of the moment this message was
        ///generated at the Charging Station.
        /// </summary>
        [Required]
        [JsonConverter(typeof(UTCDateTimeConverter))]
        public DateTime GeneratedAt { set; get; }

        /// <summary>
        /// The Id of the request.
        /// </summary>
        [Required]
        public int RequestId { set; get; }


    }
}