homebridge-zaptec
Version:
Control your Zaptec EV chargers
2,289 lines • 81.2 kB
TypeScript
import FormData from "form-data";
/**
* 0 = group by charger (default), 1 = group by calendar day, 2 = group by user.
*
* 0 = Charger
*
* 1 = Day
*
* 2 = User
* @format int32
*/
export declare enum AggregateGroup {
Charger = 0,
Day = 1,
User = 2
}
export interface ChargePriority {
/**
*
*
* 1 = One
*
* 3 = Three
*/
prioritizedPhases?: MaxPhase;
/** @format double */
prioritizedCurrent?: number | null;
}
export interface ChargerExternalUpdateModel {
/**
* Adjustable between 0 and 32A. If charge current is below the charger minimum charge
* current (usually 6A), no charge current will be allocated.
* @format double
*/
maxChargeCurrent?: number | null;
/**
*
*
* 1 = One
*
* 3 = Three
*/
maxChargePhases?: MaxPhase;
/**
* The minimum allocated charge current. If there is not enough current available to
* provide the chargers minimum current it will not be able to charge. Usually set to
* match the vehicle minimum current for charging (defaults to 6A).
* @format double
*/
minChargeCurrent?: number | null;
/**
* Adjustable between 0 and 32A. If offline charge current is below the charger minimum charge
* current (usually 6A), no charge current will be allocated when offline.
* Offline current override should only be done in special cases where charging
* stations should not automatically optimize offline current. In most cases
* this setting should be set to -1 to allow ZapCloud to optimise offline current.
* If -1, offline current will be automatically allocated.
* @format double
*/
offlineChargeCurrent?: number | null;
/**
*
*
* 0 = None
*
* 1 = Phase_1
*
* 2 = Phase_2
*
* 4 = Phase_3
*
* 7 = All
*/
offlineChargePhase?: Phases;
/**
* The interval in seconds for a charger to report meter values.
* Defaults to 900 seconds for Pro and 3600 seconds for Go
* @format int32
*/
meterValueInterval?: number | null;
}
export interface ChargerListModel {
/**
* Get the unique identifier of the charge point.
* @format uuid
*/
id?: string;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {DeviceId} instead.
* @deprecated
*/
mid?: string | null;
/** Get the deviceId (serialNo) of the charging stations used with the charge point. */
deviceId?: string | null;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {Name} instead.
* @deprecated
*/
serialNo?: string | null;
/** Get the name of the charge point. */
name?: string | null;
/**
* Get the date and time the installation was created.
* @format date-time
*/
createdOnDate?: string | null;
/**
* Get the unique identifier the charge point is installed in.
* @format uuid
*/
circuitId?: string | null;
/** Get a value indicating whether the charge point is active. */
active?: boolean | null;
/**
*
*
* 0 = None
*
* 1 = User
*
* 2 = Owner
*
* 4 = Maintainer
*
* 8 = Administrator
*
* 15 = Any
*
* 16 = Onboarding
*
* 32 = DeviceAdministrator
*
* 64 = PartnerAdministrator
*
* 128 = Technical
*
* 256 = InternalData
*/
currentUserRoles?: UserRoles;
/**
* Get the charger PIN code. This will only be provided if your user is system owner
* for the charge point.
*/
pin?: string | null;
/**
* Get the unique identifier of the chargers firmware template.
* @format uuid
*/
templateId?: string | null;
propertyOcppUrl?: string | null;
propertyOcppPassword?: string | null;
propertyPinOfflinePhase?: boolean | null;
propertyAuthenticationDisabled?: boolean | null;
hasSessions?: boolean | null;
/**
*
*
* 0 = None
*
* 1 = Phase_1
*
* 2 = Phase_2
*
* 4 = Phase_3
*
* 7 = All
*/
propertyOfflinePhaseOverride?: Phases;
/** @format double */
propertyOfflineCurrentOverride?: number | null;
/** @format date-time */
propertyOcppVerboseLogUntil?: string | null;
propertyOcppDefaultIdTag?: string | null;
/** @format int32 */
propertyOcppWebSocketPingInterval?: number | null;
/** @format double */
propertyPrioritizedCurrent?: number | null;
/**
*
*
* 1 = One
*
* 3 = Three
*/
propertyPrioritizedPhases?: MaxPhase;
/** @format double */
propertyMaxSinglePhaseChargeCurrent?: number | null;
/** @format int32 */
propertyOcppAvailability?: number | null;
/** @format int32 */
propertyOcppOfflineListVersion?: number | null;
/** @format double */
signedMeterValueKwh?: number | null;
signedMeterValue?: string | null;
/**
*
*
* 0 = Unknown
*
* 1 = Smart
*
* 2 = Portable
*
* 3 = HomeApm
*
* 4 = Apollo
*
* 5 = OtherApm
*
* 6 = GenericApm
*
* 7 = HanApm
*/
deviceType?: DeviceType;
installationName?: string | null;
/** @format uuid */
installationId?: string | null;
/**
*
*
* 0 = Native
*
* 1 = WebHooks
*
* 2 = Ocpp
*/
authenticationType?: InstallationAuthenticationType;
isAuthorizationRequired?: boolean | null;
/**
*
*
* 0 = Unknown
*
* 1 = Disconnected
*
* 2 = Connected_Requesting
*
* 3 = Connected_Charging
*
* 5 = Connected_Finished
*/
operatingMode?: ChargerOperatingMode;
isOnline?: boolean;
warnings?: string | null;
}
export interface ChargerListModelPagedData {
/** @format int32 */
pages?: number;
data?: ChargerListModel[] | null;
message?: string | null;
}
/**
*
*
* 0 = Unknown
*
* 1 = Disconnected
*
* 2 = Connected_Requesting
*
* 3 = Connected_Charging
*
* 5 = Connected_Finished
* @format int32
*/
export declare enum ChargerOperatingMode {
Unknown = 0,
Disconnected = 1,
ConnectedRequesting = 2,
ConnectedCharging = 3,
ConnectedFinished = 5
}
export interface ChargerStateModel {
/** @format uuid */
chargerId?: string;
/** @format int32 */
stateId?: number;
stateName?: string | null;
/** @format date-time */
timestamp?: string;
valueAsString?: string | null;
}
/**
*
*
* 0 = Unknown
*
* 1 = InChargePingReply
*
* 2 = OfflineModeOverride
*
* 102 = RestartCharger
*
* 103 = RestartMcu
*
* 104 = UpdateSettings
*
* 105 = RestartNtp
*
* 106 = ExitAppWithCode
*
* 200 = UpgradeFirmware
*
* 201 = UpgradeFirmwareForced
*
* 260 = ResetComErrors
*
* 261 = ResetNotifications
*
* 262 = ResetComWarnings
*
* 300 = LocalSettings
*
* 320 = SetPlcNpw
*
* 321 = SetPlcCCoMode
*
* 322 = SetPlcNmk
*
* 323 = SetRemotePlcNmk
*
* 324 = SetRemotePlcNpw
*
* 501 = StartCharging
*
* 502 = StopCharging
*
* 503 = ReportChargingState
*
* 504 = SetSessionId
*
* 505 = SetUserUuid
*
* 506 = StopChargingFinal
*
* 507 = ResumeCharging
*
* 601 = ShowGranted
*
* 602 = ShowDenied
*
* 603 = IndicateAppConnect
*
* 750 = ConfirmChargeCardAdded
*
* 751 = SetAuthenticationList
*
* 800 = Debug
*
* 801 = GetPlcTopology
*
* 802 = ResetPlc
*
* 803 = RemoteCommand
*
* 804 = RunGridTest
*
* 805 = ClearObservationCache
*
* 901 = RunPostProductionTest
*
* 902 = GetFirmwareVersion
*
* 950 = DumpPilotCounter
*
* 951 = RunPilotTest
*
* 10000 = CombinedMin
*
* 10001 = DeauthorizeAndStop
*
* 10999 = CombinedMax
* @format int32
*/
export declare enum CommandId {
Unknown = 0,
InChargePingReply = 1,
OfflineModeOverride = 2,
RestartCharger = 102,
RestartMcu = 103,
UpdateSettings = 104,
RestartNtp = 105,
ExitAppWithCode = 106,
UpgradeFirmware = 200,
UpgradeFirmwareForced = 201,
ResetComErrors = 260,
ResetNotifications = 261,
ResetComWarnings = 262,
LocalSettings = 300,
SetPlcNpw = 320,
SetPlcCCoMode = 321,
SetPlcNmk = 322,
SetRemotePlcNmk = 323,
SetRemotePlcNpw = 324,
StartCharging = 501,
StopCharging = 502,
ReportChargingState = 503,
SetSessionId = 504,
SetUserUuid = 505,
StopChargingFinal = 506,
ResumeCharging = 507,
ShowGranted = 601,
ShowDenied = 602,
IndicateAppConnect = 603,
ConfirmChargeCardAdded = 750,
SetAuthenticationList = 751,
Debug = 800,
GetPlcTopology = 801,
ResetPlc = 802,
RemoteCommand = 803,
RunGridTest = 804,
ClearObservationCache = 805,
RunPostProductionTest = 901,
GetFirmwareVersion = 902,
DumpPilotCounter = 950,
RunPilotTest = 951,
CombinedMin = 10000,
DeauthorizeAndStop = 10001,
CombinedMax = 10999
}
/**
*
*
* 0 = None
*
* 1 = Online
*
* 2 = Offline
*
* 4 = ReliableClock
*
* 8 = StoppedByRFID
*
* 16 = Signed
*
* 32 = Void
*
* 64 = Aborted
* @format int32
*/
export declare enum CommitMetadata {
None = 0,
Online = 1,
Offline = 2,
ReliableClock = 4,
StoppedByRFID = 8,
Signed = 16,
Void = 32,
Aborted = 64
}
export interface ConnectionDescriptor {
/**
*
*
* 0 = Amqp10
*/
type?: ConnectionType;
host?: string | null;
/** @format int32 */
port?: number;
useSSL?: boolean;
username?: string | null;
password?: string | null;
topic?: string | null;
subscription?: string | null;
}
/**
*
*
* 0 = Amqp10
* @format int32
*/
export declare enum ConnectionType {
Amqp10 = 0
}
/** Model containing all constants */
export interface ConstantsModel {
/** Key value list of languages supported in portal */
languages?: LanguageModel[] | null;
/** List of supported countries with country information */
countries?: Record<string, CountryModel>;
/** Key value list of installation categories */
installationCategories?: InstallationCategoryModel[] | null;
/** List of installation types with information */
installationTypes?: Record<string, InstallationTypeConstantModel>;
/** List of user roles with role ID */
userRoles?: Record<string, UserRoles>;
/** Electrical network types (Phase and system type) */
networkTypes?: Record<string, NetworkType>;
/** List of charger operating modes */
chargerOperationModes?: Record<string, ChargerOperatingMode>;
/** Electrical phases */
phases?: Record<string, Phases>;
/** @format uuid */
wildcardGuid?: string;
/** List of region info */
regionalInfo?: Record<string, RegionalInfoModel>;
/** List of codes indicating eg. info, error, .. */
messageCodes?: Record<string, MessageCode>;
/** List of codes used in Zaptec.ZapCloud.WebAPI.Models.Error response object */
errorCodes?: Record<string, ErrorCode>;
/**
* Smart device Settings
* @deprecated
*/
settings?: Record<string, SettingId>;
/**
* Smart device Commands
* @deprecated
*/
commands?: Record<string, CommandId>;
/**
* Smart device Observations
* @deprecated
*/
observations?: Record<string, ObservationId>;
/** Dict with device specific commandId, warnings and so on */
schema?: Record<string, SchemaModel>;
/** ZapCloud object types */
objectTypes?: Record<string, ObjectType>;
/** Portal frontend version */
version?: string | null;
/** @deprecated */
smartWarnings?: Record<string, number>;
/** @deprecated */
varisciteWarnings?: Record<string, VarisciteWarnings>;
/** Map of all electrical phase IDs */
phaseIdMap?: PhaseIdMapConstantModel[] | null;
/** Types of log messages from devices */
deviceLogTypes?: Record<string, DeviceLogType>;
features?: Record<string, Features>;
installationTypeConstraints?: Record<string, ConstraintErrors>;
sessionCommitMetadata?: Record<string, CommitMetadata>;
installationUpdateStatusCodes?: Record<string, InstallationUpdateStatusCodes>;
entityTypes?: Record<string, EntityType>;
deviceTypes?: Record<string, DeviceType>;
installationAuthenticationType?: Record<string, InstallationAuthenticationType>;
/** Energy price area info */
energyPrices?: EnergyPriceConstantModel;
/** List of valid types of User Actions */
userActionTypes?: Record<string, UserActionType>;
}
/**
*
*
* 0 = Valid
*
* 1 = MaxCircuits
*
* 2 = MaxCircuitCurrent
*
* 4 = MaxChargers
*
* 8 = UnsupportedFeature
*
* 16 = IncompatibleCharger
* @format int32
*/
export declare enum ConstraintErrors {
Valid = 0,
MaxCircuits = 1,
MaxCircuitCurrent = 2,
MaxChargers = 4,
UnsupportedFeature = 8,
IncompatibleCharger = 16
}
export interface CountryModel {
/** @format uuid */
id?: string;
code?: string | null;
name?: string | null;
timeZoneName?: string | null;
}
export interface CustomTotalChargerReportModel {
installationName?: string | null;
installationAddress?: string | null;
installationZipCode?: string | null;
installationCity?: string | null;
installationTimeZone?: string | null;
groupedBy?: string | null;
/** @format date-time */
fromdate?: string;
/** @format date-time */
enddate?: string;
totalUserChargerReportModel?: TotalUserChargerReportModel[] | null;
}
/**
*
*
* 0 = Unknown
*
* 1 = NO1
*
* 2 = NO2
*
* 3 = NO3
*
* 4 = NO4
*
* 5 = NO5
*
* 6 = SE1
*
* 7 = SE2
*
* 8 = SE3
*
* 9 = SE4
*
* 10 = DK1
*
* 11 = DK2
*
* 12 = FI
* @format int32
*/
export declare enum DeliveryArea {
Unknown = 0,
NO1 = 1,
NO2 = 2,
NO3 = 3,
NO4 = 4,
NO5 = 5,
SE1 = 6,
SE2 = 7,
SE3 = 8,
SE4 = 9,
DK1 = 10,
DK2 = 11,
FI = 12
}
/**
* Determines the detail level to return.
*
* 0 = Summary
*
* 1 = EnergyDetails
* @format int32
*/
export declare enum DetailLevelFlags {
Summary = 0,
EnergyDetails = 1
}
/**
*
*
* 0 = OcppIn
*
* 1 = OcppOut
*
* 2 = OcppError
*
* 3 = OcppConnected
*
* 4 = OcppConnectionFailed
*
* 5 = OcppClientClose
*
* 6 = IotCommandExecuted
*
* 7 = IotCommandFailed
*
* 8 = IotCloudSettingUpdated
*
* 9 = SessionCommit
*
* 10 = OfflineSessionCommit
*
* 11 = AuthorizationRequest
*
* 12 = AuthorizationSuccess
*
* 13 = AuthorizationError
*
* 14 = AuthorizationFailed
* @format int32
*/
export declare enum DeviceLogType {
OcppIn = 0,
OcppOut = 1,
OcppError = 2,
OcppConnected = 3,
OcppConnectionFailed = 4,
OcppClientClose = 5,
IotCommandExecuted = 6,
IotCommandFailed = 7,
IotCloudSettingUpdated = 8,
SessionCommit = 9,
OfflineSessionCommit = 10,
AuthorizationRequest = 11,
AuthorizationSuccess = 12,
AuthorizationError = 13,
AuthorizationFailed = 14
}
/**
*
*
* 0 = Unknown
*
* 1 = Smart
*
* 2 = Portable
*
* 3 = HomeApm
*
* 4 = Apollo
*
* 5 = OtherApm
*
* 6 = GenericApm
*
* 7 = HanApm
* @format int32
*/
export declare enum DeviceType {
Unknown = 0,
Smart = 1,
Portable = 2,
HomeApm = 3,
Apollo = 4,
OtherApm = 5,
GenericApm = 6,
HanApm = 7
}
/** Energy price area info */
export interface EnergyPriceConstantModel {
deliveryArea?: Record<string, DeliveryArea>;
priceUnit?: Record<string, PriceUnit>;
countryDeliveryAreas?: Record<string, DeliveryArea[]>;
}
/**
*
*
* 0 = Unknown
*
* 1 = Installation
*
* 2 = Charger
* @format int32
*/
export declare enum EntityType {
Unknown = 0,
Installation = 1,
Charger = 2
}
/**
*
*
* 500 = Unknown
*
* 503 = MissingRequiredData
*
* 504 = UnknownSetting
*
* 505 = OperationFailedForUnknownReasons
*
* 506 = NotApplicableForUser
*
* 507 = UnknownUser
*
* 508 = RfidTokenInUse
*
* 509 = SignUpTooManyRequests
*
* 510 = EmailInUse
*
* 511 = CellPhoneInUse
*
* 512 = UnknownObject
*
* 513 = InvalidPassword
*
* 514 = IncorrectPassword
*
* 515 = UserActivationLinkExpired
*
* 516 = LinkRequestExpired
*
* 517 = ChargerDeviceIdExists
*
* 518 = UnknownDeviceId
*
* 519 = UnknownCommand
*
* 520 = ErrorCommunicatingWithDevice
*
* 521 = StringIsNotAWellFormedVersion
*
* 522 = FirmwareVersionExists
*
* 523 = FirmwareFileExists
*
* 524 = CreateConflict
*
* 525 = DeviceFirmwareNotConfigured
*
* 526 = FeatureNotEnabled
*
* 527 = NotSupported
*
* 528 = DeviceCommandRejected
*
* 529 = InvalidFormat
*
* 530 = MailSendFailed
*
* 531 = ConcurrencyError
*
* 532 = ConfigurationError
*
* 533 = Forbidden
*
* 534 = InstallationTypeViolation
*
* 535 = PaymentFailed
*
* 536 = PaymentAuthorizationRequired
*
* 537 = OperationFailedActiveSubscriptions
*
* 538 = OperationFailedDueToChargerState
*
* 539 = InstallationConstraintViolation
*
* 540 = UnknownInstallationId
*
* 541 = UnknownEnergySensorId
* @format int32
*/
export declare enum ErrorCode {
Unknown = 500,
MissingRequiredData = 503,
UnknownSetting = 504,
OperationFailedForUnknownReasons = 505,
NotApplicableForUser = 506,
UnknownUser = 507,
RfidTokenInUse = 508,
SignUpTooManyRequests = 509,
EmailInUse = 510,
CellPhoneInUse = 511,
UnknownObject = 512,
InvalidPassword = 513,
IncorrectPassword = 514,
UserActivationLinkExpired = 515,
LinkRequestExpired = 516,
ChargerDeviceIdExists = 517,
UnknownDeviceId = 518,
UnknownCommand = 519,
ErrorCommunicatingWithDevice = 520,
StringIsNotAWellFormedVersion = 521,
FirmwareVersionExists = 522,
FirmwareFileExists = 523,
CreateConflict = 524,
DeviceFirmwareNotConfigured = 525,
FeatureNotEnabled = 526,
NotSupported = 527,
DeviceCommandRejected = 528,
InvalidFormat = 529,
MailSendFailed = 530,
ConcurrencyError = 531,
ConfigurationError = 532,
Forbidden = 533,
InstallationTypeViolation = 534,
PaymentFailed = 535,
PaymentAuthorizationRequired = 536,
OperationFailedActiveSubscriptions = 537,
OperationFailedDueToChargerState = 538,
InstallationConstraintViolation = 539,
UnknownInstallationId = 540,
UnknownEnergySensorId = 541
}
/**
*
*
* 0 = None
*
* 1 = Api_MessageSubscription
*
* 2 = Authentication_Internal
*
* 4 = PowerManagement_Apm
*
* 8 = PowerManagement_EcoMode
*
* 16 = PowerManagement_Schedule
*
* 32 = PowerManagement_Apm_PowerLimit
*
* 64 = Connectivity_4G
*
* 128 = Authentication_Ocpp
*
* 32768 = LoadBalacing
* @format int32
*/
export declare enum Features {
None = 0,
ApiMessageSubscription = 1,
AuthenticationInternal = 2,
PowerManagementApm = 4,
PowerManagementEcoMode = 8,
PowerManagementSchedule = 16,
PowerManagementApmPowerLimit = 32,
Connectivity4G = 64,
AuthenticationOcpp = 128,
LoadBalacing = 32768
}
/**
*
*
* 0 = User
*
* 1 = Charger
*
* 2 = ChargeCardName
* @format int32
*/
export declare enum GroupByOptions {
User = 0,
Charger = 1,
ChargeCardName = 2
}
/**
*
*
* 0 = Native
*
* 1 = WebHooks
*
* 2 = Ocpp
* @format int32
*/
export declare enum InstallationAuthenticationType {
Native = 0,
WebHooks = 1,
Ocpp = 2
}
/**
*
*
* 0 = Manual
*
* 1 = Schedule
*
* 2 = Auto
* @format int32
*/
export declare enum InstallationAvailableCurrentMode {
Manual = 0,
Schedule = 1,
Auto = 2
}
export interface InstallationCategoryModel {
/** @format uuid */
id?: string;
category?: string | null;
}
export interface InstallationChargeHistoryModel {
/** @format date-time */
fromDate?: string;
/** @format date-time */
endDate?: string;
/** @format uuid */
installationId?: string | null;
userIds?: string[] | null;
chargerIds?: string[] | null;
/**
*
*
* 0 = User
*
* 1 = Charger
*
* 2 = ChargeCardName
*/
groupBy?: GroupByOptions;
}
export interface InstallationChargerFirmwareModel {
/** @format uuid */
chargerId?: string;
deviceId?: string | null;
isOnline?: boolean | null;
currentVersion?: string | null;
availableVersion?: string | null;
/**
*
*
* 0 = Unknown
*
* 1 = Smart
*
* 2 = Portable
*
* 3 = HomeApm
*
* 4 = Apollo
*
* 5 = OtherApm
*
* 6 = GenericApm
*
* 7 = HanApm
*/
deviceType?: DeviceType;
isUpToDate?: boolean | null;
}
/**
* Determines the detail level to return for an installation.
*
* 0 = Default
*
* 1 = UserDetails
* @format int32
*/
export declare enum InstallationDetailLevelFlags {
Default = 0,
UserDetails = 1
}
export interface InstallationExternalUpdateModel {
/**
* Available current to set on all phases.
* @format double
*/
availableCurrent?: number | null;
/**
* Available current to set on phase 1. When setting current on individual phases, any
* phase without specified current will be set to default.
* @format double
*/
availableCurrentPhase1?: number | null;
/**
* Available current to set on phase 2. When setting current on individual phases, any
* phase without specified current will be set to default.
* @format double
*/
availableCurrentPhase2?: number | null;
/**
* Available current to set on phase 3. When setting current on individual phases, any
* phase without specified current will be set to default.
* @format double
*/
availableCurrentPhase3?: number | null;
/**
* The maximum allowed current for the installation. This setting requires caller to
* have service permission (electrician) for the installation.
* @format double
*/
maxCurrent?: number | null;
/**
* When set to true, offline power will be limited to the chargers miniumum
* charge current.
*/
minPowerOfflineMode?: boolean | null;
}
export interface InstallationModel {
/** @format uuid */
id?: string;
name?: string | null;
address?: string | null;
zipCode?: string | null;
city?: string | null;
/** @format uuid */
countryId?: string | null;
vatNumber?: string | null;
contactEmail?: string | null;
/**
*
*
* 0 = Pro
*
* 1 = Smart
*/
installationType?: InstallationTypeCode;
/** @format double */
maxCurrent?: number | null;
/** @format double */
availableCurrent?: number | null;
/** @format double */
availableCurrentPhase1?: number | null;
/** @format double */
availableCurrentPhase2?: number | null;
/** @format double */
availableCurrentPhase3?: number | null;
/**
*
*
* 0 = Manual
*
* 1 = Schedule
*
* 2 = Auto
*/
availableCurrentMode?: InstallationAvailableCurrentMode;
availableCurrentScheduleWeekendActive?: boolean | null;
/** @format double */
threeToOnePhaseSwitchCurrent?: number | null;
/** @format uuid */
installationCategoryId?: string | null;
installationCategory?: string | null;
useLoadBalancing?: boolean | null;
isRequiredAuthentication?: boolean | null;
/** @format double */
latitude?: number | null;
/** @format double */
longitude?: number | null;
notes?: string | null;
active?: boolean | null;
/**
*
*
* 0 = Unknown
*
* 1 = IT_1_Phase
*
* 2 = IT_3_Phase
*
* 3 = TN_1_Phase
*
* 4 = TN_3_Phase
*/
networkType?: NetworkType;
availableInternetAccessPLC?: boolean | null;
availableInternetAccessWiFi?: boolean | null;
/** @format date-time */
createdOnDate?: string | null;
/** @format date-time */
updatedOn?: string | null;
/**
*
*
* 0 = None
*
* 1 = User
*
* 2 = Owner
*
* 4 = Maintainer
*
* 8 = Administrator
*
* 15 = Any
*
* 16 = Onboarding
*
* 32 = DeviceAdministrator
*
* 64 = PartnerAdministrator
*
* 128 = Technical
*
* 256 = InternalData
*/
currentUserRoles?: UserRoles;
/**
*
*
* 0 = Native
*
* 1 = WebHooks
*
* 2 = Ocpp
*/
authenticationType?: InstallationAuthenticationType;
webhooksAuthPayload?: string | null;
webhooksAuthUrl?: string | null;
webhooksSessionStartUrl?: string | null;
webhooksSessionEndUrl?: string | null;
messagingEnabled?: boolean | null;
routingId?: string | null;
ocppCloudUrl?: string | null;
ocppInitialChargePointPassword?: string | null;
/** Time zone display name */
timeZoneName?: string | null;
/** IANA time zone identifier */
timeZoneIanaName?: string | null;
/**
*
*
* 0 = Ok
*
* 1 = EcoScheduleUpdated
*/
updateStatusCode?: InstallationUpdateStatusCodes;
/**
*
*
* 0 = None
*
* 1 = ServicePaymentPastDue
*
* 2 = ServicePaymentUnpaid
*/
notifications?: InstallationNotifications;
isSubscriptionsAvailableForCurrentUser?: boolean | null;
installationUsers?: InstallationUserModel[] | null;
/**
*
*
* 0 = None
*
* 1 = Api_MessageSubscription
*
* 2 = Authentication_Internal
*
* 4 = PowerManagement_Apm
*
* 8 = PowerManagement_EcoMode
*
* 16 = PowerManagement_Schedule
*
* 32 = PowerManagement_Apm_PowerLimit
*
* 64 = Connectivity_4G
*
* 128 = Authentication_Ocpp
*
* 32768 = LoadBalacing
*/
availableFeatures?: Features;
/**
*
*
* 0 = None
*
* 1 = Api_MessageSubscription
*
* 2 = Authentication_Internal
*
* 4 = PowerManagement_Apm
*
* 8 = PowerManagement_EcoMode
*
* 16 = PowerManagement_Schedule
*
* 32 = PowerManagement_Apm_PowerLimit
*
* 64 = Connectivity_4G
*
* 128 = Authentication_Ocpp
*
* 32768 = LoadBalacing
*/
enabledFeatures?: Features;
/** @format int32 */
activeChargerCount?: number | null;
/** @format int32 */
feature_PowerManagement_EcoMode_DepartureTime?: number | null;
/** @format double */
feature_PowerManagement_EcoMode_MinEnergy?: number | null;
/**
*
*
* 0 = Unknown
*
* 1 = NO1
*
* 2 = NO2
*
* 3 = NO3
*
* 4 = NO4
*
* 5 = NO5
*
* 6 = SE1
*
* 7 = SE2
*
* 8 = SE3
*
* 9 = SE4
*
* 10 = DK1
*
* 11 = DK2
*
* 12 = FI
*/
feature_PowerManagement_EcoMode_DeliveryArea?: DeliveryArea;
/**
*
*
* 0 = None
*
* 1 = Phase_1
*
* 2 = Phase_2
*
* 4 = Phase_3
*
* 7 = All
*/
feature_PowerManagement_Apm_SinglePhaseMappedToPhase?: Phases;
/** @format double */
feature_PowerManagement_Apm_PowerBudgetKw?: number | null;
/** @format double */
feature_PowerManagement_Apm_PowerRolloverPercentage?: number | null;
/** @format double */
feature_PowerManagement_Apm_EvaluationMinutes?: number | null;
propertyIsMinimumPowerOfflineMode?: boolean | null;
propertyOfflineModeAllowAnonymous?: boolean | null;
propertyEnergySensorUniqueId?: string | null;
energySensor?: SensorModel;
/** @format double */
propertyMainFuseCurrent?: number | null;
/** @format int32 */
propertyEnergySensorTransmitInterval?: number | null;
/** @format double */
propertyEnergySensorTransmitThreshold?: number | null;
/** @format int32 */
propertyEnergySensorAverage?: number | null;
/** @format double */
propertyMinimumAvailableCurrentPhase1?: number | null;
/** @format double */
propertyMinimumAvailableCurrentPhase2?: number | null;
/** @format double */
propertyMinimumAvailableCurrentPhase3?: number | null;
propertyLockToMinimumAvailableCurrent?: boolean | null;
propertyOcppDefaultIdTag?: string | null;
/**
*
*
* 0 = None
*
* 1 = Api_MessageSubscription
*
* 2 = Authentication_Internal
*
* 4 = PowerManagement_Apm
*
* 8 = PowerManagement_EcoMode
*
* 16 = PowerManagement_Schedule
*
* 32 = PowerManagement_Apm_PowerLimit
*
* 64 = Connectivity_4G
*
* 128 = Authentication_Ocpp
*
* 32768 = LoadBalacing
*/
propertyExperimentalFeaturesEnabled?: Features;
propertyEnergySensorRippleEnabled?: boolean | null;
/** @format int32 */
propertyEnergySensorRippleNumBits?: number | null;
/** @format int32 */
propertyEnergySensorRipplePercentBits01?: number | null;
/** @format int32 */
propertyEnergySensorRipplePercentBits10?: number | null;
propertyHomeApmOrdered?: boolean | null;
/** @format double */
propertyEnergySensorScalingFactor?: number | null;
propertyFirmwareAutomaticUpdates?: boolean | null;
/** @format double */
propertyMaxSinglePhaseChargeCurrent?: number | null;
/**
* The maximum number of times a session can be stopped before the charging station will stick to single
* phase charging. Note that start commands that require phase shifting will require a stop and will add to
* the counter.
* @format int32
*/
propertySessionMaxStopCount?: number | null;
storageEnergySensorLastReading?: SensorReadingTableEntity;
supportGroup?: UserGroupModel;
}
export interface InstallationModelPagedData {
/** @format int32 */
pages?: number;
data?: InstallationModel[] | null;
message?: string | null;
}
/**
*
*
* 0 = None
*
* 1 = ServicePaymentPastDue
*
* 2 = ServicePaymentUnpaid
* @format int32
*/
export declare enum InstallationNotifications {
None = 0,
ServicePaymentPastDue = 1,
ServicePaymentUnpaid = 2
}
export interface InstallationTreeChargerModel {
/**
* Get the unique identifier of the charge point.
* @format uuid
*/
id?: string;
/** Get the deviceId (serialNo) of the charging stations used with the charge point. */
deviceId?: string | null;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {DeviceId} instead.
* @deprecated
*/
mid?: string | null;
/** Get the name of the charge point. */
name?: string | null;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {Name} instead.
* @deprecated
*/
serialNo?: string | null;
/** Get a value indicating whether the charge point is active. */
active?: boolean | null;
/**
*
*
* 0 = Unknown
*
* 1 = Smart
*
* 2 = Portable
*
* 3 = HomeApm
*
* 4 = Apollo
*
* 5 = OtherApm
*
* 6 = GenericApm
*
* 7 = HanApm
*/
deviceType?: DeviceType;
}
export interface InstallationTreeCircuitModel {
/**
* Get the unique identifier of the circuit.
* @format uuid
*/
id?: string;
/** Get the circuit name. */
name?: string | null;
/**
* Get the circuit max current (fuse rating).
* @format double
*/
maxCurrent?: number;
/** Get a value indicating whether the circuit is active. */
isActive?: boolean;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {IsActive} instead.
* @deprecated
*/
active?: boolean;
/**
* Get the unique identifier of the circuits parent installation.
* @format uuid
*/
installationId?: string;
/** Get the name of the circuits parent installation. */
installationName?: string | null;
/** Get a list of charger installed in the circuit. */
chargers?: InstallationTreeChargerModel[] | null;
}
export interface InstallationTreeModel {
/**
* Get the unique identifier of the installation.
* @format uuid
*/
id?: string;
/** Get the installation name. */
name?: string | null;
/**
* <strong>This property is obsolete and is scheduled for removal,</strong>
* please use {InstallationName} instead.
* @deprecated
*/
installationName?: string | null;
/**
* Get the installation electrical grid type Id. Please refer to the Zaptec integration
* document for information for explanation of grid type Id.
* @format int32
*/
networkType?: number | null;
/** Get a list of circuits managed by the installation. */
circuits?: InstallationTreeCircuitModel[] | null;
}
/**
*
*
* 0 = Pro
*
* 1 = Smart
* @format int32
*/
export declare enum InstallationTypeCode {
Pro = 0,
Smart = 1
}
/** Information about installation type */
export interface InstallationTypeConstantModel {
/**
*
*
* 0 = Pro
*
* 1 = Smart
*/
id?: InstallationTypeCode;
name?: string | null;
/**
* The maximum number of circuits a installation type can have
* @format int32
*/
maxCircuits?: number | null;
/**
* The maximum curren a installation type can have
* @format double
*/
maxCircuitCurrent?: number | null;
/**
* The maximum number of chargers a installation type can have
* @format int32
*/
maxChargers?: number | null;
/**
*
*
* 0 = None
*
* 1 = Api_MessageSubscription
*
* 2 = Authentication_Internal
*
* 4 = PowerManagement_Apm
*
* 8 = PowerManagement_EcoMode
*
* 16 = PowerManagement_Schedule
*
* 32 = PowerManagement_Apm_PowerLimit
*
* 64 = Connectivity_4G
*
* 128 = Authentication_Ocpp
*
* 32768 = LoadBalacing
*/
defaultFeatures?: Features;
defaultRoute?: string | null;
}
/**
*
*
* 0 = Ok
*
* 1 = EcoScheduleUpdated
* @format int32
*/
export declare enum InstallationUpdateStatusCodes {
Ok = 0,
EcoScheduleUpdated = 1
}
/** DTO for users that have charged on an installation. */
export interface InstallationUserModel {
/**
* The unique identifier for the authorized user, or null if unauthorized or
* authorized by 3rd party.
* @format uuid
*/
userId?: string | null;
/**
* The full name of the authorized user, or null if unauthorized or authorized by
* 3rd party.
*/
userFullName?: string | null;
/**
* The email of the authorized user, or null if unauthorized or authorized by
* 3rd party.
*/
userEmail?: string | null;
/** The RFID tokens used to authorize sessions. */
userTokens?: string[] | null;
}
export interface LanguageModel {
key?: string | null;
name?: string | null;
}
/**
*
*
* 1 = One
*
* 3 = Three
* @format int32
*/
export declare enum MaxPhase {
One = 1,
Three = 3
}
/**
*
*
* 0 = Success
*
* 1 = Error
*
* 2 = Information
*
* 3 = Warning
*
* 500 = KnownErrors
*
* 501 = UnknownObject
* @format int32
*/
export declare enum MessageCode {
Success = 0,
Error = 1,
Information = 2,
Warning = 3,
KnownErrors = 500,
UnknownObject = 501
}
/**
*
*
* 0 = Unknown
*
* 1 = IT_1_Phase
*
* 2 = IT_3_Phase
*
* 3 = TN_1_Phase
*
* 4 = TN_3_Phase
* @format int32
*/
export declare enum NetworkType {
Unknown = 0,
IT1Phase = 1,
IT3Phase = 2,
TN1Phase = 3,
TN3Phase = 4
}
/**
*
*
* 0 = Unknown
*
* 1 = Installation
*
* 2 = Circuit
*
* 3 = Charger
*
* 4 = User
*
* 5 = UserGroup
*
* 6 = InactiveUser
*
* 7 = InvitedUser
*
* 8 = Country
* @format int32
*/
export declare enum ObjectType {
Unknown = 0,
Installation = 1,
Circuit = 2,
Charger = 3,
User = 4,
UserGroup = 5,
InactiveUser = 6,
InvitedUser = 7,
Country = 8
}
/**
*
*
* 0 = Unknown
*
* 1 = OfflineMode
*
* 120 = AuthenticationRequired
*
* 130 = PaymentActive
*
* 131 = PaymentCurrency
*
* 132 = PaymentSessionUnitPrice
*
* 133 = PaymentEnergyUnitPrice
*
* 134 = PaymentTimeUnitPrice
*
* 150 = CommunicationMode
*
* 151 = PermanentCableLock
*
* 152 = ProductCode
*
* 153 = HmiBrightness
*
* 154 = LockCableWhenConnected
*
* 155 = SoftStartDisabled
*
* 156 = FirmwareApiHost
*
* 170 = MIDBlinkEnabled
*
* 180 = ProductionTesterEnabled
*
* 181 = ProductionTestStationOverride
*
* 201 = TemperatureInternal5
*
* 202 = TemperatureInternal6
*
* 203 = TemperatureInternalLimit
*
* 241 = TemperatureInternalMaxLimit
*
* 270 = Humidity
*
* 501 = VoltagePhase1
*
* 502 = VoltagePhase2
*
* 503 = VoltagePhase3
*
* 507 = CurrentPhase1
*
* 508 = CurrentPhase2
*
* 509 = CurrentPhase3
*
* 510 = ChargerMaxCurrent
*
* 511 = ChargerMinCurrent
*
* 512 = ActivePhases
*
* 513 = TotalChargePower
*
* 515 = RcdCurrent
*
* 517 = Internal12vCurrent
*
* 518 = PowerFactor
*
* 519 = SetPhases
*
* 520 = MaxPhases
*
* 522 = ChargerOfflinePhase
*
* 523 = ChargerOfflineCurrent
*
* 540 = RcdCalibration
*
* 541 = RcdCalibrationNoise
*
* 553 = TotalChargePowerSession
*
* 554 = SignedMeterValue
*
* 555 = SignedMeterValueInterval
*
* 560 = SessionEnergyCountExportActive
*
* 561 = SessionEnergyCountExportReactive
*
* 562 = SessionEnergyCountImportActive
*
* 563 = SessionEnergyCountImportReactive
*
* 570 = SoftStartTime
*
* 701 = ChargeDuration
*
* 702 = ChargeMode
*
* 703 = ChargePilotLevelInstant
*
* 704 = ChargePilotLevelAverage
*
* 706 = PilotVsProximityTime
*
* 707 = ChargeCurrentInstallationMaxLimit
*
* 708 = ChargeCurrentSet
*
* 710 = ChargerOperationMode
*
* 711 = IsEnabled
*
* 712 = IsStandAlone
*
* 713 = ChargerCurrentUserUuidDeprecated
*
* 714 = CableType
*
* 715 = NetworkType
*
* 716 = DetectedCar
*
* 717 = GridTestResult
*
* 718 = FinalStopActive
*
* 721 = SessionIdentifier
*
* 722 = ChargerCurrentUserUuid
*
* 723 = CompletedSession
*
* 750 = NewChargeCard
*
* 751 = AuthenticationListVersion
*
* 752 = EnabledNfcTechnologies
*
* 753 = LteRoamingDisabled
*
* 800 = InstallationId
*
* 801 = RoutingId
*
* 803 = Notifications
*
* 804 = Warnings
*
* 805 = DiagnosticsMode
*
* 807 = InternalDiagnosticsLog
*
* 808 = DiagnosticsString
*
* 809 = CommunicationSignalStrength
*
* 810 = CloudConnectionStatus
*
* 811 = McuResetSource
*
* 812 = McuRxErrors
*
* 813 = McuToVariscitePacketErrors
*
* 814 = VarisciteToMcuPacketErrors
*
* 820 = UptimeVariscite
*
* 821 = UptimeMCU
*
* 850 = CarSessionLog
*
* 851 = CommunicationModeConfigurationInconsistency
*
* 852 = RawPilotMonitor
*
* 853 = IT3PhaseDiagnosticsLog
*
* 854 = PilotTestResults
*
* 855 = UnconditionalNfcDetectionIndication
*
* 899 = EmcTestCounter
*
* 900 = ProductionTestResults
*
* 901 = PostProductionTestResults
*
* 908 = SmartMainboardSoftwareApplicationVersion
*
* 909 = SmartMainboardSoftwareBootloaderVersion
*
* 911 = SmartComputerSoftwareApplicationVersion
*
* 912 = SmartComputerSoftwareBootloaderVersion
*
* 913 = SmartComputerHardwareVersion
*
* 950 = MacMain
*
* 951 = MacPlcModuleGrid
*
* 952 = MacWiFi
*
* 953 = MacPlcModuleEv
*
* 960 = LteImsi
*
* 961 = LteMsisdn
*
* 962 = LteIccid
*
* 963 = LteImei
*
* 970 = ProductionTestStationNumber
*
* 980 = MIDCalibration
*
* -3 = IsOcppConnected
*
* -2 = IsOnline
*
* -1 = Pulse
* @format int32
*/
export declare enum ObservationId {
Unknown = 0,
OfflineMode = 1,
AuthenticationRequired = 120,
PaymentActive = 130,
PaymentCurrency = 131,
PaymentSessionUnitPrice = 132,
PaymentEnergyUnitPrice = 133,
PaymentTimeUnitPrice = 134,
CommunicationMode = 150,
PermanentCableLock = 151,
ProductCode = 152,
HmiBrightness = 153,
LockCableWhenConnected = 154,
SoftStartDisabled = 155,
FirmwareApiHost = 156,
MIDBlinkEnabled = 170,
ProductionTesterEnabled = 180,
ProductionTestStationOverride = 181,
TemperatureInternal5 = 201,
TemperatureInternal6 = 202,
TemperatureInternalLimit = 203,
TemperatureInternalMaxLimit = 241,
Humidity = 270,
VoltagePhase1 = 501,
VoltagePhase2 = 502,
VoltagePhase3 = 503,
CurrentPhase1 = 507,
CurrentPhase2 = 508,
CurrentPhase3 = 509,
ChargerMaxCurrent = 510,
ChargerMinCurrent = 511,
ActivePhases = 512,
TotalChargePower = 513,
RcdCurrent = 515,
Internal12VCurrent = 517,
PowerFactor = 518,
SetPhases = 519,
MaxPhases = 520,
ChargerOfflinePhase = 522,
ChargerOfflineCurrent = 523,
RcdCalibration = 540,
RcdCalibrationNoise = 541,
TotalChargePowerSession = 553,
SignedMeterValue = 554,
SignedMeterValueInterval = 555,
SessionEnergyCountExportActive = 560,
SessionEnergyCountExportReactive = 561,
SessionEnergyCountImportActive = 562,
SessionEnergyCountImportReactive = 563,
SoftStartTime = 570,
ChargeDuration = 701,
ChargeMode = 702,
ChargePilotLevelInstant = 703,
ChargePilotLevelAverage = 704,
PilotVsProximityTime = 706,
ChargeCurrentInstallationMaxLimit = 707,
ChargeCurrentSet = 708,
ChargerOperationMode = 710,
IsEnabled = 711,
IsStandAlone = 712,
ChargerCurrentUserUuidDeprecated = 713,
CableType = 714,
NetworkType = 715,
DetectedCar = 716,
GridTestResult = 717,
FinalStopActive = 718,
SessionIdentifier = 721,
ChargerCurrentUserUuid = 722,
CompletedSession = 723,
NewChargeCard = 750,
AuthenticationListVersion = 751,
EnabledNfcTechnologies = 752,
LteRoamingDisabled = 753,
InstallationId = 800,
RoutingId = 801,
Notifications = 803,
Warnings = 804,
DiagnosticsMode = 805,
InternalDiagnosticsLog = 807,
DiagnosticsString = 808,
CommunicationSignalStrength = 809,
CloudConnectionStatus = 810,
McuResetSource = 811,
McuRxErrors = 812,
McuToVariscitePacketErrors = 813,
VarisciteToMcuPacketErrors = 814,
UptimeVariscite = 820,
UptimeMCU = 821,
CarSessionLog = 850,
CommunicationModeConfigurationInconsistency = 851,
RawPilotMonitor = 852,
IT3PhaseDiagnosticsLog = 853,
PilotTestResults = 854,
UnconditionalNfcDetectionIndication = 855,
EmcTestCounter = 899,
ProductionTestResults = 900,
PostProductionTestResults = 901,
SmartMainboardSoftwareApplicationVersion = 908,
SmartMainboardSoftwareBootloaderVersion = 909,
SmartComputerSoftwareApplicationVersion = 911,
SmartComputerSoftwareBootloaderVersion = 912,
SmartComputerHardwareVersion = 913,
MacMain = 950,
MacPlcModuleGrid = 951,
MacWiFi = 952,
MacPlcModuleEv = 953,
LteImsi = 960,
LteMsisdn = 961,
LteIccid = 962,
LteImei = 963,
ProductionTestStationNumber = 970,
MIDCalibration = 980,
IsOcppConnected = -3,
IsOnline = -2,
Pulse = -1
}
/** Electrical phase info */
export interface PhaseIdMapConstantModel {
/** @format int32 */
id?: number;
/**
*
*
* 0 = None
*
* 1 = Phase_1
*
* 2 = Phase_2
*
* 4 = Phase_3
*
* 7 = All
*/
phases?: Phases;
networkFamily?: string | null;
}
/**
*
*
* 0 = None
*
* 1 = Phase_1
*
* 2 = Phase_2
*
* 4 = Phase_3
*
* 7 = All
* @format int32
*/
export declare enum Phases {
None = 0,
Phase1 = 1,
Phase2 = 2,
Phase3 = 4,
All = 7
}
/**
*
*
* 0 = Unsupported
*
* 1 = EuroPerMWh
* @format int32
*/
export declare enum PriceUnit {
Unsupported = 0,
EuroPerMWh = 1
}
export interface RegionalInfoModel {
regionName?: string | null;
name?: string | null;
nativeName?: string | null;
currencySymbol?: string | null;
currencyName?: string | null;
currencyNativeName?: string | null;
isoCurrencySymbol?: string | null;
}
/** Device schema */
export interface SchemaModel {
/** @format int32 */
deviceType?: number;
observationIds?: any;
commandIds?: any;
settingIds?: any;
warnings?: any;
}
export interface SensorModel {
uniqueId?: string | null;
/**
*
*
* 0 = Unknown
*
* 1 = Energy
*
* 3 = EnergyWithRipple
*/
type?: SensorType;
provider?: string | null;
vendor?: string | null;
model?: string | null;
serialNo?: string | null;
/** @format uuid */
id?: string | null;
}
export interface SensorReadingTableEntity {
partitionKey?: string | null;
rowKey?: string | null;
/** @format date-time */
timestamp?: string;
eTag?: string | null;
uniqueId?: string | null;
/** @format date-time */
observedAt?: string;
/** @format double */
currentPhase1?: number;
/** @format double */
currentPhase2?: number;
/** @format double */
currentPhase3?: number;
/** @format double */
chargeCurrentPhase1?: number;
/** @format double */
chargeCurrentPhase2?: number;
/** @format double */
chargeCurrentPhase3?: number;
/** @format double */
availableCurrentPhase1?: number | null;
/** @format double */
availableCurrentPhase2?: number | null;
/** @format double */
availableCurrentPhase3?: number | null;
/** @format double */
currentNeutral?: number | null;
/** @format double */
voltagePhase1?: number | null;
/** @format double */
voltagePhase2?: number | null;
/** @format double */
voltagePhase3?: number | null;
statusCode?: string | null;
statusMessage?: string | null;
/** @format int32 */
ripple?: number | null;
}
/**
*
*
* 0 = Unknown
*
* 1 = Energy
*
* 3 = EnergyWithRipple
* @format int32
*/
export declare enum SensorType {
Unknown = 0,
Energy = 1,
EnergyWithRipple = 3
}
/**
* ISessionEndRequest with optional SessionEnd to allow for both complete and incomplete
* sessions.
*/
export interface SessionEndData {
/** @format double */
energy?: number;
/** @format date-time */
sessionEnd?: string | null;
/** @format uuid */
sessionId?: string;
/** @format date-time */
sessionStart?: string;
signedSession?: string | null;
}
export interface SessionEnergyDetailsModel {
/** @format date-time */
timestamp?: string;
/** @format double */
energy?: number;
}
export interface SessionListModel {
/**
* Unique session identifier.
* @format uuid
*/
id?: string;
/** The serial number of the charging station. */
deviceId?: string | null;
/**
* Session start time.
* <br>
* Time of session authorization. Usually corresponds within a few seconds to the
* connection time, but can in some cases be delayed if users does not authorize
* immediately.
* @format date-time
*/
startDateTime?: string;
/**
* For chargers with firmware >= 3.2, this property indicates when the session was
* closed by the cloud solution. For sessions recorded when the charging station was
* online, this is usually identical to the time of disconnect. For offline sessions,
* this is not the case as the session may be received by our backend a long time after
* the actual charge took place. For charging stations with firmware >= 3.2 you
* should use the Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.CommitEndDateTime to get the actual end time of the
* session.
* <br>
* For charging stations with firmware < 3.2, this property indicates the time when
* the session was closed. Please note that Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.StartDateTime,
* Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.EndDateTime and Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.Energy may be inaccurate in some scenarios
* when using these firmware versions. For accurate session handling it is recommended
* to use firmware >= 3.2 and Zaptec.ZapCloud.WebAPI.Models.Sessions.SessionModel.CommitEndDateTime.
* @format date-time
*/
endDateTime?: string | null;
/**
* Energy delivered during the session in kWh.
* @format double
*/
energy?: number;
/**
*
*
* 0 = None
*
* 1 = Online
*
* 2 = Offline
*
* 4 = ReliableClock
*
* 8 = StoppedByRFID
*
* 16 = Signed
*
* 32 = Void
*
* 64 = Aborted
*/
commitMetadata?: CommitMetadata;
/**
* This is only supported for charging stations with firmware >= 3.2 and indicates
* the actual end time of the session. In most cases equal to the time of disconnect.
* @format date-time
*/
commitEndDateTime?: string | null;
/**
* The full name of the authorized user, or null if unauthorized or authorized by
* 3rd party.
*/
userFullName?: string | null;
/**
* The charge point unique identifier.
* @format uuid
*/
chargerId?: string | null;
/** The charge point name. */
deviceName?: string | null;
/**
* The email of the authorized user, or null if unauthorized or authorized by
* 3rd party.
*/
userEmail?: string | null;
/**
* Get the unique identifier for the authorized user, or null if unauthorized or
* authorized by 3rd party.
* @format uuid
*/
userId?: string | null;
/** The RFID token used to authorize the session. */
tokenName?: string | null;
/**
* The external identifier for the session if authorized by 3rd party (e.g. transactionId
* from