/// <summary>
        /// Create a new AuthorizeRemoteStart request.
        /// </summary>
        /// <param name="ProviderId">An e-mobility provider identification.</param>
        /// <param name="EVSEId">An EVSE identification.</param>
        /// <param name="Identification">An user or contract identification.</param>
        /// <param name="SessionId">An optional charging session identification.</param>
        /// <param name="CPOPartnerSessionId">An optional CPO partner session identification.</param>
        /// <param name="EMPPartnerSessionId">An optional EMP partner session identification.</param>
        /// <param name="PartnerProductId">An optional partner product identification.</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 AuthorizeRemoteStartRequest(Provider_Id ProviderId,
                                           EVSE_Id EVSEId,
                                           Identification Identification,
                                           Session_Id?SessionId = null,
                                           CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                           EMPPartnerSession_Id?EMPPartnerSessionId = null,
                                           PartnerProduct_Id?PartnerProductId       = null,
                                           JObject CustomData = null,

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

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

        {
            this.ProviderId          = ProviderId;
            this.EVSEId              = EVSEId;
            this.Identification      = Identification;
            this.SessionId           = SessionId;
            this.CPOPartnerSessionId = CPOPartnerSessionId;
            this.EMPPartnerSessionId = EMPPartnerSessionId;
            this.PartnerProductId    = PartnerProductId;
        }
        /// <summary>
        /// Create an AuthorizeRemoteReservationStop request.
        /// </summary>
        /// <param name="ProviderId">An e-mobility provider identification.</param>
        /// <param name="EVSEId">An EVSE identification.</param>
        /// <param name="SessionId">An charging session identification.</param>
        /// <param name="CPOPartnerSessionId">An optional CPO partner session identification.</param>
        /// <param name="EMPPartnerSessionId">An optional EMP partner session identification.</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 AuthorizeRemoteReservationStopRequest(Provider_Id ProviderId,
                                                     EVSE_Id EVSEId,
                                                     Session_Id SessionId,
                                                     CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                                     EMPPartnerSession_Id?EMPPartnerSessionId = null,
                                                     JObject CustomData = null,

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

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

        {
            this.ProviderId          = ProviderId;
            this.EVSEId              = EVSEId;
            this.SessionId           = SessionId;
            this.CPOPartnerSessionId = CPOPartnerSessionId;
            this.EMPPartnerSessionId = EMPPartnerSessionId;
        }
Beispiel #3
0
 /// <summary>
 /// Create a new EVSE status record.
 /// </summary>
 /// <param name="Id">The ID that identifies the charging spot.</param>
 /// <param name="Status">The status of the charging spot.</param>
 /// <param name="CustomData">Optional customer specific data, e.g. in combination with custom parsers and serializers.</param>
 public EVSEStatusRecord(EVSE_Id Id,
                         EVSEStatusTypes Status,
                         JObject CustomData = null)
 {
     this.Id         = Id;
     this.Status     = Status;
     this.CustomData = CustomData;
 }
Beispiel #4
0
        /// <summary>
        /// Create a new ChargingNotificationsEnd 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="ChargingStart">The timestamp when the charging process started.</param>
        /// <param name="ChargingEnd">The timestamp when the charging process stopped.</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="SessionStart">An optional timestamp when the charging session started.</param>
        /// <param name="SessionEnd">An optional timestamp when the charging session stopped.</param>
        /// <param name="ConsumedEnergy">The optional consumed energy.</param>
        /// <param name="MeterValueStart">An optional starting value of the energy meter [kWh].</param>
        /// <param name="MeterValueEnd">An optional ending value of the energy meter [kWh].</param>
        /// <param name="MeterValuesInBetween">An optional enumeration of meter values during the charging session.</param>
        /// <param name="OperatorId">An optional operator identification of the hub operator.</param>
        /// <param name="PartnerProductId">An optional pricing product name (for identifying a tariff) that must be unique.</param>
        /// <param name="PenaltyTimeStart">An optional timestamp when the penalty time start after the grace period.</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 ChargingEndNotificationRequest(Session_Id SessionId,
                                              Identification Identification,
                                              EVSE_Id EVSEId,
                                              DateTime ChargingStart,
                                              DateTime ChargingEnd,

                                              CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                              EMPPartnerSession_Id?EMPPartnerSessionId = null,
                                              DateTime?SessionStart   = null,
                                              DateTime?SessionEnd     = null,
                                              Decimal?ConsumedEnergy  = null,
                                              Decimal?MeterValueStart = null,
                                              Decimal?MeterValueEnd   = null,
                                              IEnumerable <Decimal> MeterValuesInBetween = null,
                                              Operator_Id?OperatorId             = null,
                                              PartnerProduct_Id?PartnerProductId = null,
                                              DateTime?PenaltyTimeStart          = 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.ChargingStart  = ChargingStart;
            this.ChargingEnd    = ChargingEnd;

            this.CPOPartnerSessionId  = CPOPartnerSessionId;
            this.EMPPartnerSessionId  = EMPPartnerSessionId;
            this.SessionStart         = SessionStart;
            this.SessionEnd           = SessionEnd;
            this.ConsumedEnergy       = ConsumedEnergy;
            this.MeterValueStart      = MeterValueStart;
            this.MeterValueEnd        = MeterValueEnd;
            this.MeterValuesInBetween = MeterValuesInBetween;
            this.OperatorId           = OperatorId;
            this.PartnerProductId     = PartnerProductId;
            this.PenaltyTimeStart     = PenaltyTimeStart;
        }
Beispiel #5
0
        /// <summary>
        /// Create a new ChargingStartNotification 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="ChargingStart">The timestamp when the charging process started.</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="SessionStart">An optional timestamp when the charging session started.</param>
        /// <param name="MeterValueStart">An optional starting value of the energy meter [kWh].</param>
        /// <param name="OperatorId">An optional operator identification of the hub operator.</param>
        /// <param name="PartnerProductId">An optional pricing product name (for identifying a tariff) that must be unique.</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 ChargingStartNotificationRequest(Session_Id SessionId,
                                                Identification Identification,
                                                EVSE_Id EVSEId,
                                                DateTime ChargingStart,

                                                CPOPartnerSession_Id?CPOPartnerSessionId = null,
                                                EMPPartnerSession_Id?EMPPartnerSessionId = null,
                                                DateTime?SessionStart              = null,
                                                Decimal?MeterValueStart            = null,
                                                Operator_Id?OperatorId             = null,
                                                PartnerProduct_Id?PartnerProductId = 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.Start;
            this.SessionId      = SessionId;
            this.Identification = Identification;
            this.EVSEId         = EVSEId;
            this.ChargingStart  = ChargingStart;

            this.CPOPartnerSessionId = CPOPartnerSessionId;
            this.EMPPartnerSessionId = EMPPartnerSessionId;
            this.SessionStart        = SessionStart;
            this.MeterValueStart     = MeterValueStart;
            this.OperatorId          = OperatorId;
            this.PartnerProductId    = PartnerProductId;
        }