EVChargingLocation

public class EVChargingLocation
extension EVChargingLocation: NativeBase
extension EVChargingLocation: Hashable

An electric vehicle (EV) charging location.

The semantics generally follow the OCPI 2.2.1 standard.

Known EV-specific acronyms:

  • EV: Electric Vehicle
  • OCPI: Open Charge Point Interface (a standard with a rather wide adoption worldwide, https://evroaming.org/)
  • CPO: Charge Point Operator (company that runs the EV charging location)
  • eMSP: e-Mobility Service Provider (customer-facing company)
  • EVSE: Electric Vehicle Supply Equipment (the actual charger that can charge one car at a time)

A charging location includes a collection of one or more EV supply equipment (EVSE) instances. Typically, the charging location is the exact location of the group of EVSEs, simplified to a single point, but it can also be the entrance of a parking structure which contains these EVSEs. Each EVSE supports more precise position, where applicable.

Note: This is a beta release of this feature, so there could be a few bugs and unexpected behaviors. Related APIs may change for new releases without a deprecation process.

  • id

    A unique identifier of the charging location.

    Declaration

    Swift

    public var id: String { get }
  • Display name of the charging location, if available.

    Declaration

    Swift

    public var name: String? { get }
  • CPO’s own ID for the location. This ID may be relevant for some clients to map the charging location data to their own or 3rd party systems. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var cpoID: String? { get }
  • Operator of the charging point, if available.

    Declaration

    Swift

    public var evChargingOperator: EVChargingOperator? { get }
  • Suboperator of the charging point, if available.

    Declaration

    Swift

    public var evChargingSubOperator: EVChargingOperator? { get }
  • eMSPs with a roaming agreement enabling access to the EV charging location. Available only if EVChargingLocationFeature.EMSPS is included in EVSearchOptions.additional_features, otherwise empty.

    Declaration

    Swift

    public var eMobilityServiceProviders: [EVChargingOperator] { get }
  • Facilities available at the charging location, for example hotel, wifi, parking lot etc. Available only if EVChargingLocationFeature.NEARBY is included in EVSearchOptions.additional_features, otherwise empty.

    Declaration

    Swift

    public var facilityTypes: [FacilityType] { get }
  • The type of parking at the charging location. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var parkingType: ParkingType? { get }
  • Details on the energy supplied at the charging location. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var energyMix: EnergyMix? { get }
  • List of EVSEs at the charging station. Available only if EVChargingLocationFeature.EVSES is included in EVSearchOptions.additional_features, otherwise empty.

    Declaration

    Swift

    public var evses: [EVSEInfo] { get }
  • List of tariffs or price plans for the connectors of the charging station. Tariffs are typically connector-type specific. Hence, they are always linked with connectors and/or connector groups, by indexes to this list.

    This property is set only when data is available and when EVSearchOptions.additional_features include either EVChargingLocationFeature.EVSES or EVChargingLocationFeature.CONNECTOR_GROUPS.

    By default, the list includes tariffs for ad-hoc charging, per connector type, for EVSEs that accept payment without registering.

    Declaration

    Swift

    public var tariffs: [EVChargingTariff] { get }
  • Connector groups for the location. Provides an overview of the charging connectors in the location by type and power. Available only if EVChargingLocationFeature.CONNECTOR_GROUPS is included in EVSearchOptions.additional_features, otherwise empty.

    Declaration

    Swift

    public var connectorGroups: [EVChargingConnectorGroup] { get }
  • List of vehicle categories this charging location can support. For example, the same location can be suitable for charging passenger cars and motorcycles. There may be some further restrictions specified in other attributes, for example the available connector types may not be suitable for all vehicles in the supported category.

    Declaration

    Swift

    public var supportedVehicles: [EVChargingVehicleCategory] { get }
  • Access restrictions for trucks and light commercial vehicles. Restricted, only available to customers having a specific contract with HERE and if requested by including EVChargingLocationFeature.TRUCK_RESTRICTIONS in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var truckRestrictions: EVChargingTruckRestriction? { get }
  • The times when the EVSEs at the charging location can be accessed for charging. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var openingHours: EVChargingOpeningHours? { get }
  • Reason(s) for restricted access.

    Declaration

    Swift

    public var restrictions: [EVAccessRestrictionReason] { get }
  • The phone number that EV drivers should call when need assistance at the charge location, in E.164 format. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var supportPhoneNumber: String? { get }
  • The time zone of the charging location. Based on IANA tzdata’s TZ-values. Available only if EVChargingLocationFeature.LOCATION_INFO is included in EVSearchOptions.additional_features, otherwise nil.

    Declaration

    Swift

    public var timeZone: String? { get }