/* * OCPP.Core - https://github.com/dallmann-consulting/OCPP.Core * Copyright (C) 2020-2021 dallmann consulting GmbH. * All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ namespace OCPP.Core.Server.Messages_OCPP20 { #pragma warning disable // Disable all warnings /// This contains whether the Charging Station has been registered /// within the CSMS. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public enum RegistrationStatusEnumType { [System.Runtime.Serialization.EnumMember(Value = @"Accepted")] Accepted = 0, [System.Runtime.Serialization.EnumMember(Value = @"Pending")] Pending = 1, [System.Runtime.Serialization.EnumMember(Value = @"Rejected")] Rejected = 2, } /// Element providing more information about the status. /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public partial class StatusInfoType { [Newtonsoft.Json.JsonProperty("customData", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public CustomDataType CustomData { get; set; } /// A predefined code for the reason why the status is returned in this response. The string is case-insensitive. /// [Newtonsoft.Json.JsonProperty("reasonCode", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [System.ComponentModel.DataAnnotations.StringLength(20)] public string ReasonCode { get; set; } /// Additional text to provide detailed information. /// [Newtonsoft.Json.JsonProperty("additionalInfo", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] [System.ComponentModel.DataAnnotations.StringLength(512)] public string AdditionalInfo { get; set; } } [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.3.1.0 (Newtonsoft.Json v9.0.0.0)")] public partial class BootNotificationResponse { [Newtonsoft.Json.JsonProperty("customData", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public CustomDataType CustomData { get; set; } /// This contains the CSMS’s current time. /// [Newtonsoft.Json.JsonProperty("currentTime", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] public System.DateTimeOffset CurrentTime { get; set; } /// When <<cmn_registrationstatusenumtype,Status>> is Accepted, this contains the heartbeat interval in seconds. If the CSMS returns something other than Accepted, the value of the interval field indicates the minimum wait time before sending a next BootNotification request. /// [Newtonsoft.Json.JsonProperty("interval", Required = Newtonsoft.Json.Required.Always)] public int Interval { get; set; } [Newtonsoft.Json.JsonProperty("status", Required = Newtonsoft.Json.Required.Always)] [System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)] [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))] public RegistrationStatusEnumType Status { get; set; } [Newtonsoft.Json.JsonProperty("statusInfo", Required = Newtonsoft.Json.Required.DisallowNull, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)] public StatusInfoType StatusInfo { get; set; } } }