/** * Shell EVLib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, lazy, number, object, optional, Schema, string, } from '../schema'; import { ConnectorVO, connectorVOSchema } from './connectorVO'; import { EvseVOAuthorizationMethodsEnum, evseVOAuthorizationMethodsEnumSchema, } from './evseVOAuthorizationMethodsEnum'; import { EvseVOStatusEnum, evseVOStatusEnumSchema } from './evseVOStatusEnum'; /** Each Location will contain one or more EVSEs (Electric Vehicle Supply Equipment). Each EVSE is capable of charging one car at a time. */ export interface EvseVO { /** Internal identifier used to refer to single individual EVSE unit. */ uid?: number; /** Identifier of the Evse as given by the Operator, unique for that Operator */ externalId?: string; /** Standard EVSEId identifier (ISO-IEC-15118) */ evseId?: string; /** The current status of the EVSE units availability */ status?: EvseVOStatusEnum; /** List of all connectors available on this EVSE unit. */ connectors?: ConnectorVO[]; /** Methods that can be used to Authorize sessions on this EVSE */ authorizationMethods?: EvseVOAuthorizationMethodsEnum; /** ISO8601-compliant UTC datetime of the last update of the EVSE */ updated?: string; /** optional ISO8601-compliant UTC deletion timestamp of the Evse */ deleted?: string; /** An optional number/string printed on the outside of the EVSE for visual identification */ physicalReference?: string; } export const evseVOSchema: Schema = object({ uid: ['uid', optional(number())], externalId: ['externalId', optional(string())], evseId: ['evseId', optional(string())], status: ['status', optional(evseVOStatusEnumSchema)], connectors: ['connectors', optional(array(lazy(() => connectorVOSchema)))], authorizationMethods: [ 'authorizationMethods', optional(evseVOAuthorizationMethodsEnumSchema), ], updated: ['updated', optional(string())], deleted: ['deleted', optional(string())], physicalReference: ['physicalReference', optional(string())], });