/// <summary>
        /// Create a new ChargingErrorNotification request.
        /// </summary>
        /// <param name="SessionId">The Hubject session identification, that identifies the charging process.</param>
        /// <param name="Identification">The authentication data used to authorize the user or the car.</param>
        /// <param name="EVSEId">The EVSE identification, that identifies the location of the charging process.</param>
        /// <param name="ErrorType">The error class.</param>
        ///
        /// <param name="CPOPartnerSessionId">An optional session identification assinged by the CPO partner.</param>
        /// <param name="EMPPartnerSessionId">An optional session identification assinged by the EMP partner.</param>
        /// <param name="ErrorAdditionalInfo">Additional information about the error.</param>
        /// <param name="CustomData">Optional customer specific data, e.g. in combination with custom parsers and serializers.</param>
        ///
        /// <param name="Timestamp">The optional timestamp of the request.</param>
        /// <param name="CancellationToken">An optional token to cancel this request.</param>
        /// <param name="EventTrackingId">An optional event tracking identification for correlating this request with other events.</param>
        /// <param name="RequestTimeout">The timeout for this request.</param>
        public ChargingErrorNotificationRequest(Session_Id SessionId,
                                                Identification Identification,
                                                EVSE_Id EVSEId,
                                                ErrorClassTypes ErrorType,

                                                CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                                EMPPartnerSession_Id?EMPPartnerSessionId = null,
                                                String ErrorAdditionalInfo = null,
                                                JObject CustomData         = null,

                                                DateTime?Timestamp = null,
                                                CancellationToken?CancellationToken = null,
                                                EventTracking_Id EventTrackingId    = null,
                                                TimeSpan?RequestTimeout             = null)

            : base(CustomData,
                   Timestamp,
                   CancellationToken,
                   EventTrackingId,
                   RequestTimeout)

        {
            this.Type           = ChargingNotificationTypes.End;
            this.SessionId      = SessionId;
            this.Identification = Identification;
            this.EVSEId         = EVSEId;
            this.ErrorType      = ErrorType;

            this.CPOPartnerSessionId = CPOPartnerSessionId;
            this.EMPPartnerSessionId = EMPPartnerSessionId;
            this.ErrorAdditionalInfo = ErrorAdditionalInfo;
        }
            SendChargingNotificationsError(this ICPOClient        CPOClient,
                                           Session_Id             SessionId,
                                           Identification         Identification,
                                           EVSE_Id                EVSEId,
                                           ErrorClassTypes        ErrorType,

                                           CPOPartnerSession_Id?  CPOPartnerSessionId   = null,
                                           EMPPartnerSession_Id?  EMPPartnerSessionId   = null,
                                           String                 ErrorAdditionalInfo   = null,
                                           JObject                CustomData            = null,

                                           DateTime?              Timestamp             = null,
                                           CancellationToken?     CancellationToken     = null,
                                           EventTracking_Id       EventTrackingId       = null,
                                           TimeSpan?              RequestTimeout        = null)


                => CPOClient.SendChargingErrorNotification(
                       new ChargingErrorNotificationRequest(
                           SessionId,
                           Identification,
                           EVSEId,
                           ErrorType,

                           CPOPartnerSessionId,
                           EMPPartnerSessionId,
                           ErrorAdditionalInfo,
                           CustomData,

                           Timestamp,
                           CancellationToken,
                           EventTrackingId,
                           RequestTimeout ?? CPOClient.RequestTimeout));