Package-level declarations

Types

Link copied to clipboard
sealed interface AdditionalGeoLocation

This interface defines an additional geo location that is relevant for the Charge Point.

Link copied to clipboard
sealed interface BusinessDetails

This interface defines the details of a business.

Link copied to clipboard

The capabilities of an EVSE. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class Capability
Link copied to clipboard
sealed interface ChargePointOperator

Charge point operator that owns EV charge points.

Link copied to clipboard
sealed interface ChargingStation

Represents the properties of a charging station, including location, proximity, and associated tariffs.

Link copied to clipboard
sealed interface Connector

A Connector is the socket or cable and plug available for the EV to use. A single EVSE may provide multiple Connectors but only one of them can be in use at the same time. A Connector always belongs to an EVSE object. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class ConnectorFormat
Link copied to clipboard

The format of the connector, whether it is a socket or a plug. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class ConnectorType
Link copied to clipboard

The socket or plug standard of the charge point. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard

Enum representing the days of the week. Refer to the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface DisplayText

Encapsulates text to be displayed to an end user. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
Link copied to clipboard
value class Efficiency(val kmPerKWh: Double)

Represents how many kilometers could be traveled using 1000 Wh of Energy

Link copied to clipboard
value class Energy(val Wh: Int)

Represents energy in watt-hours.

Link copied to clipboard
sealed interface EnergyMix

This type is used to specify the energy mix and environmental impact of the supplied energy at a location or in a tariff. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface EnergySource

Key-value pairs (enum + percentage) of energy sources. All given values of all categories should add up to 100 percent. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard

Categories of energy sources. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class EnergySourceCategory
Link copied to clipboard
sealed interface EnvironmentalImpact

Amount of waste produced/emitted per kWh. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard

Categories of environmental impact values. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
Link copied to clipboard
sealed interface Evse

The EVSE object describes the part that controls the power supply to a single EV in a single session. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class EvseStatus
Link copied to clipboard

The status of an EVSE. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface ExceptionalPeriod

Specifies one exceptional period for opening or access hours. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface GeoLocation

This class defines a geo location.

Link copied to clipboard
data class GeoLocationImpl(val latitude: Double, val longitude: Double) : GeoLocation
Link copied to clipboard
sealed interface Geometry

Represents points, curves, and surfaces in coordinate space.

Link copied to clipboard
sealed interface Hours

Opening and access hours of the location. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface Image

This interface references an image related to an Evse in terms of a file name or URL. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard

The category of an image to get the correct usage in a user presentation. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class ImageCategory
Link copied to clipboard
class LocalDate(val year: Int, val month: Int, val day: Int)
Link copied to clipboard
class LocalTime(val hour: Int, val minute: Int)
Link copied to clipboard
sealed interface Location

The Location object describes the location and its properties where a group of EVSEs that belong together are installed. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class ParkingRestriction
Link copied to clipboard

This value, if provided, is the restriction to the parking spot for different purposes. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
annotation class PowerType
Link copied to clipboard
object PowerTypes

Indicates an electrical power configuration of a connector. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface Price

Represents a price or cost, including and excluding VAT. Refer to the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface PriceComponent

A Price Component describes how a certain amount of a certain dimension being consumed translates into an amount of money owed. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
data class PriceComponentImpl(val type: String, val price: Float, val vat: Float? = null, val stepSize: Int) : PriceComponent
Link copied to clipboard
data class PriceImpl(val exclVat: Float, val inclVat: Float? = null) : Price
Link copied to clipboard
sealed interface Proximity

Object that describes the distance from the proximity location's latitude and longitude to the charge point.

Link copied to clipboard
sealed interface RegularHours

Regular recurring operation or access hours. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
Link copied to clipboard

Enum representing the type of reservation restrictions in OCPI. Refer to the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface StatusSchedule

This type is used to schedule status periods in the future. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface Tariff

Represents a tariff model in the EV Charge Finder API.

Link copied to clipboard
annotation class TariffDimensionType
Link copied to clipboard

Represents the type of a tariff dimension, specifying how the tariff is calculated. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
sealed interface TariffElement

A TariffElement is a group of PriceComponents that share a set of restrictions under which they apply. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
data class TariffElementImpl(val priceComponents: List<PriceComponentImpl> = emptyList(), val restrictions: TariffRestrictionsImpl? = null) : TariffElement
Link copied to clipboard
data class TariffImpl(val id: String, val partyId: String, val currency: String, val countryCode: String, val type: String, val tariffAltText: List<DisplayTextImpl> = emptyList(), val tariffAltUrl: List<String> = emptyList(), val minPrice: PriceImpl? = null, val maxPrice: PriceImpl? = null, val elements: List<TariffElementImpl> = emptyList(), val startDateTime: Date? = null, val endDateTime: Date? = null, val lastUpdated: Date) : Tariff
Link copied to clipboard
sealed interface TariffRestrictions

Represents restrictions on a TariffElement which dictate when the tariff is active or inactive during a charging session. These restrictions are defined in local time. Refer to this type in the OCPI GitHub repository for more details.

Link copied to clipboard
data class TariffRestrictionsImpl(val startTime: LocalTime? = null, val endTime: LocalTime? = null, val startDate: LocalDate? = null, val endDate: LocalDate? = null, val minKwh: Float? = null, val maxKwh: Float? = null, val minCurrent: Float? = null, val maxCurrent: Float? = null, val minPower: Float? = null, val maxPower: Float? = null, val minDuration: Int? = null, val maxDuration: Int? = null, val dayOfWeek: List<DayOfWeek>? = null, val reservation: String? = null) : TariffRestrictions
Link copied to clipboard
annotation class TariffType
Link copied to clipboard

The type of the tariff. Refer to this type in the OCPI GitHub repository for more details.

Functions

Link copied to clipboard
fun AdditionalGeoLocation(latitude: Double, longitude: Double, name: DisplayText? = null): AdditionalGeoLocation
Link copied to clipboard
fun BusinessDetails(name: String?, website: String? = null, logo: Image? = null): BusinessDetails
Link copied to clipboard
fun ChargePointOperator(partyId: String, name: String, countryCode: String): ChargePointOperator
Link copied to clipboard
fun ChargingStation(location: Location, proximity: Proximity? = null, tariffs: List<Tariff> = emptyList()): ChargingStation
Link copied to clipboard
fun Connector(id: String, standard: String, format: String, powerType: String, maxVoltage: Int, maxAmperage: Int, maxElectricPower: Int? = null, tariffIds: List<String> = emptyList(), termsAndConditions: String? = null, lastUpdated: Date): Connector
Link copied to clipboard
fun DisplayText(text: String, language: String): DisplayText
Link copied to clipboard
fun EnergyMix(isGreenEnergy: Boolean, energySources: List<EnergySource>, environImpact: List<EnvironmentalImpact>, supplierName: String? = null, energyProductName: String? = null): EnergyMix
Link copied to clipboard
fun EnergySource(source: String, percentage: Float): EnergySource
Link copied to clipboard
Link copied to clipboard
fun Evse(uid: String, evseId: String, status: String, statusSchedule: List<StatusSchedule> = emptyList(), capabilities: List<String> = emptyList(), connectors: List<Connector> = emptyList(), floorLevel: String? = null, coordinates: GeoLocation? = null, physicalReference: String? = null, directions: List<DisplayText> = emptyList(), parkingRestrictions: List<String> = emptyList(), images: List<Image> = emptyList(), lastUpdated: Date): Evse
Link copied to clipboard
fun ExceptionalPeriod(periodBegin: Date, periodEnd: Date): ExceptionalPeriod
Link copied to clipboard
fun GeoLocation(latitude: Double, longitude: Double): GeoLocation
Link copied to clipboard
fun Hours(twentyFourSeven: Boolean, regularHours: List<RegularHours> = emptyList(), exceptionalOpenings: List<ExceptionalPeriod> = emptyList(), exceptionalClosings: List<ExceptionalPeriod> = emptyList()): Hours
Link copied to clipboard
fun Image(url: String, type: String, category: String, thumbnail: String? = null, width: Int? = null, height: Int? = null): Image
Link copied to clipboard
fun Location(countryCode: String, partyId: String, id: String, name: String? = null, address: String, city: String, postalCode: String? = null, state: String? = null, country: String, coordinates: GeoLocation, relatedLocations: List<AdditionalGeoLocation> = emptyList(), parkingType: String? = null, evses: List<Evse> = emptyList(), directions: List<DisplayText> = emptyList(), operator: BusinessDetails? = null, subOperator: BusinessDetails? = null, owner: BusinessDetails? = null, helpPhone: String? = null, facilities: List<String> = emptyList(), timeZone: String, openingTimes: Hours? = null, chargingWhenClosed: Boolean? = null, images: List<Image> = emptyList(), energyMix: EnergyMix? = null, lastUpdated: Date): Location
Link copied to clipboard
fun Price(exclVat: Float, inclVat: Float? = null): Price
Link copied to clipboard
fun PriceComponent(type: String, price: Float, vat: Float? = null, stepSize: Int): PriceComponent
Link copied to clipboard
fun Proximity(latitude: Double, longitude: Double, distance: Double): Proximity
Link copied to clipboard
fun RegularHours(weekday: Int, periodBegin: LocalTime, periodEnd: LocalTime): RegularHours
Link copied to clipboard
fun StatusSchedule(status: String, periodBegin: Date, periodEnd: Date? = null): StatusSchedule
Link copied to clipboard
fun Tariff(id: String, partyId: String, currency: String, countryCode: String, type: String, tariffAltText: List<DisplayText> = emptyList(), tariffAltUrl: List<String> = emptyList(), minPrice: Price? = null, maxPrice: Price? = null, elements: List<TariffElement> = emptyList(), startDateTime: Date? = null, endDateTime: Date? = null, lastUpdated: Date): Tariff
Link copied to clipboard
fun TariffElement(priceComponents: List<PriceComponent>, restrictions: TariffRestrictions? = null): TariffElement
Link copied to clipboard
fun TariffRestrictions(startTime: LocalTime? = null, endTime: LocalTime? = null, startDate: LocalDate? = null, endDate: LocalDate? = null, minKwh: Float? = null, maxKwh: Float? = null, minCurrent: Float? = null, maxCurrent: Float? = null, minPower: Float? = null, maxPower: Float? = null, minDuration: Int? = null, maxDuration: Int? = null, dayOfWeek: List<DayOfWeek>? = null, reservation: String? = null): TariffRestrictions