messages

package
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 18, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACChargingParametersType

type ACChargingParametersType struct {
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EnergyAmount decimal.Decimal `json:"energyAmount" validate:"required"`
	EVMaxCurrent decimal.Decimal `json:"evMaxCurrent" validate:"required"`
	EVMaxVoltage decimal.Decimal `json:"evMaxVoltage" validate:"required"`
	EVMinCurrent decimal.Decimal `json:"evMinCurrent" validate:"required"`
}

type AFRRSignalRequest

type AFRRSignalRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Signal     int32           `json:"signal" validate:"required"`
	Timestamp  time.Time       `json:"timestamp" validate:"required"`
}

type AFRRSignalResponse

type AFRRSignalResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type APNType

type APNType struct {
	Apn                     string          `json:"apn" validate:"required,max=2000"`
	ApnAuthentication       string          `json:"apnAuthentication" validate:"required"`
	ApnPassword             *string         `json:"apnPassword,omitempty" validate:"omitempty,max=64"`
	ApnUserName             *string         `json:"apnUserName,omitempty" validate:"omitempty,max=50"`
	CustomData              *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	PreferredNetwork        *string         `json:"preferredNetwork,omitempty" validate:"omitempty,max=6"`
	SimPin                  *int32          `json:"simPin,omitempty" validate:"omitempty"`
	UseOnlyPreferredNetwork *bool           `json:"useOnlyPreferredNetwork,omitempty" validate:"omitempty"`
}

type AbsolutePriceScheduleType

type AbsolutePriceScheduleType struct {
	AdditionalSelectedServices []AdditionalSelectedServicesType `json:"additionalSelectedServices,omitempty" validate:"omitempty"`
	Currency                   string                           `json:"currency" validate:"required,max=3"`
	CustomData                 *CustomDataType                  `json:"customData,omitempty" validate:"omitempty"`
	Language                   string                           `json:"language" validate:"required,max=8"`
	MaximumCost                *RationalNumberType              `json:"maximumCost,omitempty" validate:"omitempty"`
	MinimumCost                *RationalNumberType              `json:"minimumCost,omitempty" validate:"omitempty"`
	OverstayRuleList           *OverstayRuleListType            `json:"overstayRuleList,omitempty" validate:"omitempty"`
	PriceAlgorithm             string                           `json:"priceAlgorithm" validate:"required,max=2000"`
	PriceRuleStacks            []PriceRuleStackType             `json:"priceRuleStacks" validate:"required"`
	PriceScheduleDescription   *string                          `json:"priceScheduleDescription,omitempty" validate:"omitempty,max=160"`
	PriceScheduleID            int32                            `json:"priceScheduleID" validate:"required"`
	TaxRules                   []TaxRuleType                    `json:"taxRules,omitempty" validate:"omitempty"`
	TimeAnchor                 time.Time                        `json:"timeAnchor" validate:"required"`
}

type AdditionalInfoType

type AdditionalInfoType struct {
	AdditionalIDToken string          `json:"additionalIdToken" validate:"required,max=255"`
	CustomData        *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Type              string          `json:"type" validate:"required,max=50"`
}

type AdditionalSelectedServicesType

type AdditionalSelectedServicesType struct {
	CustomData  *CustomDataType    `json:"customData,omitempty" validate:"omitempty"`
	ServiceFee  RationalNumberType `json:"serviceFee" validate:"required"`
	ServiceName string             `json:"serviceName" validate:"required,max=80"`
}

type AddressType

type AddressType struct {
	Address1   string          `json:"address1" validate:"required,max=100"`
	Address2   *string         `json:"address2,omitempty" validate:"omitempty,max=100"`
	City       string          `json:"city" validate:"required,max=100"`
	Country    string          `json:"country" validate:"required,max=50"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Name       string          `json:"name" validate:"required,max=50"`
	PostalCode *string         `json:"postalCode,omitempty" validate:"omitempty,max=20"`
}

type AdjustPeriodicEventStreamRequest

type AdjustPeriodicEventStreamRequest struct {
	CustomData *CustomDataType               `json:"customData,omitempty" validate:"omitempty"`
	ID         int32                         `json:"id" validate:"required"`
	Params     PeriodicEventStreamParamsType `json:"params" validate:"required"`
}

type AdjustPeriodicEventStreamResponse

type AdjustPeriodicEventStreamResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type AuthorizationData

type AuthorizationData struct {
	CustomData  *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	IDToken     IdTokenType      `json:"idToken" validate:"required"`
	IDTokenInfo *IdTokenInfoType `json:"idTokenInfo,omitempty" validate:"omitempty"`
}

type AuthorizeRequest

type AuthorizeRequest struct {
	Certificate                 *string               `json:"certificate,omitempty" validate:"omitempty,max=10000"`
	CustomData                  *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	IDToken                     IdTokenType           `json:"idToken" validate:"required"`
	Iso15118CertificateHashData []OCSPRequestDataType `json:"iso15118CertificateHashData,omitempty" validate:"omitempty"`
}

type AuthorizeResponse

type AuthorizeResponse struct {
	AllowedEnergyTransfer []string        `json:"allowedEnergyTransfer,omitempty" validate:"omitempty"`
	CertificateStatus     *string         `json:"certificateStatus,omitempty" validate:"omitempty"`
	CustomData            *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	IDTokenInfo           IdTokenInfoType `json:"idTokenInfo" validate:"required"`
	Tariff                *TariffType     `json:"tariff,omitempty" validate:"omitempty"`
}

type BatteryDataType

type BatteryDataType struct {
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID         int32           `json:"evseId" validate:"required"`
	ProductionDate *time.Time      `json:"productionDate,omitempty" validate:"omitempty"`
	SerialNumber   string          `json:"serialNumber" validate:"required,max=50"`
	SoC            decimal.Decimal `json:"soC" validate:"required"`
	SoH            decimal.Decimal `json:"soH" validate:"required"`
	VendorInfo     *string         `json:"vendorInfo,omitempty" validate:"omitempty,max=500"`
}

type BatterySwapRequest

type BatterySwapRequest struct {
	BatteryData []BatteryDataType `json:"batteryData" validate:"required"`
	CustomData  *CustomDataType   `json:"customData,omitempty" validate:"omitempty"`
	EventType   string            `json:"eventType" validate:"required"`
	IDToken     IdTokenType       `json:"idToken" validate:"required"`
	RequestID   int32             `json:"requestId" validate:"required"`
}

type BatterySwapResponse

type BatterySwapResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type BootNotificationRequest

type BootNotificationRequest struct {
	ChargingStation ChargingStationType `json:"chargingStation" validate:"required"`
	CustomData      *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	Reason          string              `json:"reason" validate:"required"`
}

type BootNotificationResponse

type BootNotificationResponse struct {
	CurrentTime time.Time       `json:"currentTime" validate:"required"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Interval    int32           `json:"interval" validate:"required"`
	Status      string          `json:"status" validate:"required"`
	StatusInfo  *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type CancelReservationRequest

type CancelReservationRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ReservationID int32           `json:"reservationId" validate:"required"`
}

type CancelReservationResponse

type CancelReservationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type CertificateHashDataChainType

type CertificateHashDataChainType struct {
	CertificateHashData      CertificateHashDataType   `json:"certificateHashData" validate:"required"`
	CertificateType          string                    `json:"certificateType" validate:"required"`
	ChildCertificateHashData []CertificateHashDataType `json:"childCertificateHashData,omitempty" validate:"omitempty"`
	CustomData               *CustomDataType           `json:"customData,omitempty" validate:"omitempty"`
}

type CertificateHashDataType

type CertificateHashDataType struct {
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	HashAlgorithm  string          `json:"hashAlgorithm" validate:"required"`
	IssuerKeyHash  string          `json:"issuerKeyHash" validate:"required,max=128"`
	IssuerNameHash string          `json:"issuerNameHash" validate:"required,max=128"`
	SerialNumber   string          `json:"serialNumber" validate:"required,max=40"`
}

type CertificateSignedRequest

type CertificateSignedRequest struct {
	CertificateChain string          `json:"certificateChain" validate:"required,max=10000"`
	CertificateType  *string         `json:"certificateType,omitempty" validate:"omitempty"`
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	RequestID        *int32          `json:"requestId,omitempty" validate:"omitempty"`
}

type CertificateSignedResponse

type CertificateSignedResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type CertificateStatusRequestInfoType

type CertificateStatusRequestInfoType struct {
	CertificateHashData CertificateHashDataType `json:"certificateHashData" validate:"required"`
	CustomData          *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	Source              string                  `json:"source" validate:"required"`
	Urls                []string                `json:"urls" validate:"required"`
}

type CertificateStatusType

type CertificateStatusType struct {
	CertificateHashData CertificateHashDataType `json:"certificateHashData" validate:"required"`
	CustomData          *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	NextUpdate          time.Time               `json:"nextUpdate" validate:"required"`
	Source              string                  `json:"source" validate:"required"`
	Status              string                  `json:"status" validate:"required"`
}

type ChangeAvailabilityRequest

type ChangeAvailabilityRequest struct {
	CustomData        *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSE              *EVSEType       `json:"evse,omitempty" validate:"omitempty"`
	OperationalStatus string          `json:"operationalStatus" validate:"required"`
}

type ChangeAvailabilityResponse

type ChangeAvailabilityResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ChangeTransactionTariffRequest

type ChangeTransactionTariffRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Tariff        TariffType      `json:"tariff" validate:"required"`
	TransactionID string          `json:"transactionId" validate:"required,max=36"`
}

type ChangeTransactionTariffResponse

type ChangeTransactionTariffResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ChargingLimitType

type ChargingLimitType struct {
	ChargingLimitSource string          `json:"chargingLimitSource" validate:"required,max=20"`
	CustomData          *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	IsGridCritical      *bool           `json:"isGridCritical,omitempty" validate:"omitempty"`
	IsLocalGeneration   *bool           `json:"isLocalGeneration,omitempty" validate:"omitempty"`
}

type ChargingNeedsType

type ChargingNeedsType struct {
	ACChargingParameters    *ACChargingParametersType  `json:"acChargingParameters,omitempty" validate:"omitempty"`
	AvailableEnergyTransfer []string                   `json:"availableEnergyTransfer,omitempty" validate:"omitempty"`
	ControlMode             *string                    `json:"controlMode,omitempty" validate:"omitempty"`
	CustomData              *CustomDataType            `json:"customData,omitempty" validate:"omitempty"`
	DCChargingParameters    *DCChargingParametersType  `json:"dcChargingParameters,omitempty" validate:"omitempty"`
	DepartureTime           *time.Time                 `json:"departureTime,omitempty" validate:"omitempty"`
	DerChargingParameters   *DERChargingParametersType `json:"derChargingParameters,omitempty" validate:"omitempty"`
	EVEnergyOffer           *EVEnergyOfferType         `json:"evEnergyOffer,omitempty" validate:"omitempty"`
	MobilityNeedsMode       *string                    `json:"mobilityNeedsMode,omitempty" validate:"omitempty"`
	RequestedEnergyTransfer string                     `json:"requestedEnergyTransfer" validate:"required"`
	V2xChargingParameters   *V2XChargingParametersType `json:"v2xChargingParameters,omitempty" validate:"omitempty"`
}

type ChargingPeriodType

type ChargingPeriodType struct {
	CustomData  *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	Dimensions  []CostDimensionType `json:"dimensions,omitempty" validate:"omitempty"`
	StartPeriod time.Time           `json:"startPeriod" validate:"required"`
	TariffID    *string             `json:"tariffId,omitempty" validate:"omitempty,max=60"`
}

type ChargingProfileCriterionType

type ChargingProfileCriterionType struct {
	ChargingLimitSource    []string        `json:"chargingLimitSource,omitempty" validate:"omitempty"`
	ChargingProfileID      []int32         `json:"chargingProfileId,omitempty" validate:"omitempty"`
	ChargingProfilePurpose *string         `json:"chargingProfilePurpose,omitempty" validate:"omitempty"`
	CustomData             *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	StackLevel             *int32          `json:"stackLevel,omitempty" validate:"omitempty"`
}

type ChargingProfileType

type ChargingProfileType struct {
	ChargingProfileKind         string                 `json:"chargingProfileKind" validate:"required"`
	ChargingProfilePurpose      string                 `json:"chargingProfilePurpose" validate:"required"`
	ChargingSchedule            []ChargingScheduleType `json:"chargingSchedule" validate:"required"`
	CustomData                  *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	DynUpdateInterval           *int32                 `json:"dynUpdateInterval,omitempty" validate:"omitempty"`
	DynUpdateTime               *time.Time             `json:"dynUpdateTime,omitempty" validate:"omitempty"`
	ID                          int32                  `json:"id" validate:"required"`
	InvalidAfterOfflineDuration *bool                  `json:"invalidAfterOfflineDuration,omitempty" validate:"omitempty"`
	MaxOfflineDuration          *int32                 `json:"maxOfflineDuration,omitempty" validate:"omitempty"`
	PriceScheduleSignature      *string                `json:"priceScheduleSignature,omitempty" validate:"omitempty,max=256"`
	RecurrencyKind              *string                `json:"recurrencyKind,omitempty" validate:"omitempty"`
	StackLevel                  int32                  `json:"stackLevel" validate:"required"`
	TransactionID               *string                `json:"transactionId,omitempty" validate:"omitempty,max=36"`
	ValidFrom                   *time.Time             `json:"validFrom,omitempty" validate:"omitempty"`
	ValidTo                     *time.Time             `json:"validTo,omitempty" validate:"omitempty"`
}

type ChargingSchedulePeriodType

type ChargingSchedulePeriodType struct {
	CustomData             *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	DischargeLimit         *decimal.Decimal         `json:"dischargeLimit,omitempty" validate:"omitempty"`
	DischargeLimit_L2      *decimal.Decimal         `json:"dischargeLimit_L2,omitempty" validate:"omitempty"`
	DischargeLimit_L3      *decimal.Decimal         `json:"dischargeLimit_L3,omitempty" validate:"omitempty"`
	EVSESleep              *bool                    `json:"evseSleep,omitempty" validate:"omitempty"`
	Limit                  *decimal.Decimal         `json:"limit,omitempty" validate:"omitempty"`
	Limit_L2               *decimal.Decimal         `json:"limit_L2,omitempty" validate:"omitempty"`
	Limit_L3               *decimal.Decimal         `json:"limit_L3,omitempty" validate:"omitempty"`
	NumberPhases           *int32                   `json:"numberPhases,omitempty" validate:"omitempty"`
	OperationMode          *string                  `json:"operationMode,omitempty" validate:"omitempty"`
	PhaseToUse             *int32                   `json:"phaseToUse,omitempty" validate:"omitempty"`
	PreconditioningRequest *bool                    `json:"preconditioningRequest,omitempty" validate:"omitempty"`
	Setpoint               *decimal.Decimal         `json:"setpoint,omitempty" validate:"omitempty"`
	SetpointReactive       *decimal.Decimal         `json:"setpointReactive,omitempty" validate:"omitempty"`
	SetpointReactive_L2    *decimal.Decimal         `json:"setpointReactive_L2,omitempty" validate:"omitempty"`
	SetpointReactive_L3    *decimal.Decimal         `json:"setpointReactive_L3,omitempty" validate:"omitempty"`
	Setpoint_L2            *decimal.Decimal         `json:"setpoint_L2,omitempty" validate:"omitempty"`
	Setpoint_L3            *decimal.Decimal         `json:"setpoint_L3,omitempty" validate:"omitempty"`
	StartPeriod            int32                    `json:"startPeriod" validate:"required"`
	V2xBaseline            *decimal.Decimal         `json:"v2xBaseline,omitempty" validate:"omitempty"`
	V2xFreqWattCurve       []V2XFreqWattPointType   `json:"v2xFreqWattCurve,omitempty" validate:"omitempty"`
	V2xSignalWattCurve     []V2XSignalWattPointType `json:"v2xSignalWattCurve,omitempty" validate:"omitempty"`
}

type ChargingScheduleType

type ChargingScheduleType struct {
	AbsolutePriceSchedule  *AbsolutePriceScheduleType   `json:"absolutePriceSchedule,omitempty" validate:"omitempty"`
	ChargingRateUnit       string                       `json:"chargingRateUnit" validate:"required"`
	ChargingSchedulePeriod []ChargingSchedulePeriodType `json:"chargingSchedulePeriod" validate:"required"`
	CustomData             *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
	DigestValue            *string                      `json:"digestValue,omitempty" validate:"omitempty,max=88"`
	Duration               *int32                       `json:"duration,omitempty" validate:"omitempty"`
	ID                     int32                        `json:"id" validate:"required"`
	LimitAtSoC             *LimitAtSoCType              `json:"limitAtSoC,omitempty" validate:"omitempty"`
	MinChargingRate        *decimal.Decimal             `json:"minChargingRate,omitempty" validate:"omitempty"`
	PowerTolerance         *decimal.Decimal             `json:"powerTolerance,omitempty" validate:"omitempty"`
	PriceLevelSchedule     *PriceLevelScheduleType      `json:"priceLevelSchedule,omitempty" validate:"omitempty"`
	RandomizedDelay        *int32                       `json:"randomizedDelay,omitempty" validate:"omitempty"`
	SalesTariff            *SalesTariffType             `json:"salesTariff,omitempty" validate:"omitempty"`
	SignatureID            *int32                       `json:"signatureId,omitempty" validate:"omitempty"`
	StartSchedule          *time.Time                   `json:"startSchedule,omitempty" validate:"omitempty"`
	UseLocalTime           *bool                        `json:"useLocalTime,omitempty" validate:"omitempty"`
}

type ChargingScheduleUpdateType

type ChargingScheduleUpdateType struct {
	CustomData          *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	DischargeLimit      *decimal.Decimal `json:"dischargeLimit,omitempty" validate:"omitempty"`
	DischargeLimit_L2   *decimal.Decimal `json:"dischargeLimit_L2,omitempty" validate:"omitempty"`
	DischargeLimit_L3   *decimal.Decimal `json:"dischargeLimit_L3,omitempty" validate:"omitempty"`
	Limit               *decimal.Decimal `json:"limit,omitempty" validate:"omitempty"`
	Limit_L2            *decimal.Decimal `json:"limit_L2,omitempty" validate:"omitempty"`
	Limit_L3            *decimal.Decimal `json:"limit_L3,omitempty" validate:"omitempty"`
	Setpoint            *decimal.Decimal `json:"setpoint,omitempty" validate:"omitempty"`
	SetpointReactive    *decimal.Decimal `json:"setpointReactive,omitempty" validate:"omitempty"`
	SetpointReactive_L2 *decimal.Decimal `json:"setpointReactive_L2,omitempty" validate:"omitempty"`
	SetpointReactive_L3 *decimal.Decimal `json:"setpointReactive_L3,omitempty" validate:"omitempty"`
	Setpoint_L2         *decimal.Decimal `json:"setpoint_L2,omitempty" validate:"omitempty"`
	Setpoint_L3         *decimal.Decimal `json:"setpoint_L3,omitempty" validate:"omitempty"`
}

type ChargingStationType

type ChargingStationType struct {
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	FirmwareVersion *string         `json:"firmwareVersion,omitempty" validate:"omitempty,max=50"`
	Model           string          `json:"model" validate:"required,max=20"`
	Modem           *ModemType      `json:"modem,omitempty" validate:"omitempty"`
	SerialNumber    *string         `json:"serialNumber,omitempty" validate:"omitempty,max=25"`
	VendorName      string          `json:"vendorName" validate:"required,max=50"`
}

type ClearCacheRequest

type ClearCacheRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ClearCacheResponse

type ClearCacheResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ClearChargingProfileRequest

type ClearChargingProfileRequest struct {
	ChargingProfileCriteria *ClearChargingProfileType `json:"chargingProfileCriteria,omitempty" validate:"omitempty"`
	ChargingProfileID       *int32                    `json:"chargingProfileId,omitempty" validate:"omitempty"`
	CustomData              *CustomDataType           `json:"customData,omitempty" validate:"omitempty"`
}

type ClearChargingProfileResponse

type ClearChargingProfileResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ClearChargingProfileType

type ClearChargingProfileType struct {
	ChargingProfilePurpose *string         `json:"chargingProfilePurpose,omitempty" validate:"omitempty"`
	CustomData             *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID                 *int32          `json:"evseId,omitempty" validate:"omitempty"`
	StackLevel             *int32          `json:"stackLevel,omitempty" validate:"omitempty"`
}

type ClearDERControlRequest

type ClearDERControlRequest struct {
	ControlID   *string         `json:"controlId,omitempty" validate:"omitempty,max=36"`
	ControlType *string         `json:"controlType,omitempty" validate:"omitempty"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	IsDefault   bool            `json:"isDefault"`
}

type ClearDERControlResponse

type ClearDERControlResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ClearDisplayMessageRequest

type ClearDisplayMessageRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         int32           `json:"id" validate:"required"`
}

type ClearDisplayMessageResponse

type ClearDisplayMessageResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ClearMonitoringResultType

type ClearMonitoringResultType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         int32           `json:"id" validate:"required"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ClearTariffsRequest

type ClearTariffsRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     *int32          `json:"evseId,omitempty" validate:"omitempty"`
	TariffIds  []string        `json:"tariffIds,omitempty" validate:"omitempty"`
}

type ClearTariffsResponse

type ClearTariffsResponse struct {
	ClearTariffsResult []ClearTariffsResultType `json:"clearTariffsResult" validate:"required"`
	CustomData         *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
}

type ClearTariffsResultType

type ClearTariffsResultType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
	TariffID   *string         `json:"tariffId,omitempty" validate:"omitempty,max=60"`
}

type ClearVariableMonitoringRequest

type ClearVariableMonitoringRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         []int32         `json:"id" validate:"required"`
}

type ClearVariableMonitoringResponse

type ClearVariableMonitoringResponse struct {
	ClearMonitoringResult []ClearMonitoringResultType `json:"clearMonitoringResult" validate:"required"`
	CustomData            *CustomDataType             `json:"customData,omitempty" validate:"omitempty"`
}

type ClearedChargingLimitRequest

type ClearedChargingLimitRequest struct {
	ChargingLimitSource string          `json:"chargingLimitSource" validate:"required,max=20"`
	CustomData          *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID              *int32          `json:"evseId,omitempty" validate:"omitempty"`
}

type ClearedChargingLimitResponse

type ClearedChargingLimitResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ClosePeriodicEventStreamRequest

type ClosePeriodicEventStreamRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         int32           `json:"id" validate:"required"`
}

type ClosePeriodicEventStreamResponse

type ClosePeriodicEventStreamResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ComponentType

type ComponentType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSE       *EVSEType       `json:"evse,omitempty" validate:"omitempty"`
	Instance   *string         `json:"instance,omitempty" validate:"omitempty,max=50"`
	Name       string          `json:"name" validate:"required,max=50"`
}

type ComponentVariableType

type ComponentVariableType struct {
	Component  ComponentType   `json:"component" validate:"required"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Variable   *VariableType   `json:"variable,omitempty" validate:"omitempty"`
}

type CompositeScheduleType

type CompositeScheduleType struct {
	ChargingRateUnit       string                       `json:"chargingRateUnit" validate:"required"`
	ChargingSchedulePeriod []ChargingSchedulePeriodType `json:"chargingSchedulePeriod" validate:"required"`
	CustomData             *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
	Duration               int32                        `json:"duration" validate:"required"`
	EVSEID                 int32                        `json:"evseId" validate:"required"`
	ScheduleStart          time.Time                    `json:"scheduleStart" validate:"required"`
}

type ConstantStreamDataType

type ConstantStreamDataType struct {
	CustomData           *CustomDataType               `json:"customData,omitempty" validate:"omitempty"`
	ID                   int32                         `json:"id" validate:"required"`
	Params               PeriodicEventStreamParamsType `json:"params" validate:"required"`
	VariableMonitoringID int32                         `json:"variableMonitoringId" validate:"required"`
}

type ConsumptionCostType

type ConsumptionCostType struct {
	Cost       []CostType      `json:"cost" validate:"required"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	StartValue decimal.Decimal `json:"startValue" validate:"required"`
}

type CostDetailsType

type CostDetailsType struct {
	ChargingPeriods    []ChargingPeriodType `json:"chargingPeriods,omitempty" validate:"omitempty"`
	CustomData         *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	FailureReason      *string              `json:"failureReason,omitempty" validate:"omitempty,max=500"`
	FailureToCalculate *bool                `json:"failureToCalculate,omitempty" validate:"omitempty"`
	TotalCost          TotalCostType        `json:"totalCost" validate:"required"`
	TotalUsage         TotalUsageType       `json:"totalUsage" validate:"required"`
}

type CostDimensionType

type CostDimensionType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Type       string          `json:"type" validate:"required"`
	Volume     decimal.Decimal `json:"volume" validate:"required"`
}

type CostType

type CostType struct {
	Amount           int32           `json:"amount" validate:"required"`
	AmountMultiplier *int32          `json:"amountMultiplier,omitempty" validate:"omitempty"`
	CostKind         string          `json:"costKind" validate:"required"`
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type CostUpdatedRequest

type CostUpdatedRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TotalCost     decimal.Decimal `json:"totalCost" validate:"required"`
	TransactionID string          `json:"transactionId" validate:"required,max=36"`
}

type CostUpdatedResponse

type CostUpdatedResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type CustomDataType

type CustomDataType struct {
	VendorID string `json:"vendorId" validate:"required,max=255"`
}

type CustomerInformationRequest

type CustomerInformationRequest struct {
	Clear               bool                     `json:"clear"`
	CustomData          *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	CustomerCertificate *CertificateHashDataType `json:"customerCertificate,omitempty" validate:"omitempty"`
	CustomerIdentifier  *string                  `json:"customerIdentifier,omitempty" validate:"omitempty,max=64"`
	IDToken             *IdTokenType             `json:"idToken,omitempty" validate:"omitempty"`
	Report              bool                     `json:"report"`
	RequestID           int32                    `json:"requestId" validate:"required"`
}

type CustomerInformationResponse

type CustomerInformationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type DCChargingParametersType

type DCChargingParametersType struct {
	BulkSoC          *int32           `json:"bulkSoC,omitempty" validate:"omitempty"`
	CustomData       *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EnergyAmount     *decimal.Decimal `json:"energyAmount,omitempty" validate:"omitempty"`
	EVEnergyCapacity *decimal.Decimal `json:"evEnergyCapacity,omitempty" validate:"omitempty"`
	EVMaxCurrent     decimal.Decimal  `json:"evMaxCurrent" validate:"required"`
	EVMaxPower       *decimal.Decimal `json:"evMaxPower,omitempty" validate:"omitempty"`
	EVMaxVoltage     decimal.Decimal  `json:"evMaxVoltage" validate:"required"`
	FullSoC          *int32           `json:"fullSoC,omitempty" validate:"omitempty"`
	StateOfCharge    *int32           `json:"stateOfCharge,omitempty" validate:"omitempty"`
}

type DERChargingParametersType

type DERChargingParametersType struct {
	CustomData                             *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EVDurationLevel1DCInjection            *decimal.Decimal `json:"evDurationLevel1DCInjection,omitempty" validate:"omitempty"`
	EVDurationLevel2DCInjection            *decimal.Decimal `json:"evDurationLevel2DCInjection,omitempty" validate:"omitempty"`
	EVInverterHwVersion                    *string          `json:"evInverterHwVersion,omitempty" validate:"omitempty,max=50"`
	EVInverterManufacturer                 *string          `json:"evInverterManufacturer,omitempty" validate:"omitempty,max=50"`
	EVInverterModel                        *string          `json:"evInverterModel,omitempty" validate:"omitempty,max=50"`
	EVInverterSerialNumber                 *string          `json:"evInverterSerialNumber,omitempty" validate:"omitempty,max=50"`
	EVInverterSwVersion                    *string          `json:"evInverterSwVersion,omitempty" validate:"omitempty,max=50"`
	EVIslandingDetectionMethod             []string         `json:"evIslandingDetectionMethod,omitempty" validate:"omitempty"`
	EVIslandingTripTime                    *decimal.Decimal `json:"evIslandingTripTime,omitempty" validate:"omitempty"`
	EVMaximumLevel1DCInjection             *decimal.Decimal `json:"evMaximumLevel1DCInjection,omitempty" validate:"omitempty"`
	EVMaximumLevel2DCInjection             *decimal.Decimal `json:"evMaximumLevel2DCInjection,omitempty" validate:"omitempty"`
	EVOverExcitedMaxDischargePower         *decimal.Decimal `json:"evOverExcitedMaxDischargePower,omitempty" validate:"omitempty"`
	EVOverExcitedPowerFactor               *decimal.Decimal `json:"evOverExcitedPowerFactor,omitempty" validate:"omitempty"`
	EVReactiveSusceptance                  *decimal.Decimal `json:"evReactiveSusceptance,omitempty" validate:"omitempty"`
	EVSessionTotalDischargeEnergyAvailable *decimal.Decimal `json:"evSessionTotalDischargeEnergyAvailable,omitempty" validate:"omitempty"`
	EVSupportedDERControl                  []string         `json:"evSupportedDERControl,omitempty" validate:"omitempty"`
	EVUnderExcitedMaxDischargePower        *decimal.Decimal `json:"evUnderExcitedMaxDischargePower,omitempty" validate:"omitempty"`
	EVUnderExcitedPowerFactor              *decimal.Decimal `json:"evUnderExcitedPowerFactor,omitempty" validate:"omitempty"`
	MaxApparentPower                       *decimal.Decimal `json:"maxApparentPower,omitempty" validate:"omitempty"`
	MaxChargeApparentPower                 *decimal.Decimal `json:"maxChargeApparentPower,omitempty" validate:"omitempty"`
	MaxChargeApparentPower_L2              *decimal.Decimal `json:"maxChargeApparentPower_L2,omitempty" validate:"omitempty"`
	MaxChargeApparentPower_L3              *decimal.Decimal `json:"maxChargeApparentPower_L3,omitempty" validate:"omitempty"`
	MaxChargeReactivePower                 *decimal.Decimal `json:"maxChargeReactivePower,omitempty" validate:"omitempty"`
	MaxChargeReactivePower_L2              *decimal.Decimal `json:"maxChargeReactivePower_L2,omitempty" validate:"omitempty"`
	MaxChargeReactivePower_L3              *decimal.Decimal `json:"maxChargeReactivePower_L3,omitempty" validate:"omitempty"`
	MaxDischargeApparentPower              *decimal.Decimal `json:"maxDischargeApparentPower,omitempty" validate:"omitempty"`
	MaxDischargeApparentPower_L2           *decimal.Decimal `json:"maxDischargeApparentPower_L2,omitempty" validate:"omitempty"`
	MaxDischargeApparentPower_L3           *decimal.Decimal `json:"maxDischargeApparentPower_L3,omitempty" validate:"omitempty"`
	MaxDischargeReactivePower              *decimal.Decimal `json:"maxDischargeReactivePower,omitempty" validate:"omitempty"`
	MaxDischargeReactivePower_L2           *decimal.Decimal `json:"maxDischargeReactivePower_L2,omitempty" validate:"omitempty"`
	MaxDischargeReactivePower_L3           *decimal.Decimal `json:"maxDischargeReactivePower_L3,omitempty" validate:"omitempty"`
	MaxNominalVoltage                      *decimal.Decimal `json:"maxNominalVoltage,omitempty" validate:"omitempty"`
	MinChargeReactivePower                 *decimal.Decimal `json:"minChargeReactivePower,omitempty" validate:"omitempty"`
	MinChargeReactivePower_L2              *decimal.Decimal `json:"minChargeReactivePower_L2,omitempty" validate:"omitempty"`
	MinChargeReactivePower_L3              *decimal.Decimal `json:"minChargeReactivePower_L3,omitempty" validate:"omitempty"`
	MinDischargeReactivePower              *decimal.Decimal `json:"minDischargeReactivePower,omitempty" validate:"omitempty"`
	MinDischargeReactivePower_L2           *decimal.Decimal `json:"minDischargeReactivePower_L2,omitempty" validate:"omitempty"`
	MinDischargeReactivePower_L3           *decimal.Decimal `json:"minDischargeReactivePower_L3,omitempty" validate:"omitempty"`
	MinNominalVoltage                      *decimal.Decimal `json:"minNominalVoltage,omitempty" validate:"omitempty"`
	NominalVoltage                         *decimal.Decimal `json:"nominalVoltage,omitempty" validate:"omitempty"`
	NominalVoltageOffset                   *decimal.Decimal `json:"nominalVoltageOffset,omitempty" validate:"omitempty"`
}

type DERCurveGetType

type DERCurveGetType struct {
	Curve        DERCurveType    `json:"curve" validate:"required"`
	CurveType    string          `json:"curveType" validate:"required"`
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID           string          `json:"id" validate:"required,max=36"`
	IsDefault    bool            `json:"isDefault"`
	IsSuperseded bool            `json:"isSuperseded"`
}

type DERCurvePointsType

type DERCurvePointsType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	X          decimal.Decimal `json:"x" validate:"required"`
	Y          decimal.Decimal `json:"y" validate:"required"`
}

type DERCurveType

type DERCurveType struct {
	CurveData           []DERCurvePointsType     `json:"curveData" validate:"required"`
	CustomData          *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	Duration            *decimal.Decimal         `json:"duration,omitempty" validate:"omitempty"`
	Hysteresis          *HysteresisType          `json:"hysteresis,omitempty" validate:"omitempty"`
	Priority            int32                    `json:"priority" validate:"required"`
	ReactivePowerParams *ReactivePowerParamsType `json:"reactivePowerParams,omitempty" validate:"omitempty"`
	ResponseTime        *decimal.Decimal         `json:"responseTime,omitempty" validate:"omitempty"`
	StartTime           *time.Time               `json:"startTime,omitempty" validate:"omitempty"`
	VoltageParams       *VoltageParamsType       `json:"voltageParams,omitempty" validate:"omitempty"`
	YUnit               string                   `json:"yUnit" validate:"required"`
}

type DataTransferRequest

type DataTransferRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Data       *string         `json:"data,omitempty" validate:"omitempty"`
	MessageID  *string         `json:"messageId,omitempty" validate:"omitempty,max=50"`
	VendorID   string          `json:"vendorId" validate:"required,max=255"`
}

type DataTransferResponse

type DataTransferResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Data       *string         `json:"data,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type DeleteCertificateRequest

type DeleteCertificateRequest struct {
	CertificateHashData CertificateHashDataType `json:"certificateHashData" validate:"required"`
	CustomData          *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
}

type DeleteCertificateResponse

type DeleteCertificateResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type EVAbsolutePriceScheduleEntryType

type EVAbsolutePriceScheduleEntryType struct {
	CustomData  *CustomDataType   `json:"customData,omitempty" validate:"omitempty"`
	Duration    int32             `json:"duration" validate:"required"`
	EVPriceRule []EVPriceRuleType `json:"evPriceRule" validate:"required"`
}

type EVAbsolutePriceScheduleType

type EVAbsolutePriceScheduleType struct {
	Currency                       string                             `json:"currency" validate:"required,max=3"`
	CustomData                     *CustomDataType                    `json:"customData,omitempty" validate:"omitempty"`
	EVAbsolutePriceScheduleEntries []EVAbsolutePriceScheduleEntryType `json:"evAbsolutePriceScheduleEntries" validate:"required"`
	PriceAlgorithm                 string                             `json:"priceAlgorithm" validate:"required,max=2000"`
	TimeAnchor                     time.Time                          `json:"timeAnchor" validate:"required"`
}

type EVEnergyOfferType

type EVEnergyOfferType struct {
	CustomData              *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
	EVAbsolutePriceSchedule *EVAbsolutePriceScheduleType `json:"evAbsolutePriceSchedule,omitempty" validate:"omitempty"`
	EVPowerSchedule         EVPowerScheduleType          `json:"evPowerSchedule" validate:"required"`
}

type EVPowerScheduleEntryType

type EVPowerScheduleEntryType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Duration   int32           `json:"duration" validate:"required"`
	Power      decimal.Decimal `json:"power" validate:"required"`
}

type EVPowerScheduleType

type EVPowerScheduleType struct {
	CustomData             *CustomDataType            `json:"customData,omitempty" validate:"omitempty"`
	EVPowerScheduleEntries []EVPowerScheduleEntryType `json:"evPowerScheduleEntries" validate:"required"`
	TimeAnchor             time.Time                  `json:"timeAnchor" validate:"required"`
}

type EVPriceRuleType

type EVPriceRuleType struct {
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EnergyFee       decimal.Decimal `json:"energyFee" validate:"required"`
	PowerRangeStart decimal.Decimal `json:"powerRangeStart" validate:"required"`
}

type EVSEType

type EVSEType struct {
	ConnectorID *int32          `json:"connectorId,omitempty" validate:"omitempty"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID          int32           `json:"id" validate:"required"`
}

type EnterServiceGetType

type EnterServiceGetType struct {
	CustomData   *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EnterService EnterServiceType `json:"enterService" validate:"required"`
	ID           string           `json:"id" validate:"required,max=36"`
}

type EnterServiceType

type EnterServiceType struct {
	CustomData  *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Delay       *decimal.Decimal `json:"delay,omitempty" validate:"omitempty"`
	HighFreq    decimal.Decimal  `json:"highFreq" validate:"required"`
	HighVoltage decimal.Decimal  `json:"highVoltage" validate:"required"`
	LowFreq     decimal.Decimal  `json:"lowFreq" validate:"required"`
	LowVoltage  decimal.Decimal  `json:"lowVoltage" validate:"required"`
	Priority    int32            `json:"priority" validate:"required"`
	RampRate    *decimal.Decimal `json:"rampRate,omitempty" validate:"omitempty"`
	RandomDelay *decimal.Decimal `json:"randomDelay,omitempty" validate:"omitempty"`
}

type EventDataType

type EventDataType struct {
	ActualValue           string          `json:"actualValue" validate:"required,max=2500"`
	Cause                 *int32          `json:"cause,omitempty" validate:"omitempty"`
	Cleared               *bool           `json:"cleared,omitempty" validate:"omitempty"`
	Component             ComponentType   `json:"component" validate:"required"`
	CustomData            *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EventID               int32           `json:"eventId" validate:"required"`
	EventNotificationType string          `json:"eventNotificationType" validate:"required"`
	Severity              *int32          `json:"severity,omitempty" validate:"omitempty"`
	TechCode              *string         `json:"techCode,omitempty" validate:"omitempty,max=50"`
	TechInfo              *string         `json:"techInfo,omitempty" validate:"omitempty,max=500"`
	Timestamp             time.Time       `json:"timestamp" validate:"required"`
	TransactionID         *string         `json:"transactionId,omitempty" validate:"omitempty,max=36"`
	Trigger               string          `json:"trigger" validate:"required"`
	Variable              VariableType    `json:"variable" validate:"required"`
	VariableMonitoringID  *int32          `json:"variableMonitoringId,omitempty" validate:"omitempty"`
}

type FirmwareStatusNotificationRequest

type FirmwareStatusNotificationRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	RequestID  *int32          `json:"requestId,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type FirmwareStatusNotificationResponse

type FirmwareStatusNotificationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type FirmwareType

type FirmwareType struct {
	CustomData         *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	InstallDateTime    *time.Time      `json:"installDateTime,omitempty" validate:"omitempty"`
	Location           string          `json:"location" validate:"required,max=2000"`
	RetrieveDateTime   time.Time       `json:"retrieveDateTime" validate:"required"`
	Signature          *string         `json:"signature,omitempty" validate:"omitempty,max=800"`
	SigningCertificate *string         `json:"signingCertificate,omitempty" validate:"omitempty,max=5500"`
}

type FixedPFGetType

type FixedPFGetType struct {
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	FixedPF      FixedPFType     `json:"fixedPF" validate:"required"`
	ID           string          `json:"id" validate:"required,max=36"`
	IsDefault    bool            `json:"isDefault"`
	IsSuperseded bool            `json:"isSuperseded"`
}

type FixedPFType

type FixedPFType struct {
	CustomData   *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Displacement decimal.Decimal  `json:"displacement" validate:"required"`
	Duration     *decimal.Decimal `json:"duration,omitempty" validate:"omitempty"`
	Excitation   bool             `json:"excitation"`
	Priority     int32            `json:"priority" validate:"required"`
	StartTime    *time.Time       `json:"startTime,omitempty" validate:"omitempty"`
}

type FixedVarGetType

type FixedVarGetType struct {
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	FixedVar     FixedVarType    `json:"fixedVar" validate:"required"`
	ID           string          `json:"id" validate:"required,max=36"`
	IsDefault    bool            `json:"isDefault"`
	IsSuperseded bool            `json:"isSuperseded"`
}

type FixedVarType

type FixedVarType struct {
	CustomData *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Duration   *decimal.Decimal `json:"duration,omitempty" validate:"omitempty"`
	Priority   int32            `json:"priority" validate:"required"`
	Setpoint   decimal.Decimal  `json:"setpoint" validate:"required"`
	StartTime  *time.Time       `json:"startTime,omitempty" validate:"omitempty"`
	Unit       string           `json:"unit" validate:"required"`
}

type FreqDroopGetType

type FreqDroopGetType struct {
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	FreqDroop    FreqDroopType   `json:"freqDroop" validate:"required"`
	ID           string          `json:"id" validate:"required,max=36"`
	IsDefault    bool            `json:"isDefault"`
	IsSuperseded bool            `json:"isSuperseded"`
}

type FreqDroopType

type FreqDroopType struct {
	CustomData   *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Duration     *decimal.Decimal `json:"duration,omitempty" validate:"omitempty"`
	OverDroop    decimal.Decimal  `json:"overDroop" validate:"required"`
	OverFreq     decimal.Decimal  `json:"overFreq" validate:"required"`
	Priority     int32            `json:"priority" validate:"required"`
	ResponseTime decimal.Decimal  `json:"responseTime" validate:"required"`
	StartTime    *time.Time       `json:"startTime,omitempty" validate:"omitempty"`
	UnderDroop   decimal.Decimal  `json:"underDroop" validate:"required"`
	UnderFreq    decimal.Decimal  `json:"underFreq" validate:"required"`
}

type Get15118EVCertificateRequest

type Get15118EVCertificateRequest struct {
	Action                           string          `json:"action" validate:"required"`
	CustomData                       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ExiRequest                       string          `json:"exiRequest" validate:"required,max=11000"`
	Iso15118SchemaVersion            string          `json:"iso15118SchemaVersion" validate:"required,max=50"`
	MaximumContractCertificateChains *int32          `json:"maximumContractCertificateChains,omitempty" validate:"omitempty"`
	PrioritizedEMAIDs                []string        `json:"prioritizedEMAIDs,omitempty" validate:"omitempty"`
}

type Get15118EVCertificateResponse

type Get15118EVCertificateResponse struct {
	CustomData         *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ExiResponse        string          `json:"exiResponse" validate:"required,max=17000"`
	RemainingContracts *int32          `json:"remainingContracts,omitempty" validate:"omitempty"`
	Status             string          `json:"status" validate:"required"`
	StatusInfo         *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetBaseReportRequest

type GetBaseReportRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ReportBase string          `json:"reportBase" validate:"required"`
	RequestID  int32           `json:"requestId" validate:"required"`
}

type GetBaseReportResponse

type GetBaseReportResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetCertificateChainStatusRequest

type GetCertificateChainStatusRequest struct {
	CertificateStatusRequests []CertificateStatusRequestInfoType `json:"certificateStatusRequests" validate:"required"`
	CustomData                *CustomDataType                    `json:"customData,omitempty" validate:"omitempty"`
}

type GetCertificateChainStatusResponse

type GetCertificateChainStatusResponse struct {
	CertificateStatus []CertificateStatusType `json:"certificateStatus" validate:"required"`
	CustomData        *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
}

type GetCertificateStatusRequest

type GetCertificateStatusRequest struct {
	CustomData      *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	OcspRequestData OCSPRequestDataType `json:"ocspRequestData" validate:"required"`
}

type GetCertificateStatusResponse

type GetCertificateStatusResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	OcspResult *string         `json:"ocspResult,omitempty" validate:"omitempty,max=18000"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetChargingProfilesRequest

type GetChargingProfilesRequest struct {
	ChargingProfile ChargingProfileCriterionType `json:"chargingProfile" validate:"required"`
	CustomData      *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
	EVSEID          *int32                       `json:"evseId,omitempty" validate:"omitempty"`
	RequestID       int32                        `json:"requestId" validate:"required"`
}

type GetChargingProfilesResponse

type GetChargingProfilesResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetCompositeScheduleRequest

type GetCompositeScheduleRequest struct {
	ChargingRateUnit *string         `json:"chargingRateUnit,omitempty" validate:"omitempty"`
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Duration         int32           `json:"duration" validate:"required"`
	EVSEID           int32           `json:"evseId" validate:"required"`
}

type GetCompositeScheduleResponse

type GetCompositeScheduleResponse struct {
	CustomData *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	Schedule   *CompositeScheduleType `json:"schedule,omitempty" validate:"omitempty"`
	Status     string                 `json:"status" validate:"required"`
	StatusInfo *StatusInfoType        `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetDERControlRequest

type GetDERControlRequest struct {
	ControlID   *string         `json:"controlId,omitempty" validate:"omitempty,max=36"`
	ControlType *string         `json:"controlType,omitempty" validate:"omitempty"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	IsDefault   *bool           `json:"isDefault,omitempty" validate:"omitempty"`
	RequestID   int32           `json:"requestId" validate:"required"`
}

type GetDERControlResponse

type GetDERControlResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetDisplayMessagesRequest

type GetDisplayMessagesRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         []int32         `json:"id,omitempty" validate:"omitempty"`
	Priority   *string         `json:"priority,omitempty" validate:"omitempty"`
	RequestID  int32           `json:"requestId" validate:"required"`
	State      *string         `json:"state,omitempty" validate:"omitempty"`
}

type GetDisplayMessagesResponse

type GetDisplayMessagesResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetInstalledCertificateIdsRequest

type GetInstalledCertificateIdsRequest struct {
	CertificateType []string        `json:"certificateType,omitempty" validate:"omitempty"`
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type GetInstalledCertificateIdsResponse

type GetInstalledCertificateIdsResponse struct {
	CertificateHashDataChain []CertificateHashDataChainType `json:"certificateHashDataChain,omitempty" validate:"omitempty"`
	CustomData               *CustomDataType                `json:"customData,omitempty" validate:"omitempty"`
	Status                   string                         `json:"status" validate:"required"`
	StatusInfo               *StatusInfoType                `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetLocalListVersionRequest

type GetLocalListVersionRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type GetLocalListVersionResponse

type GetLocalListVersionResponse struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	VersionNumber int32           `json:"versionNumber" validate:"required"`
}

type GetLogRequest

type GetLogRequest struct {
	CustomData    *CustomDataType   `json:"customData,omitempty" validate:"omitempty"`
	Log           LogParametersType `json:"log" validate:"required"`
	LogType       string            `json:"logType" validate:"required"`
	RequestID     int32             `json:"requestId" validate:"required"`
	Retries       *int32            `json:"retries,omitempty" validate:"omitempty"`
	RetryInterval *int32            `json:"retryInterval,omitempty" validate:"omitempty"`
}

type GetLogResponse

type GetLogResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Filename   *string         `json:"filename,omitempty" validate:"omitempty,max=255"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetMonitoringReportRequest

type GetMonitoringReportRequest struct {
	ComponentVariable  []ComponentVariableType `json:"componentVariable,omitempty" validate:"omitempty"`
	CustomData         *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	MonitoringCriteria []string                `json:"monitoringCriteria,omitempty" validate:"omitempty"`
	RequestID          int32                   `json:"requestId" validate:"required"`
}

type GetMonitoringReportResponse

type GetMonitoringReportResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetPeriodicEventStreamRequest

type GetPeriodicEventStreamRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type GetPeriodicEventStreamResponse

type GetPeriodicEventStreamResponse struct {
	ConstantStreamData []ConstantStreamDataType `json:"constantStreamData,omitempty" validate:"omitempty"`
	CustomData         *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
}

type GetReportRequest

type GetReportRequest struct {
	ComponentCriteria []string                `json:"componentCriteria,omitempty" validate:"omitempty"`
	ComponentVariable []ComponentVariableType `json:"componentVariable,omitempty" validate:"omitempty"`
	CustomData        *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	RequestID         int32                   `json:"requestId" validate:"required"`
}

type GetReportResponse

type GetReportResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type GetTariffsRequest

type GetTariffsRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     int32           `json:"evseId" validate:"required"`
}

type GetTariffsResponse

type GetTariffsResponse struct {
	CustomData        *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	Status            string                 `json:"status" validate:"required"`
	StatusInfo        *StatusInfoType        `json:"statusInfo,omitempty" validate:"omitempty"`
	TariffAssignments []TariffAssignmentType `json:"tariffAssignments,omitempty" validate:"omitempty"`
}

type GetTransactionStatusRequest

type GetTransactionStatusRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TransactionID *string         `json:"transactionId,omitempty" validate:"omitempty,max=36"`
}

type GetTransactionStatusResponse

type GetTransactionStatusResponse struct {
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	MessagesInQueue  bool            `json:"messagesInQueue"`
	OngoingIndicator *bool           `json:"ongoingIndicator,omitempty" validate:"omitempty"`
}

type GetVariableDataType

type GetVariableDataType struct {
	AttributeType *string         `json:"attributeType,omitempty" validate:"omitempty"`
	Component     ComponentType   `json:"component" validate:"required"`
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Variable      VariableType    `json:"variable" validate:"required"`
}

type GetVariableResultType

type GetVariableResultType struct {
	AttributeStatus     string          `json:"attributeStatus" validate:"required"`
	AttributeStatusInfo *StatusInfoType `json:"attributeStatusInfo,omitempty" validate:"omitempty"`
	AttributeType       *string         `json:"attributeType,omitempty" validate:"omitempty"`
	AttributeValue      *string         `json:"attributeValue,omitempty" validate:"omitempty,max=2500"`
	Component           ComponentType   `json:"component" validate:"required"`
	CustomData          *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Variable            VariableType    `json:"variable" validate:"required"`
}

type GetVariablesRequest

type GetVariablesRequest struct {
	CustomData      *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	GetVariableData []GetVariableDataType `json:"getVariableData" validate:"required"`
}

type GetVariablesResponse

type GetVariablesResponse struct {
	CustomData        *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	GetVariableResult []GetVariableResultType `json:"getVariableResult" validate:"required"`
}

type GradientGetType

type GradientGetType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Gradient   GradientType    `json:"gradient" validate:"required"`
	ID         string          `json:"id" validate:"required,max=36"`
}

type GradientType

type GradientType struct {
	CustomData   *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Gradient     decimal.Decimal `json:"gradient" validate:"required"`
	Priority     int32           `json:"priority" validate:"required"`
	SoftGradient decimal.Decimal `json:"softGradient" validate:"required"`
}

type HeartbeatRequest

type HeartbeatRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type HeartbeatResponse

type HeartbeatResponse struct {
	CurrentTime time.Time       `json:"currentTime" validate:"required"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type HysteresisType

type HysteresisType struct {
	CustomData         *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	HysteresisDelay    *decimal.Decimal `json:"hysteresisDelay,omitempty" validate:"omitempty"`
	HysteresisGradient *decimal.Decimal `json:"hysteresisGradient,omitempty" validate:"omitempty"`
	HysteresisHigh     *decimal.Decimal `json:"hysteresisHigh,omitempty" validate:"omitempty"`
	HysteresisLow      *decimal.Decimal `json:"hysteresisLow,omitempty" validate:"omitempty"`
}

type IdTokenInfoType

type IdTokenInfoType struct {
	CacheExpiryDateTime *time.Time          `json:"cacheExpiryDateTime,omitempty" validate:"omitempty"`
	ChargingPriority    *int32              `json:"chargingPriority,omitempty" validate:"omitempty"`
	CustomData          *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	EVSEID              []int32             `json:"evseId,omitempty" validate:"omitempty"`
	GroupIDToken        *IdTokenType        `json:"groupIdToken,omitempty" validate:"omitempty"`
	Language1           *string             `json:"language1,omitempty" validate:"omitempty,max=8"`
	Language2           *string             `json:"language2,omitempty" validate:"omitempty,max=8"`
	PersonalMessage     *MessageContentType `json:"personalMessage,omitempty" validate:"omitempty"`
	Status              string              `json:"status" validate:"required"`
}

type IdTokenType

type IdTokenType struct {
	AdditionalInfo []AdditionalInfoType `json:"additionalInfo,omitempty" validate:"omitempty"`
	CustomData     *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	IDToken        string               `json:"idToken" validate:"required,max=255"`
	Type           string               `json:"type" validate:"required,max=20"`
}

type InstallCertificateRequest

type InstallCertificateRequest struct {
	Certificate     string          `json:"certificate" validate:"required,max=10000"`
	CertificateType string          `json:"certificateType" validate:"required"`
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type InstallCertificateResponse

type InstallCertificateResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type LimitAtSoCType

type LimitAtSoCType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Limit      decimal.Decimal `json:"limit" validate:"required"`
	SOC        int32           `json:"soc" validate:"required"`
}

type LimitMaxDischargeGetType

type LimitMaxDischargeGetType struct {
	CustomData        *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	ID                string                `json:"id" validate:"required,max=36"`
	IsDefault         bool                  `json:"isDefault"`
	IsSuperseded      bool                  `json:"isSuperseded"`
	LimitMaxDischarge LimitMaxDischargeType `json:"limitMaxDischarge" validate:"required"`
}

type LimitMaxDischargeType

type LimitMaxDischargeType struct {
	CustomData              *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Duration                *decimal.Decimal `json:"duration,omitempty" validate:"omitempty"`
	PctMaxDischargePower    *decimal.Decimal `json:"pctMaxDischargePower,omitempty" validate:"omitempty"`
	PowerMonitoringMustTrip *DERCurveType    `json:"powerMonitoringMustTrip,omitempty" validate:"omitempty"`
	Priority                int32            `json:"priority" validate:"required"`
	StartTime               *time.Time       `json:"startTime,omitempty" validate:"omitempty"`
}

type LogParametersType

type LogParametersType struct {
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	LatestTimestamp *time.Time      `json:"latestTimestamp,omitempty" validate:"omitempty"`
	OldestTimestamp *time.Time      `json:"oldestTimestamp,omitempty" validate:"omitempty"`
	RemoteLocation  string          `json:"remoteLocation" validate:"required,max=2000"`
}

type LogStatusNotificationRequest

type LogStatusNotificationRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	RequestID  *int32          `json:"requestId,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type LogStatusNotificationResponse

type LogStatusNotificationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type MessageContentType

type MessageContentType struct {
	Content    string          `json:"content" validate:"required,max=1024"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Format     string          `json:"format" validate:"required"`
	Language   *string         `json:"language,omitempty" validate:"omitempty,max=8"`
}

type MessageInfoType

type MessageInfoType struct {
	CustomData    *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	Display       *ComponentType       `json:"display,omitempty" validate:"omitempty"`
	EndDateTime   *time.Time           `json:"endDateTime,omitempty" validate:"omitempty"`
	ID            int32                `json:"id" validate:"required"`
	Message       MessageContentType   `json:"message" validate:"required"`
	MessageExtra  []MessageContentType `json:"messageExtra,omitempty" validate:"omitempty"`
	Priority      string               `json:"priority" validate:"required"`
	StartDateTime *time.Time           `json:"startDateTime,omitempty" validate:"omitempty"`
	State         *string              `json:"state,omitempty" validate:"omitempty"`
	TransactionID *string              `json:"transactionId,omitempty" validate:"omitempty,max=36"`
}

type MeterValueType

type MeterValueType struct {
	CustomData   *CustomDataType    `json:"customData,omitempty" validate:"omitempty"`
	SampledValue []SampledValueType `json:"sampledValue" validate:"required"`
	Timestamp    time.Time          `json:"timestamp" validate:"required"`
}

type MeterValuesRequest

type MeterValuesRequest struct {
	CustomData *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     int32            `json:"evseId" validate:"required"`
	MeterValue []MeterValueType `json:"meterValue" validate:"required"`
}

type MeterValuesResponse

type MeterValuesResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ModemType

type ModemType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ICCID      *string         `json:"iccid,omitempty" validate:"omitempty,max=20"`
	IMSI       *string         `json:"imsi,omitempty" validate:"omitempty,max=20"`
}

type MonitoringDataType

type MonitoringDataType struct {
	Component          ComponentType            `json:"component" validate:"required"`
	CustomData         *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	Variable           VariableType             `json:"variable" validate:"required"`
	VariableMonitoring []VariableMonitoringType `json:"variableMonitoring" validate:"required"`
}

type NetworkConnectionProfileType

type NetworkConnectionProfileType struct {
	Apn               *APNType        `json:"apn,omitempty" validate:"omitempty"`
	BasicAuthPassword *string         `json:"basicAuthPassword,omitempty" validate:"omitempty,max=64"`
	CustomData        *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Identity          *string         `json:"identity,omitempty" validate:"omitempty,max=48"`
	MessageTimeout    int32           `json:"messageTimeout" validate:"required"`
	OCPPCsmsURL       string          `json:"ocppCsmsUrl" validate:"required,max=2000"`
	OCPPInterface     string          `json:"ocppInterface" validate:"required"`
	OCPPTransport     string          `json:"ocppTransport" validate:"required"`
	OCPPVersion       *string         `json:"ocppVersion,omitempty" validate:"omitempty"`
	SecurityProfile   int32           `json:"securityProfile" validate:"required"`
	Vpn               *VPNType        `json:"vpn,omitempty" validate:"omitempty"`
}

type NotifyAllowedEnergyTransferRequest

type NotifyAllowedEnergyTransferRequest struct {
	AllowedEnergyTransfer []string        `json:"allowedEnergyTransfer" validate:"required"`
	CustomData            *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TransactionID         string          `json:"transactionId" validate:"required,max=36"`
}

type NotifyAllowedEnergyTransferResponse

type NotifyAllowedEnergyTransferResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type NotifyChargingLimitRequest

type NotifyChargingLimitRequest struct {
	ChargingLimit    ChargingLimitType      `json:"chargingLimit" validate:"required"`
	ChargingSchedule []ChargingScheduleType `json:"chargingSchedule,omitempty" validate:"omitempty"`
	CustomData       *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	EVSEID           *int32                 `json:"evseId,omitempty" validate:"omitempty"`
}

type NotifyChargingLimitResponse

type NotifyChargingLimitResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyCustomerInformationRequest

type NotifyCustomerInformationRequest struct {
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Data        string          `json:"data" validate:"required,max=512"`
	GeneratedAt time.Time       `json:"generatedAt" validate:"required"`
	RequestID   int32           `json:"requestId" validate:"required"`
	SeqNo       int32           `json:"seqNo" validate:"required"`
	Tbc         *bool           `json:"tbc,omitempty" validate:"omitempty"`
}

type NotifyCustomerInformationResponse

type NotifyCustomerInformationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyDERAlarmRequest

type NotifyDERAlarmRequest struct {
	AlarmEnded     *bool           `json:"alarmEnded,omitempty" validate:"omitempty"`
	ControlType    string          `json:"controlType" validate:"required"`
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ExtraInfo      *string         `json:"extraInfo,omitempty" validate:"omitempty,max=200"`
	GridEventFault *string         `json:"gridEventFault,omitempty" validate:"omitempty"`
	Timestamp      time.Time       `json:"timestamp" validate:"required"`
}

type NotifyDERAlarmResponse

type NotifyDERAlarmResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyDERStartStopRequest

type NotifyDERStartStopRequest struct {
	ControlID     string          `json:"controlId" validate:"required,max=36"`
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Started       bool            `json:"started"`
	SupersededIds []string        `json:"supersededIds,omitempty" validate:"omitempty"`
	Timestamp     time.Time       `json:"timestamp" validate:"required"`
}

type NotifyDERStartStopResponse

type NotifyDERStartStopResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyDisplayMessagesRequest

type NotifyDisplayMessagesRequest struct {
	CustomData  *CustomDataType   `json:"customData,omitempty" validate:"omitempty"`
	MessageInfo []MessageInfoType `json:"messageInfo,omitempty" validate:"omitempty"`
	RequestID   int32             `json:"requestId" validate:"required"`
	Tbc         *bool             `json:"tbc,omitempty" validate:"omitempty"`
}

type NotifyDisplayMessagesResponse

type NotifyDisplayMessagesResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyEVChargingNeedsRequest

type NotifyEVChargingNeedsRequest struct {
	ChargingNeeds     ChargingNeedsType `json:"chargingNeeds" validate:"required"`
	CustomData        *CustomDataType   `json:"customData,omitempty" validate:"omitempty"`
	EVSEID            int32             `json:"evseId" validate:"required"`
	MaxScheduleTuples *int32            `json:"maxScheduleTuples,omitempty" validate:"omitempty"`
	Timestamp         *time.Time        `json:"timestamp,omitempty" validate:"omitempty"`
}

type NotifyEVChargingNeedsResponse

type NotifyEVChargingNeedsResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type NotifyEVChargingScheduleRequest

type NotifyEVChargingScheduleRequest struct {
	ChargingSchedule           ChargingScheduleType `json:"chargingSchedule" validate:"required"`
	CustomData                 *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	EVSEID                     int32                `json:"evseId" validate:"required"`
	PowerToleranceAcceptance   *bool                `json:"powerToleranceAcceptance,omitempty" validate:"omitempty"`
	SelectedChargingScheduleID *int32               `json:"selectedChargingScheduleId,omitempty" validate:"omitempty"`
	TimeBase                   time.Time            `json:"timeBase" validate:"required"`
}

type NotifyEVChargingScheduleResponse

type NotifyEVChargingScheduleResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type NotifyEventRequest

type NotifyEventRequest struct {
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EventData   []EventDataType `json:"eventData" validate:"required"`
	GeneratedAt time.Time       `json:"generatedAt" validate:"required"`
	SeqNo       int32           `json:"seqNo" validate:"required"`
	Tbc         *bool           `json:"tbc,omitempty" validate:"omitempty"`
}

type NotifyEventResponse

type NotifyEventResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyMonitoringReportRequest

type NotifyMonitoringReportRequest struct {
	CustomData  *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	GeneratedAt time.Time            `json:"generatedAt" validate:"required"`
	Monitor     []MonitoringDataType `json:"monitor,omitempty" validate:"omitempty"`
	RequestID   int32                `json:"requestId" validate:"required"`
	SeqNo       int32                `json:"seqNo" validate:"required"`
	Tbc         *bool                `json:"tbc,omitempty" validate:"omitempty"`
}

type NotifyMonitoringReportResponse

type NotifyMonitoringReportResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyPeriodicEventStream added in v0.1.7

type NotifyPeriodicEventStream struct {
	Basetime   time.Time               `json:"basetime" validate:"required"`
	CustomData *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	Data       []StreamDataElementType `json:"data" validate:"required"`
	ID         int32                   `json:"id" validate:"required"`
	Pending    int32                   `json:"pending" validate:"required"`
}

type NotifyPriorityChargingRequest

type NotifyPriorityChargingRequest struct {
	Activated     bool            `json:"activated"`
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TransactionID string          `json:"transactionId" validate:"required,max=36"`
}

type NotifyPriorityChargingResponse

type NotifyPriorityChargingResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifyReportRequest

type NotifyReportRequest struct {
	CustomData  *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	GeneratedAt time.Time        `json:"generatedAt" validate:"required"`
	ReportData  []ReportDataType `json:"reportData,omitempty" validate:"omitempty"`
	RequestID   int32            `json:"requestId" validate:"required"`
	SeqNo       int32            `json:"seqNo" validate:"required"`
	Tbc         *bool            `json:"tbc,omitempty" validate:"omitempty"`
}

type NotifyReportResponse

type NotifyReportResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type NotifySettlementRequest

type NotifySettlementRequest struct {
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	PspRef           string          `json:"pspRef" validate:"required,max=255"`
	ReceiptID        *string         `json:"receiptId,omitempty" validate:"omitempty,max=50"`
	ReceiptURL       *string         `json:"receiptUrl,omitempty" validate:"omitempty,max=2000"`
	SettlementAmount decimal.Decimal `json:"settlementAmount" validate:"required"`
	SettlementTime   time.Time       `json:"settlementTime" validate:"required"`
	Status           string          `json:"status" validate:"required"`
	StatusInfo       *string         `json:"statusInfo,omitempty" validate:"omitempty,max=500"`
	TransactionID    *string         `json:"transactionId,omitempty" validate:"omitempty,max=36"`
	VatCompany       *AddressType    `json:"vatCompany,omitempty" validate:"omitempty"`
	VatNumber        *string         `json:"vatNumber,omitempty" validate:"omitempty,max=20"`
}

type NotifySettlementResponse

type NotifySettlementResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ReceiptID  *string         `json:"receiptId,omitempty" validate:"omitempty,max=50"`
	ReceiptURL *string         `json:"receiptUrl,omitempty" validate:"omitempty,max=2000"`
}

type NotifyWebPaymentStartedRequest

type NotifyWebPaymentStartedRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     int32           `json:"evseId" validate:"required"`
	Timeout    int32           `json:"timeout" validate:"required"`
}

type NotifyWebPaymentStartedResponse

type NotifyWebPaymentStartedResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type OCSPRequestDataType

type OCSPRequestDataType struct {
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	HashAlgorithm  string          `json:"hashAlgorithm" validate:"required"`
	IssuerKeyHash  string          `json:"issuerKeyHash" validate:"required,max=128"`
	IssuerNameHash string          `json:"issuerNameHash" validate:"required,max=128"`
	ResponderURL   string          `json:"responderURL" validate:"required,max=2000"`
	SerialNumber   string          `json:"serialNumber" validate:"required,max=40"`
}

type OpenPeriodicEventStreamRequest

type OpenPeriodicEventStreamRequest struct {
	ConstantStreamData ConstantStreamDataType `json:"constantStreamData" validate:"required"`
	CustomData         *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
}

type OpenPeriodicEventStreamResponse

type OpenPeriodicEventStreamResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type OverstayRuleListType

type OverstayRuleListType struct {
	CustomData             *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	OverstayPowerThreshold *RationalNumberType `json:"overstayPowerThreshold,omitempty" validate:"omitempty"`
	OverstayRule           []OverstayRuleType  `json:"overstayRule" validate:"required"`
	OverstayTimeThreshold  *int32              `json:"overstayTimeThreshold,omitempty" validate:"omitempty"`
}

type OverstayRuleType

type OverstayRuleType struct {
	CustomData              *CustomDataType    `json:"customData,omitempty" validate:"omitempty"`
	OverstayFee             RationalNumberType `json:"overstayFee" validate:"required"`
	OverstayFeePeriod       int32              `json:"overstayFeePeriod" validate:"required"`
	OverstayRuleDescription *string            `json:"overstayRuleDescription,omitempty" validate:"omitempty,max=32"`
	StartTime               int32              `json:"startTime" validate:"required"`
}

type PeriodicEventStreamParamsType

type PeriodicEventStreamParamsType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Interval   *int32          `json:"interval,omitempty" validate:"omitempty"`
	Values     *int32          `json:"values,omitempty" validate:"omitempty"`
}

type PriceLevelScheduleEntryType

type PriceLevelScheduleEntryType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Duration   int32           `json:"duration" validate:"required"`
	PriceLevel int32           `json:"priceLevel" validate:"required"`
}

type PriceLevelScheduleType

type PriceLevelScheduleType struct {
	CustomData                *CustomDataType               `json:"customData,omitempty" validate:"omitempty"`
	NumberOfPriceLevels       int32                         `json:"numberOfPriceLevels" validate:"required"`
	PriceLevelScheduleEntries []PriceLevelScheduleEntryType `json:"priceLevelScheduleEntries" validate:"required"`
	PriceScheduleDescription  *string                       `json:"priceScheduleDescription,omitempty" validate:"omitempty,max=32"`
	PriceScheduleID           int32                         `json:"priceScheduleId" validate:"required"`
	TimeAnchor                time.Time                     `json:"timeAnchor" validate:"required"`
}

type PriceRuleStackType

type PriceRuleStackType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Duration   int32           `json:"duration" validate:"required"`
	PriceRule  []PriceRuleType `json:"priceRule" validate:"required"`
}

type PriceRuleType

type PriceRuleType struct {
	CarbonDioxideEmission         *int32              `json:"carbonDioxideEmission,omitempty" validate:"omitempty"`
	CustomData                    *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	EnergyFee                     RationalNumberType  `json:"energyFee" validate:"required"`
	ParkingFee                    *RationalNumberType `json:"parkingFee,omitempty" validate:"omitempty"`
	ParkingFeePeriod              *int32              `json:"parkingFeePeriod,omitempty" validate:"omitempty"`
	PowerRangeStart               RationalNumberType  `json:"powerRangeStart" validate:"required"`
	RenewableGenerationPercentage *int32              `json:"renewableGenerationPercentage,omitempty" validate:"omitempty"`
}

type PriceType

type PriceType struct {
	CustomData *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	ExclTax    *decimal.Decimal `json:"exclTax,omitempty" validate:"omitempty"`
	InclTax    *decimal.Decimal `json:"inclTax,omitempty" validate:"omitempty"`
	TaxRates   []TaxRateType    `json:"taxRates,omitempty" validate:"omitempty"`
}

type PublishFirmwareRequest

type PublishFirmwareRequest struct {
	Checksum      string          `json:"checksum" validate:"required,max=32"`
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Location      string          `json:"location" validate:"required,max=2000"`
	RequestID     int32           `json:"requestId" validate:"required"`
	Retries       *int32          `json:"retries,omitempty" validate:"omitempty"`
	RetryInterval *int32          `json:"retryInterval,omitempty" validate:"omitempty"`
}

type PublishFirmwareResponse

type PublishFirmwareResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type PublishFirmwareStatusNotificationRequest

type PublishFirmwareStatusNotificationRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Location   []string        `json:"location,omitempty" validate:"omitempty"`
	RequestID  *int32          `json:"requestId,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type PublishFirmwareStatusNotificationResponse

type PublishFirmwareStatusNotificationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type PullDynamicScheduleUpdateRequest

type PullDynamicScheduleUpdateRequest struct {
	ChargingProfileID int32           `json:"chargingProfileId" validate:"required"`
	CustomData        *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type PullDynamicScheduleUpdateResponse

type PullDynamicScheduleUpdateResponse struct {
	CustomData     *CustomDataType             `json:"customData,omitempty" validate:"omitempty"`
	ScheduleUpdate *ChargingScheduleUpdateType `json:"scheduleUpdate,omitempty" validate:"omitempty"`
	Status         string                      `json:"status" validate:"required"`
	StatusInfo     *StatusInfoType             `json:"statusInfo,omitempty" validate:"omitempty"`
}

type RationalNumberType

type RationalNumberType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Exponent   int32           `json:"exponent" validate:"required"`
	Value      int32           `json:"value" validate:"required"`
}

type ReactivePowerParamsType

type ReactivePowerParamsType struct {
	AutonomousVRefEnable       *bool            `json:"autonomousVRefEnable,omitempty" validate:"omitempty"`
	AutonomousVRefTimeConstant *decimal.Decimal `json:"autonomousVRefTimeConstant,omitempty" validate:"omitempty"`
	CustomData                 *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	VRef                       *decimal.Decimal `json:"vRef,omitempty" validate:"omitempty"`
}

type RelativeTimeIntervalType

type RelativeTimeIntervalType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Duration   *int32          `json:"duration,omitempty" validate:"omitempty"`
	Start      int32           `json:"start" validate:"required"`
}

type ReportChargingProfilesRequest

type ReportChargingProfilesRequest struct {
	ChargingLimitSource string                `json:"chargingLimitSource" validate:"required,max=20"`
	ChargingProfile     []ChargingProfileType `json:"chargingProfile" validate:"required"`
	CustomData          *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	EVSEID              int32                 `json:"evseId" validate:"required"`
	RequestID           int32                 `json:"requestId" validate:"required"`
	Tbc                 *bool                 `json:"tbc,omitempty" validate:"omitempty"`
}

type ReportChargingProfilesResponse

type ReportChargingProfilesResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ReportDERControlRequest

type ReportDERControlRequest struct {
	Curve             []DERCurveGetType          `json:"curve,omitempty" validate:"omitempty"`
	CustomData        *CustomDataType            `json:"customData,omitempty" validate:"omitempty"`
	EnterService      []EnterServiceGetType      `json:"enterService,omitempty" validate:"omitempty"`
	FixedPFAbsorb     []FixedPFGetType           `json:"fixedPFAbsorb,omitempty" validate:"omitempty"`
	FixedPFInject     []FixedPFGetType           `json:"fixedPFInject,omitempty" validate:"omitempty"`
	FixedVar          []FixedVarGetType          `json:"fixedVar,omitempty" validate:"omitempty"`
	FreqDroop         []FreqDroopGetType         `json:"freqDroop,omitempty" validate:"omitempty"`
	Gradient          []GradientGetType          `json:"gradient,omitempty" validate:"omitempty"`
	LimitMaxDischarge []LimitMaxDischargeGetType `json:"limitMaxDischarge,omitempty" validate:"omitempty"`
	RequestID         int32                      `json:"requestId" validate:"required"`
	Tbc               *bool                      `json:"tbc,omitempty" validate:"omitempty"`
}

type ReportDERControlResponse

type ReportDERControlResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ReportDataType

type ReportDataType struct {
	Component               ComponentType                `json:"component" validate:"required"`
	CustomData              *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
	Variable                VariableType                 `json:"variable" validate:"required"`
	VariableAttribute       []VariableAttributeType      `json:"variableAttribute" validate:"required"`
	VariableCharacteristics *VariableCharacteristicsType `json:"variableCharacteristics,omitempty" validate:"omitempty"`
}

type RequestBatterySwapRequest

type RequestBatterySwapRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	IDToken    IdTokenType     `json:"idToken" validate:"required"`
	RequestID  int32           `json:"requestId" validate:"required"`
}

type RequestBatterySwapResponse

type RequestBatterySwapResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type RequestStartTransactionRequest

type RequestStartTransactionRequest struct {
	ChargingProfile *ChargingProfileType `json:"chargingProfile,omitempty" validate:"omitempty"`
	CustomData      *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	EVSEID          *int32               `json:"evseId,omitempty" validate:"omitempty"`
	GroupIDToken    *IdTokenType         `json:"groupIdToken,omitempty" validate:"omitempty"`
	IDToken         IdTokenType          `json:"idToken" validate:"required"`
	RemoteStartID   int32                `json:"remoteStartId" validate:"required"`
}

type RequestStartTransactionResponse

type RequestStartTransactionResponse struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status        string          `json:"status" validate:"required"`
	StatusInfo    *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
	TransactionID *string         `json:"transactionId,omitempty" validate:"omitempty,max=36"`
}

type RequestStopTransactionRequest

type RequestStopTransactionRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TransactionID string          `json:"transactionId" validate:"required,max=36"`
}

type RequestStopTransactionResponse

type RequestStopTransactionResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ReservationStatusUpdateRequest

type ReservationStatusUpdateRequest struct {
	CustomData              *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ReservationID           int32           `json:"reservationId" validate:"required"`
	ReservationUpdateStatus string          `json:"reservationUpdateStatus" validate:"required"`
}

type ReservationStatusUpdateResponse

type ReservationStatusUpdateResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type ReserveNowRequest

type ReserveNowRequest struct {
	ConnectorType  *string         `json:"connectorType,omitempty" validate:"omitempty,max=20"`
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID         *int32          `json:"evseId,omitempty" validate:"omitempty"`
	ExpiryDateTime time.Time       `json:"expiryDateTime" validate:"required"`
	GroupIDToken   *IdTokenType    `json:"groupIdToken,omitempty" validate:"omitempty"`
	ID             int32           `json:"id" validate:"required"`
	IDToken        IdTokenType     `json:"idToken" validate:"required"`
}

type ReserveNowResponse

type ReserveNowResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type ResetRequest

type ResetRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     *int32          `json:"evseId,omitempty" validate:"omitempty"`
	Type       string          `json:"type" validate:"required"`
}

type ResetResponse

type ResetResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SalesTariffEntryType

type SalesTariffEntryType struct {
	ConsumptionCost      []ConsumptionCostType    `json:"consumptionCost,omitempty" validate:"omitempty"`
	CustomData           *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	EPriceLevel          *int32                   `json:"ePriceLevel,omitempty" validate:"omitempty"`
	RelativeTimeInterval RelativeTimeIntervalType `json:"relativeTimeInterval" validate:"required"`
}

type SalesTariffType

type SalesTariffType struct {
	CustomData             *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	ID                     int32                  `json:"id" validate:"required"`
	NumEPriceLevels        *int32                 `json:"numEPriceLevels,omitempty" validate:"omitempty"`
	SalesTariffDescription *string                `json:"salesTariffDescription,omitempty" validate:"omitempty,max=32"`
	SalesTariffEntry       []SalesTariffEntryType `json:"salesTariffEntry" validate:"required"`
}

type SampledValueType

type SampledValueType struct {
	Context          *string               `json:"context,omitempty" validate:"omitempty"`
	CustomData       *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	Location         *string               `json:"location,omitempty" validate:"omitempty"`
	Measurand        *string               `json:"measurand,omitempty" validate:"omitempty"`
	Phase            *string               `json:"phase,omitempty" validate:"omitempty"`
	SignedMeterValue *SignedMeterValueType `json:"signedMeterValue,omitempty" validate:"omitempty"`
	UnitOfMeasure    *UnitOfMeasureType    `json:"unitOfMeasure,omitempty" validate:"omitempty"`
	Value            decimal.Decimal       `json:"value" validate:"required"`
}

type SecurityEventNotificationRequest

type SecurityEventNotificationRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TechInfo   *string         `json:"techInfo,omitempty" validate:"omitempty,max=255"`
	Timestamp  time.Time       `json:"timestamp" validate:"required"`
	Type       string          `json:"type" validate:"required,max=50"`
}

type SecurityEventNotificationResponse

type SecurityEventNotificationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type SendLocalListRequest

type SendLocalListRequest struct {
	CustomData             *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	LocalAuthorizationList []AuthorizationData `json:"localAuthorizationList,omitempty" validate:"omitempty"`
	UpdateType             string              `json:"updateType" validate:"required"`
	VersionNumber          int32               `json:"versionNumber" validate:"required"`
}

type SendLocalListResponse

type SendLocalListResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetChargingProfileRequest

type SetChargingProfileRequest struct {
	ChargingProfile ChargingProfileType `json:"chargingProfile" validate:"required"`
	CustomData      *CustomDataType     `json:"customData,omitempty" validate:"omitempty"`
	EVSEID          int32               `json:"evseId" validate:"required"`
}

type SetChargingProfileResponse

type SetChargingProfileResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetDERControlRequest

type SetDERControlRequest struct {
	ControlID         string                 `json:"controlId" validate:"required,max=36"`
	ControlType       string                 `json:"controlType" validate:"required"`
	Curve             *DERCurveType          `json:"curve,omitempty" validate:"omitempty"`
	CustomData        *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	EnterService      *EnterServiceType      `json:"enterService,omitempty" validate:"omitempty"`
	FixedPFAbsorb     *FixedPFType           `json:"fixedPFAbsorb,omitempty" validate:"omitempty"`
	FixedPFInject     *FixedPFType           `json:"fixedPFInject,omitempty" validate:"omitempty"`
	FixedVar          *FixedVarType          `json:"fixedVar,omitempty" validate:"omitempty"`
	FreqDroop         *FreqDroopType         `json:"freqDroop,omitempty" validate:"omitempty"`
	Gradient          *GradientType          `json:"gradient,omitempty" validate:"omitempty"`
	IsDefault         bool                   `json:"isDefault"`
	LimitMaxDischarge *LimitMaxDischargeType `json:"limitMaxDischarge,omitempty" validate:"omitempty"`
}

type SetDERControlResponse

type SetDERControlResponse struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status        string          `json:"status" validate:"required"`
	StatusInfo    *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
	SupersededIds []string        `json:"supersededIds,omitempty" validate:"omitempty"`
}

type SetDefaultTariffRequest

type SetDefaultTariffRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     int32           `json:"evseId" validate:"required"`
	Tariff     TariffType      `json:"tariff" validate:"required"`
}

type SetDefaultTariffResponse

type SetDefaultTariffResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetDisplayMessageRequest

type SetDisplayMessageRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Message    MessageInfoType `json:"message" validate:"required"`
}

type SetDisplayMessageResponse

type SetDisplayMessageResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetMonitoringBaseRequest

type SetMonitoringBaseRequest struct {
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	MonitoringBase string          `json:"monitoringBase" validate:"required"`
}

type SetMonitoringBaseResponse

type SetMonitoringBaseResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetMonitoringDataType

type SetMonitoringDataType struct {
	Component           ComponentType                  `json:"component" validate:"required"`
	CustomData          *CustomDataType                `json:"customData,omitempty" validate:"omitempty"`
	ID                  *int32                         `json:"id,omitempty" validate:"omitempty"`
	PeriodicEventStream *PeriodicEventStreamParamsType `json:"periodicEventStream,omitempty" validate:"omitempty"`
	Severity            int32                          `json:"severity" validate:"required"`
	Transaction         *bool                          `json:"transaction,omitempty" validate:"omitempty"`
	Type                string                         `json:"type" validate:"required"`
	Value               decimal.Decimal                `json:"value" validate:"required"`
	Variable            VariableType                   `json:"variable" validate:"required"`
}

type SetMonitoringLevelRequest

type SetMonitoringLevelRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Severity   int32           `json:"severity" validate:"required"`
}

type SetMonitoringLevelResponse

type SetMonitoringLevelResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetMonitoringResultType

type SetMonitoringResultType struct {
	Component  ComponentType   `json:"component" validate:"required"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ID         *int32          `json:"id,omitempty" validate:"omitempty"`
	Severity   int32           `json:"severity" validate:"required"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
	Type       string          `json:"type" validate:"required"`
	Variable   VariableType    `json:"variable" validate:"required"`
}

type SetNetworkProfileRequest

type SetNetworkProfileRequest struct {
	ConfigurationSlot int32                        `json:"configurationSlot" validate:"required"`
	ConnectionData    NetworkConnectionProfileType `json:"connectionData" validate:"required"`
	CustomData        *CustomDataType              `json:"customData,omitempty" validate:"omitempty"`
}

type SetNetworkProfileResponse

type SetNetworkProfileResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SetVariableDataType

type SetVariableDataType struct {
	AttributeType  *string         `json:"attributeType,omitempty" validate:"omitempty"`
	AttributeValue string          `json:"attributeValue" validate:"required,max=2500"`
	Component      ComponentType   `json:"component" validate:"required"`
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Variable       VariableType    `json:"variable" validate:"required"`
}

type SetVariableMonitoringRequest

type SetVariableMonitoringRequest struct {
	CustomData        *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	SetMonitoringData []SetMonitoringDataType `json:"setMonitoringData" validate:"required"`
}

type SetVariableMonitoringResponse

type SetVariableMonitoringResponse struct {
	CustomData          *CustomDataType           `json:"customData,omitempty" validate:"omitempty"`
	SetMonitoringResult []SetMonitoringResultType `json:"setMonitoringResult" validate:"required"`
}

type SetVariableResultType

type SetVariableResultType struct {
	AttributeStatus     string          `json:"attributeStatus" validate:"required"`
	AttributeStatusInfo *StatusInfoType `json:"attributeStatusInfo,omitempty" validate:"omitempty"`
	AttributeType       *string         `json:"attributeType,omitempty" validate:"omitempty"`
	Component           ComponentType   `json:"component" validate:"required"`
	CustomData          *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Variable            VariableType    `json:"variable" validate:"required"`
}

type SetVariablesRequest

type SetVariablesRequest struct {
	CustomData      *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	SetVariableData []SetVariableDataType `json:"setVariableData" validate:"required"`
}

type SetVariablesResponse

type SetVariablesResponse struct {
	CustomData        *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	SetVariableResult []SetVariableResultType `json:"setVariableResult" validate:"required"`
}

type SignCertificateRequest

type SignCertificateRequest struct {
	CertificateType     *string                  `json:"certificateType,omitempty" validate:"omitempty"`
	Csr                 string                   `json:"csr" validate:"required,max=5500"`
	CustomData          *CustomDataType          `json:"customData,omitempty" validate:"omitempty"`
	HashRootCertificate *CertificateHashDataType `json:"hashRootCertificate,omitempty" validate:"omitempty"`
	RequestID           *int32                   `json:"requestId,omitempty" validate:"omitempty"`
}

type SignCertificateResponse

type SignCertificateResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type SignedMeterValueType

type SignedMeterValueType struct {
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EncodingMethod  string          `json:"encodingMethod" validate:"required,max=50"`
	PublicKey       *string         `json:"publicKey,omitempty" validate:"omitempty,max=2500"`
	SignedMeterData string          `json:"signedMeterData" validate:"required,max=32768"`
	SigningMethod   *string         `json:"signingMethod,omitempty" validate:"omitempty,max=50"`
}

type StatusInfoType

type StatusInfoType struct {
	AdditionalInfo *string         `json:"additionalInfo,omitempty" validate:"omitempty,max=1024"`
	CustomData     *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	ReasonCode     string          `json:"reasonCode" validate:"required,max=20"`
}

type StatusNotificationRequest

type StatusNotificationRequest struct {
	ConnectorID     int32           `json:"connectorId" validate:"required"`
	ConnectorStatus string          `json:"connectorStatus" validate:"required"`
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID          int32           `json:"evseId" validate:"required"`
	Timestamp       time.Time       `json:"timestamp" validate:"required"`
}

type StatusNotificationResponse

type StatusNotificationResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type StreamDataElementType added in v0.1.7

type StreamDataElementType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	T          decimal.Decimal `json:"t" validate:"required"`
	V          string          `json:"v" validate:"required,max=2500"`
}

type TariffAssignmentType

type TariffAssignmentType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEIds    []int32         `json:"evseIds,omitempty" validate:"omitempty"`
	IDTokens   []string        `json:"idTokens,omitempty" validate:"omitempty"`
	TariffID   string          `json:"tariffId" validate:"required,max=60"`
	TariffKind string          `json:"tariffKind" validate:"required"`
	ValidFrom  *time.Time      `json:"validFrom,omitempty" validate:"omitempty"`
}

type TariffConditionsFixedType

type TariffConditionsFixedType struct {
	CustomData         *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	DayOfWeek          []string        `json:"dayOfWeek,omitempty" validate:"omitempty"`
	EndTimeOfDay       *string         `json:"endTimeOfDay,omitempty" validate:"omitempty"`
	EVSEKind           *string         `json:"evseKind,omitempty" validate:"omitempty"`
	PaymentBrand       *string         `json:"paymentBrand,omitempty" validate:"omitempty,max=20"`
	PaymentRecognition *string         `json:"paymentRecognition,omitempty" validate:"omitempty,max=20"`
	StartTimeOfDay     *string         `json:"startTimeOfDay,omitempty" validate:"omitempty"`
	ValidFromDate      *string         `json:"validFromDate,omitempty" validate:"omitempty"`
	ValidToDate        *string         `json:"validToDate,omitempty" validate:"omitempty"`
}

type TariffConditionsType

type TariffConditionsType struct {
	CustomData      *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	DayOfWeek       []string         `json:"dayOfWeek,omitempty" validate:"omitempty"`
	EndTimeOfDay    *string          `json:"endTimeOfDay,omitempty" validate:"omitempty"`
	EVSEKind        *string          `json:"evseKind,omitempty" validate:"omitempty"`
	MaxChargingTime *int32           `json:"maxChargingTime,omitempty" validate:"omitempty"`
	MaxCurrent      *decimal.Decimal `json:"maxCurrent,omitempty" validate:"omitempty"`
	MaxEnergy       *decimal.Decimal `json:"maxEnergy,omitempty" validate:"omitempty"`
	MaxIdleTime     *int32           `json:"maxIdleTime,omitempty" validate:"omitempty"`
	MaxPower        *decimal.Decimal `json:"maxPower,omitempty" validate:"omitempty"`
	MaxTime         *int32           `json:"maxTime,omitempty" validate:"omitempty"`
	MinChargingTime *int32           `json:"minChargingTime,omitempty" validate:"omitempty"`
	MinCurrent      *decimal.Decimal `json:"minCurrent,omitempty" validate:"omitempty"`
	MinEnergy       *decimal.Decimal `json:"minEnergy,omitempty" validate:"omitempty"`
	MinIdleTime     *int32           `json:"minIdleTime,omitempty" validate:"omitempty"`
	MinPower        *decimal.Decimal `json:"minPower,omitempty" validate:"omitempty"`
	MinTime         *int32           `json:"minTime,omitempty" validate:"omitempty"`
	StartTimeOfDay  *string          `json:"startTimeOfDay,omitempty" validate:"omitempty"`
	ValidFromDate   *string          `json:"validFromDate,omitempty" validate:"omitempty"`
	ValidToDate     *string          `json:"validToDate,omitempty" validate:"omitempty"`
}

type TariffEnergyPriceType

type TariffEnergyPriceType struct {
	Conditions *TariffConditionsType `json:"conditions,omitempty" validate:"omitempty"`
	CustomData *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	PriceKwh   decimal.Decimal       `json:"priceKwh" validate:"required"`
}

type TariffEnergyType

type TariffEnergyType struct {
	CustomData *CustomDataType         `json:"customData,omitempty" validate:"omitempty"`
	Prices     []TariffEnergyPriceType `json:"prices" validate:"required"`
	TaxRates   []TaxRateType           `json:"taxRates,omitempty" validate:"omitempty"`
}

type TariffFixedPriceType

type TariffFixedPriceType struct {
	Conditions *TariffConditionsFixedType `json:"conditions,omitempty" validate:"omitempty"`
	CustomData *CustomDataType            `json:"customData,omitempty" validate:"omitempty"`
	PriceFixed decimal.Decimal            `json:"priceFixed" validate:"required"`
}

type TariffFixedType

type TariffFixedType struct {
	CustomData *CustomDataType        `json:"customData,omitempty" validate:"omitempty"`
	Prices     []TariffFixedPriceType `json:"prices" validate:"required"`
	TaxRates   []TaxRateType          `json:"taxRates,omitempty" validate:"omitempty"`
}

type TariffTimePriceType

type TariffTimePriceType struct {
	Conditions  *TariffConditionsType `json:"conditions,omitempty" validate:"omitempty"`
	CustomData  *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	PriceMinute decimal.Decimal       `json:"priceMinute" validate:"required"`
}

type TariffTimeType

type TariffTimeType struct {
	CustomData *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	Prices     []TariffTimePriceType `json:"prices" validate:"required"`
	TaxRates   []TaxRateType         `json:"taxRates,omitempty" validate:"omitempty"`
}

type TariffType

type TariffType struct {
	ChargingTime     *TariffTimeType      `json:"chargingTime,omitempty" validate:"omitempty"`
	Currency         string               `json:"currency" validate:"required,max=3"`
	CustomData       *CustomDataType      `json:"customData,omitempty" validate:"omitempty"`
	Description      []MessageContentType `json:"description,omitempty" validate:"omitempty"`
	Energy           *TariffEnergyType    `json:"energy,omitempty" validate:"omitempty"`
	FixedFee         *TariffFixedType     `json:"fixedFee,omitempty" validate:"omitempty"`
	IdleTime         *TariffTimeType      `json:"idleTime,omitempty" validate:"omitempty"`
	MaxCost          *PriceType           `json:"maxCost,omitempty" validate:"omitempty"`
	MinCost          *PriceType           `json:"minCost,omitempty" validate:"omitempty"`
	ReservationFixed *TariffFixedType     `json:"reservationFixed,omitempty" validate:"omitempty"`
	ReservationTime  *TariffTimeType      `json:"reservationTime,omitempty" validate:"omitempty"`
	TariffID         string               `json:"tariffId" validate:"required,max=60"`
	ValidFrom        *time.Time           `json:"validFrom,omitempty" validate:"omitempty"`
}

type TaxRateType

type TaxRateType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Stack      *int32          `json:"stack,omitempty" validate:"omitempty"`
	Tax        decimal.Decimal `json:"tax" validate:"required"`
	Type       string          `json:"type" validate:"required,max=20"`
}

type TaxRuleType

type TaxRuleType struct {
	AppliesToEnergyFee          bool               `json:"appliesToEnergyFee"`
	AppliesToMinimumMaximumCost bool               `json:"appliesToMinimumMaximumCost"`
	AppliesToOverstayFee        bool               `json:"appliesToOverstayFee"`
	AppliesToParkingFee         bool               `json:"appliesToParkingFee"`
	CustomData                  *CustomDataType    `json:"customData,omitempty" validate:"omitempty"`
	TaxIncludedInPrice          *bool              `json:"taxIncludedInPrice,omitempty" validate:"omitempty"`
	TaxRate                     RationalNumberType `json:"taxRate" validate:"required"`
	TaxRuleID                   int32              `json:"taxRuleID" validate:"required"`
	TaxRuleName                 *string            `json:"taxRuleName,omitempty" validate:"omitempty,max=100"`
}

type TotalCostType

type TotalCostType struct {
	ChargingTime     *PriceType      `json:"chargingTime,omitempty" validate:"omitempty"`
	Currency         string          `json:"currency" validate:"required,max=3"`
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Energy           *PriceType      `json:"energy,omitempty" validate:"omitempty"`
	Fixed            *PriceType      `json:"fixed,omitempty" validate:"omitempty"`
	IdleTime         *PriceType      `json:"idleTime,omitempty" validate:"omitempty"`
	ReservationFixed *PriceType      `json:"reservationFixed,omitempty" validate:"omitempty"`
	ReservationTime  *PriceType      `json:"reservationTime,omitempty" validate:"omitempty"`
	Total            TotalPriceType  `json:"total" validate:"required"`
	TypeOfCost       string          `json:"typeOfCost" validate:"required"`
}

type TotalPriceType

type TotalPriceType struct {
	CustomData *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	ExclTax    *decimal.Decimal `json:"exclTax,omitempty" validate:"omitempty"`
	InclTax    *decimal.Decimal `json:"inclTax,omitempty" validate:"omitempty"`
}

type TotalUsageType

type TotalUsageType struct {
	ChargingTime    int32           `json:"chargingTime" validate:"required"`
	CustomData      *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Energy          decimal.Decimal `json:"energy" validate:"required"`
	IdleTime        int32           `json:"idleTime" validate:"required"`
	ReservationTime *int32          `json:"reservationTime,omitempty" validate:"omitempty"`
}

type TransactionEventRequest

type TransactionEventRequest struct {
	CableMaxCurrent       *int32           `json:"cableMaxCurrent,omitempty" validate:"omitempty"`
	CostDetails           *CostDetailsType `json:"costDetails,omitempty" validate:"omitempty"`
	CustomData            *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EventType             string           `json:"eventType" validate:"required"`
	EVSE                  *EVSEType        `json:"evse,omitempty" validate:"omitempty"`
	EVSESleep             *bool            `json:"evseSleep,omitempty" validate:"omitempty"`
	IDToken               *IdTokenType     `json:"idToken,omitempty" validate:"omitempty"`
	MeterValue            []MeterValueType `json:"meterValue,omitempty" validate:"omitempty"`
	NumberOfPhasesUsed    *int32           `json:"numberOfPhasesUsed,omitempty" validate:"omitempty"`
	Offline               *bool            `json:"offline,omitempty" validate:"omitempty"`
	PreconditioningStatus *string          `json:"preconditioningStatus,omitempty" validate:"omitempty"`
	ReservationID         *int32           `json:"reservationId,omitempty" validate:"omitempty"`
	SeqNo                 int32            `json:"seqNo" validate:"required"`
	Timestamp             time.Time        `json:"timestamp" validate:"required"`
	TransactionInfo       TransactionType  `json:"transactionInfo" validate:"required"`
	TriggerReason         string           `json:"triggerReason" validate:"required"`
}

type TransactionEventResponse

type TransactionEventResponse struct {
	ChargingPriority            *int32                `json:"chargingPriority,omitempty" validate:"omitempty"`
	CustomData                  *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	IDTokenInfo                 *IdTokenInfoType      `json:"idTokenInfo,omitempty" validate:"omitempty"`
	TotalCost                   *decimal.Decimal      `json:"totalCost,omitempty" validate:"omitempty"`
	TransactionLimit            *TransactionLimitType `json:"transactionLimit,omitempty" validate:"omitempty"`
	UpdatedPersonalMessage      *MessageContentType   `json:"updatedPersonalMessage,omitempty" validate:"omitempty"`
	UpdatedPersonalMessageExtra []MessageContentType  `json:"updatedPersonalMessageExtra,omitempty" validate:"omitempty"`
}

type TransactionLimitType

type TransactionLimitType struct {
	CustomData *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	MaxCost    *decimal.Decimal `json:"maxCost,omitempty" validate:"omitempty"`
	MaxEnergy  *decimal.Decimal `json:"maxEnergy,omitempty" validate:"omitempty"`
	MaxSoC     *int32           `json:"maxSoC,omitempty" validate:"omitempty"`
	MaxTime    *int32           `json:"maxTime,omitempty" validate:"omitempty"`
}

type TransactionType

type TransactionType struct {
	ChargingState     *string               `json:"chargingState,omitempty" validate:"omitempty"`
	CustomData        *CustomDataType       `json:"customData,omitempty" validate:"omitempty"`
	OperationMode     *string               `json:"operationMode,omitempty" validate:"omitempty"`
	RemoteStartID     *int32                `json:"remoteStartId,omitempty" validate:"omitempty"`
	StoppedReason     *string               `json:"stoppedReason,omitempty" validate:"omitempty"`
	TariffID          *string               `json:"tariffId,omitempty" validate:"omitempty,max=60"`
	TimeSpentCharging *int32                `json:"timeSpentCharging,omitempty" validate:"omitempty"`
	TransactionID     string                `json:"transactionId" validate:"required,max=36"`
	TransactionLimit  *TransactionLimitType `json:"transactionLimit,omitempty" validate:"omitempty"`
}

type TriggerMessageRequest

type TriggerMessageRequest struct {
	CustomData       *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	CustomTrigger    *string         `json:"customTrigger,omitempty" validate:"omitempty,max=50"`
	EVSE             *EVSEType       `json:"evse,omitempty" validate:"omitempty"`
	RequestedMessage string          `json:"requestedMessage" validate:"required"`
}

type TriggerMessageResponse

type TriggerMessageResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type UnitOfMeasureType

type UnitOfMeasureType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Multiplier *int32          `json:"multiplier,omitempty" validate:"omitempty"`
	Unit       *string         `json:"unit,omitempty" validate:"omitempty,max=20"`
}

type UnlockConnectorRequest

type UnlockConnectorRequest struct {
	ConnectorID int32           `json:"connectorId" validate:"required"`
	CustomData  *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID      int32           `json:"evseId" validate:"required"`
}

type UnlockConnectorResponse

type UnlockConnectorResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type UnpublishFirmwareRequest

type UnpublishFirmwareRequest struct {
	Checksum   string          `json:"checksum" validate:"required,max=32"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
}

type UnpublishFirmwareResponse

type UnpublishFirmwareResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
}

type UpdateDynamicScheduleRequest

type UpdateDynamicScheduleRequest struct {
	ChargingProfileID int32                      `json:"chargingProfileId" validate:"required"`
	CustomData        *CustomDataType            `json:"customData,omitempty" validate:"omitempty"`
	ScheduleUpdate    ChargingScheduleUpdateType `json:"scheduleUpdate" validate:"required"`
}

type UpdateDynamicScheduleResponse

type UpdateDynamicScheduleResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type UpdateFirmwareRequest

type UpdateFirmwareRequest struct {
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Firmware      FirmwareType    `json:"firmware" validate:"required"`
	RequestID     int32           `json:"requestId" validate:"required"`
	Retries       *int32          `json:"retries,omitempty" validate:"omitempty"`
	RetryInterval *int32          `json:"retryInterval,omitempty" validate:"omitempty"`
}

type UpdateFirmwareResponse

type UpdateFirmwareResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type UsePriorityChargingRequest

type UsePriorityChargingRequest struct {
	Activate      bool            `json:"activate"`
	CustomData    *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	TransactionID string          `json:"transactionId" validate:"required,max=36"`
}

type UsePriorityChargingResponse

type UsePriorityChargingResponse struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
}

type V2XChargingParametersType

type V2XChargingParametersType struct {
	CustomData            *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	EVMaxEnergyRequest    *decimal.Decimal `json:"evMaxEnergyRequest,omitempty" validate:"omitempty"`
	EVMaxV2XEnergyRequest *decimal.Decimal `json:"evMaxV2XEnergyRequest,omitempty" validate:"omitempty"`
	EVMinEnergyRequest    *decimal.Decimal `json:"evMinEnergyRequest,omitempty" validate:"omitempty"`
	EVMinV2XEnergyRequest *decimal.Decimal `json:"evMinV2XEnergyRequest,omitempty" validate:"omitempty"`
	EVTargetEnergyRequest *decimal.Decimal `json:"evTargetEnergyRequest,omitempty" validate:"omitempty"`
	MaxChargeCurrent      *decimal.Decimal `json:"maxChargeCurrent,omitempty" validate:"omitempty"`
	MaxChargePower        *decimal.Decimal `json:"maxChargePower,omitempty" validate:"omitempty"`
	MaxChargePower_L2     *decimal.Decimal `json:"maxChargePower_L2,omitempty" validate:"omitempty"`
	MaxChargePower_L3     *decimal.Decimal `json:"maxChargePower_L3,omitempty" validate:"omitempty"`
	MaxDischargeCurrent   *decimal.Decimal `json:"maxDischargeCurrent,omitempty" validate:"omitempty"`
	MaxDischargePower     *decimal.Decimal `json:"maxDischargePower,omitempty" validate:"omitempty"`
	MaxDischargePower_L2  *decimal.Decimal `json:"maxDischargePower_L2,omitempty" validate:"omitempty"`
	MaxDischargePower_L3  *decimal.Decimal `json:"maxDischargePower_L3,omitempty" validate:"omitempty"`
	MaxVoltage            *decimal.Decimal `json:"maxVoltage,omitempty" validate:"omitempty"`
	MinChargeCurrent      *decimal.Decimal `json:"minChargeCurrent,omitempty" validate:"omitempty"`
	MinChargePower        *decimal.Decimal `json:"minChargePower,omitempty" validate:"omitempty"`
	MinChargePower_L2     *decimal.Decimal `json:"minChargePower_L2,omitempty" validate:"omitempty"`
	MinChargePower_L3     *decimal.Decimal `json:"minChargePower_L3,omitempty" validate:"omitempty"`
	MinDischargeCurrent   *decimal.Decimal `json:"minDischargeCurrent,omitempty" validate:"omitempty"`
	MinDischargePower     *decimal.Decimal `json:"minDischargePower,omitempty" validate:"omitempty"`
	MinDischargePower_L2  *decimal.Decimal `json:"minDischargePower_L2,omitempty" validate:"omitempty"`
	MinDischargePower_L3  *decimal.Decimal `json:"minDischargePower_L3,omitempty" validate:"omitempty"`
	MinVoltage            *decimal.Decimal `json:"minVoltage,omitempty" validate:"omitempty"`
	TargetSoC             *int32           `json:"targetSoC,omitempty" validate:"omitempty"`
}

type V2XFreqWattPointType

type V2XFreqWattPointType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Frequency  decimal.Decimal `json:"frequency" validate:"required"`
	Power      decimal.Decimal `json:"power" validate:"required"`
}

type V2XSignalWattPointType

type V2XSignalWattPointType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Power      decimal.Decimal `json:"power" validate:"required"`
	Signal     int32           `json:"signal" validate:"required"`
}

type VPNType

type VPNType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Group      *string         `json:"group,omitempty" validate:"omitempty,max=50"`
	Key        string          `json:"key" validate:"required,max=255"`
	Password   string          `json:"password" validate:"required,max=64"`
	Server     string          `json:"server" validate:"required,max=2000"`
	Type       string          `json:"type" validate:"required"`
	User       string          `json:"user" validate:"required,max=50"`
}

type VariableAttributeType

type VariableAttributeType struct {
	Constant   *bool           `json:"constant,omitempty" validate:"omitempty"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Mutability *string         `json:"mutability,omitempty" validate:"omitempty"`
	Persistent *bool           `json:"persistent,omitempty" validate:"omitempty"`
	Type       *string         `json:"type,omitempty" validate:"omitempty"`
	Value      *string         `json:"value,omitempty" validate:"omitempty,max=2500"`
}

type VariableCharacteristicsType

type VariableCharacteristicsType struct {
	CustomData         *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	DataType           string           `json:"dataType" validate:"required"`
	MaxElements        *int32           `json:"maxElements,omitempty" validate:"omitempty"`
	MaxLimit           *decimal.Decimal `json:"maxLimit,omitempty" validate:"omitempty"`
	MinLimit           *decimal.Decimal `json:"minLimit,omitempty" validate:"omitempty"`
	SupportsMonitoring bool             `json:"supportsMonitoring"`
	Unit               *string          `json:"unit,omitempty" validate:"omitempty,max=16"`
	ValuesList         *string          `json:"valuesList,omitempty" validate:"omitempty,max=1000"`
}

type VariableMonitoringType

type VariableMonitoringType struct {
	CustomData            *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EventNotificationType string          `json:"eventNotificationType" validate:"required"`
	ID                    int32           `json:"id" validate:"required"`
	Severity              int32           `json:"severity" validate:"required"`
	Transaction           bool            `json:"transaction"`
	Type                  string          `json:"type" validate:"required"`
	Value                 decimal.Decimal `json:"value" validate:"required"`
}

type VariableType

type VariableType struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	Instance   *string         `json:"instance,omitempty" validate:"omitempty,max=50"`
	Name       string          `json:"name" validate:"required,max=50"`
}

type VatNumberValidationRequest

type VatNumberValidationRequest struct {
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     *int32          `json:"evseId,omitempty" validate:"omitempty"`
	VatNumber  string          `json:"vatNumber" validate:"required,max=20"`
}

type VatNumberValidationResponse

type VatNumberValidationResponse struct {
	Company    *AddressType    `json:"company,omitempty" validate:"omitempty"`
	CustomData *CustomDataType `json:"customData,omitempty" validate:"omitempty"`
	EVSEID     *int32          `json:"evseId,omitempty" validate:"omitempty"`
	Status     string          `json:"status" validate:"required"`
	StatusInfo *StatusInfoType `json:"statusInfo,omitempty" validate:"omitempty"`
	VatNumber  string          `json:"vatNumber" validate:"required,max=20"`
}

type VoltageParamsType

type VoltageParamsType struct {
	CustomData           *CustomDataType  `json:"customData,omitempty" validate:"omitempty"`
	Hv10MinMeanTripDelay *decimal.Decimal `json:"hv10MinMeanTripDelay,omitempty" validate:"omitempty"`
	Hv10MinMeanValue     *decimal.Decimal `json:"hv10MinMeanValue,omitempty" validate:"omitempty"`
	PowerDuringCessation *string          `json:"powerDuringCessation,omitempty" validate:"omitempty"`
}

Source Files

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL