OCPI 2.3.0 Locations Receiver Interface (2.3.0)

Download OpenAPI specification:

The Receiver Interface is typically implemented by market roles like the eMSP and NSP. This interface allows senders (CPOs) to push Location data.

Locations are Client Owned Objects, so the endpoints need to contain the required extra fields: {country_code}/{party_id}/{location_id}.

Endpoint structure definition: {locations_endpoint_url}/{country_code}/{party_id}/{location_id}[/{evse_uid}][/{connector_id}]

Schemas

OCPIResponse

status_code
required
integer

OCPI status code, 1000 for success.

status_message
string

An optional status message which may help when debugging.

timestamp
required
string <date-time>

The time this message was generated.

data
any

Response data object or list of objects.

{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

TokenType

string <open-enum> (TokenType)
Enum Description
AD_HOC_USER

One time use Token ID generated by a server (or App.) The eMSP uses this to bind a Session to a customer, probably an app user.

APP_USER

Token ID generated by a server (or App.) to identify a user of an App. The same user uses the same Token for every Session.

EMAID

An EMAID. EMAIDs are used as Tokens when the Charging Station and the vehicle are using ISO 15118 for communication.

OTHER

Other type of token

RFID

RFID Token

The type of token.

"AD_HOC_USER"

PublishTokenType

uid
string <= 36 characters

Unique ID by which this Token can be identified.

type
string <open-enum> (TokenType)
Enum Description
AD_HOC_USER

One time use Token ID generated by a server (or App.) The eMSP uses this to bind a Session to a customer, probably an app user.

APP_USER

Token ID generated by a server (or App.) to identify a user of an App. The same user uses the same Token for every Session.

EMAID

An EMAID. EMAIDs are used as Tokens when the Charging Station and the vehicle are using ISO 15118 for communication.

OTHER

Other type of token

RFID

RFID Token

Type of the token.

visual_number
string <= 64 characters

Visual readable number/identification as printed on the Token (RFID card).

issuer
string <= 64 characters

Issuing company, most of the times the name of the company printed on the token (RFID card), not necessarily the eMSP.

group_id
string <= 36 characters

This ID groups a couple of tokens. This can be used to make two or more tokens work as one.

{
  • "uid": "string",
  • "type": "AD_HOC_USER",
  • "visual_number": "string",
  • "issuer": "string",
  • "group_id": "string"
}

GeoLocation

latitude
required
string <= 10 characters ^-?[0-9]{1,2}\.[0-9]{5,7}$

Latitude of the point in decimal degree. Example 50.770774. Decimal separator "." required.

longitude
required
string <= 11 characters ^-?[0-9]{1,3}\.[0-9]{5,7}$

Longitude of the point in decimal degree. Example -126.104965. Decimal separator "." required.

{
  • "latitude": "string",
  • "longitude": "string"
}

DisplayText

language
required
string = 2 characters

Language Code ISO 639-1.

text
required
string <= 512 characters

Text to be displayed to an end user. No markup, html etc. allowed.

{
  • "language": "st",
  • "text": "string"
}

AdditionalGeoLocation

latitude
required
string <= 10 characters ^-?[0-9]{1,2}\.[0-9]{5,7}$

Latitude of the point in decimal degree. Example 50.770774. Decimal separator "." required.

longitude
required
string <= 11 characters ^-?[0-9]{1,3}\.[0-9]{5,7}$

Longitude of the point in decimal degree. Example -126.104965. Decimal separator "." required.

object (DisplayText)

Name of the point in local language or as written at the location. For example the street name of a parking lot entrance or its number.

{
  • "latitude": "string",
  • "longitude": "string",
  • "name": {
    }
}

ParkingType

string <open-enum> (ParkingType)
Enum Description
ALONG_MOTORWAY

Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.

PARKING_GARAGE

Multistorey car park.

PARKING_LOT

A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.

ON_DRIVEWAY

Location is on the driveway of a house/building.

ON_STREET

Parking in public space along a street.

UNDERGROUND_GARAGE

Multistorey car park, mainly underground.

Reflects the general type of the charge point's location. May be used for user information.

"ALONG_MOTORWAY"

Status

string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

The status of an EVSE.

"AVAILABLE"

StatusSchedule

period_begin
required
string <date-time>

Begin of the scheduled period.

period_end
string <date-time>

End of the scheduled period, if known.

status
required
string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

Status value during the scheduled period.

{
  • "period_begin": "2019-08-24T14:15:22Z",
  • "period_end": "2019-08-24T14:15:22Z",
  • "status": "AVAILABLE"
}

Capability

string <open-enum> (Capability)
Enum Description
CHARGING_PROFILE_CAPABLE

The EVSE supports charging profiles.

CHARGING_PREFERENCES_CAPABLE

The EVSE supports charging preferences.

CHIP_CARD_SUPPORT

EVSE has a payment terminal that supports chip cards.

CONTACTLESS_CARD_SUPPORT

EVSE has a payment terminal that supports contactless cards.

CREDIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a credit card.

DEBIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a debit card.

PED_TERMINAL

EVSE has a payment terminal with a pin-code entry device.

REMOTE_START_STOP_CAPABLE

The EVSE can remotely be started/stopped.

RESERVABLE

The EVSE can be reserved.

RFID_READER

Charging at this EVSE can be authorized with an RFID token.

START_SESSION_CONNECTOR_REQUIRED

When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object.

TOKEN_GROUP_CAPABLE

This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

UNLOCK_CAPABLE

Connectors have mechanical lock that can be requested by the eMSP to be unlocked.

The capabilities of an EVSE.

"CHARGING_PROFILE_CAPABLE"

ConnectorType

string <open-enum> (ConnectorType)
Enum Description
CHADEMO

The connector type is CHAdeMO, DC.

CHAOJI

The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC.

DOMESTIC_A

Standard/Domestic household, type "A", NEMA 1-15, 2 pins.

DOMESTIC_B

Standard/Domestic household, type "B", NEMA 5-15, 3 pins.

DOMESTIC_C

Standard/Domestic household, type "C", CEE 7/17, 2 pins.

DOMESTIC_D

Standard/Domestic household, type "D", 3 pin.

DOMESTIC_E

Standard/Domestic household, type "E", CEE 7/5 3 pins.

DOMESTIC_F

Standard/Domestic household, type "F", CEE 7/4, Schuko, 3 pins.

DOMESTIC_G

Standard/Domestic household, type "G", BS 1363, Commonwealth, 3 pins.

DOMESTIC_H

Standard/Domestic household, type "H", SI-32, 3 pins.

DOMESTIC_I

Standard/Domestic household, type "I", AS 3112, 3 pins.

DOMESTIC_J

Standard/Domestic household, type "J", SEV 1011, 3 pins.

DOMESTIC_K

Standard/Domestic household, type "K", DS 60884-2-D1, 3 pins.

DOMESTIC_L

Standard/Domestic household, type "L", CEI 23-16-VII, 3 pins.

DOMESTIC_M

Standard/Domestic household, type "M", BS 546, 3 pins.

DOMESTIC_N

Standard/Domestic household, type "N", NBR 14136, 3 pins.

DOMESTIC_O

Standard/Domestic household, type "O", TIS 166-2549, 3 pins.

GBT_AC

Guobiao GB/T 20234.2 AC socket/connector.

GBT_DC

Guobiao GB/T 20234.3 DC connector.

IEC_60309_2_single_16

IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue).

IEC_60309_2_three_16

IEC 60309-2 Industrial Connector three phases 16 amperes (usually red).

IEC_60309_2_three_32

IEC 60309-2 Industrial Connector three phases 32 amperes (usually red).

IEC_60309_2_three_64

IEC 60309-2 Industrial Connector three phases 64 amperes (usually red).

IEC_62196_T1

IEC 62196 Type 1 "SAE J1772".

IEC_62196_T1_COMBO

Combo Type 1 based, DC.

IEC_62196_T2

IEC 62196 Type 2 "Mennekes".

IEC_62196_T2_COMBO

Combo Type 2 based, DC.

IEC_62196_T3A

IEC 62196 Type 3A.

IEC_62196_T3C

IEC 62196 Type 3C "Scame".

MCS

The MegaWatt Charging System (MCS) connector as developed by CharIN.

NEMA_5_20

NEMA 5-20, 3 pins.

NEMA_6_30

NEMA 6-30, 3 pins.

NEMA_6_50

NEMA 6-50, 3 pins.

NEMA_10_30

NEMA 10-30, 3 pins.

NEMA_10_50

NEMA 10-50, 3 pins.

NEMA_14_30

NEMA 14-30, 3 pins, rating of 30 A.

NEMA_14_50

NEMA 14-50, 3 pins, rating of 50 A.

PANTOGRAPH_BOTTOM_UP

On-board Bottom-up-Pantograph typically for bus charging.

PANTOGRAPH_TOP_DOWN

Off-board Top-down-Pantograph typically for bus charging.

SAE_J3400

SAE J3400, also known as North American Charging Standard (NACS), developed by Tesla, Inc in 2021.

TESLA_R

Tesla Connector "Roadster"-type (round, 4 pin).

TESLA_S

Tesla Connector "Model-S"-type (oval, 5 pin). Mechanically compatible with SAE J3400 but uses CAN bus for communication instead of power line communication.

The socket or plug standard of the charging point.

"CHADEMO"

ConnectorFormat

string <enum> (ConnectorFormat)
Enum Description
SOCKET

The connector is a socket; the EV user needs to bring a fitting plug.

CABLE

The connector is an attached cable; the EV users car needs to have a fitting inlet.

The format of the connector, whether it is a socket or a plug.

"SOCKET"

PowerType

string <enum> (PowerType)
Enum Description
AC_1_PHASE

AC single phase.

AC_2_PHASE

AC two phases, only two of the three available phases connected.

AC_2_PHASE_SPLIT

AC two phases using split phase system.

AC_3_PHASE

AC three phases.

DC

Direct Current.

The type of power at the connector.

"AC_1_PHASE"

ConnectorCapability

string <open-enum> (ConnectorCapability)
Enum Description
ISO_15118_2_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-2.

ISO_15118_20_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-20.

Functionalities that a Connector may or may not support.

"ISO_15118_2_PLUG_AND_CHARGE"

Connector

id
required
string <= 36 characters

Identifier of the Connector within the EVSE. Two Connectors may have the same id as long as they do not belong to the same EVSE object.

standard
required
string <open-enum> (ConnectorType)
Enum Description
CHADEMO

The connector type is CHAdeMO, DC.

CHAOJI

The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC.

DOMESTIC_A

Standard/Domestic household, type "A", NEMA 1-15, 2 pins.

DOMESTIC_B

Standard/Domestic household, type "B", NEMA 5-15, 3 pins.

DOMESTIC_C

Standard/Domestic household, type "C", CEE 7/17, 2 pins.

DOMESTIC_D

Standard/Domestic household, type "D", 3 pin.

DOMESTIC_E

Standard/Domestic household, type "E", CEE 7/5 3 pins.

DOMESTIC_F

Standard/Domestic household, type "F", CEE 7/4, Schuko, 3 pins.

DOMESTIC_G

Standard/Domestic household, type "G", BS 1363, Commonwealth, 3 pins.

DOMESTIC_H

Standard/Domestic household, type "H", SI-32, 3 pins.

DOMESTIC_I

Standard/Domestic household, type "I", AS 3112, 3 pins.

DOMESTIC_J

Standard/Domestic household, type "J", SEV 1011, 3 pins.

DOMESTIC_K

Standard/Domestic household, type "K", DS 60884-2-D1, 3 pins.

DOMESTIC_L

Standard/Domestic household, type "L", CEI 23-16-VII, 3 pins.

DOMESTIC_M

Standard/Domestic household, type "M", BS 546, 3 pins.

DOMESTIC_N

Standard/Domestic household, type "N", NBR 14136, 3 pins.

DOMESTIC_O

Standard/Domestic household, type "O", TIS 166-2549, 3 pins.

GBT_AC

Guobiao GB/T 20234.2 AC socket/connector.

GBT_DC

Guobiao GB/T 20234.3 DC connector.

IEC_60309_2_single_16

IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue).

IEC_60309_2_three_16

IEC 60309-2 Industrial Connector three phases 16 amperes (usually red).

IEC_60309_2_three_32

IEC 60309-2 Industrial Connector three phases 32 amperes (usually red).

IEC_60309_2_three_64

IEC 60309-2 Industrial Connector three phases 64 amperes (usually red).

IEC_62196_T1

IEC 62196 Type 1 "SAE J1772".

IEC_62196_T1_COMBO

Combo Type 1 based, DC.

IEC_62196_T2

IEC 62196 Type 2 "Mennekes".

IEC_62196_T2_COMBO

Combo Type 2 based, DC.

IEC_62196_T3A

IEC 62196 Type 3A.

IEC_62196_T3C

IEC 62196 Type 3C "Scame".

MCS

The MegaWatt Charging System (MCS) connector as developed by CharIN.

NEMA_5_20

NEMA 5-20, 3 pins.

NEMA_6_30

NEMA 6-30, 3 pins.

NEMA_6_50

NEMA 6-50, 3 pins.

NEMA_10_30

NEMA 10-30, 3 pins.

NEMA_10_50

NEMA 10-50, 3 pins.

NEMA_14_30

NEMA 14-30, 3 pins, rating of 30 A.

NEMA_14_50

NEMA 14-50, 3 pins, rating of 50 A.

PANTOGRAPH_BOTTOM_UP

On-board Bottom-up-Pantograph typically for bus charging.

PANTOGRAPH_TOP_DOWN

Off-board Top-down-Pantograph typically for bus charging.

SAE_J3400

SAE J3400, also known as North American Charging Standard (NACS), developed by Tesla, Inc in 2021.

TESLA_R

Tesla Connector "Roadster"-type (round, 4 pin).

TESLA_S

Tesla Connector "Model-S"-type (oval, 5 pin). Mechanically compatible with SAE J3400 but uses CAN bus for communication instead of power line communication.

The standard of the installed connector.

format
required
string <enum> (ConnectorFormat)
Enum Description
SOCKET

The connector is a socket; the EV user needs to bring a fitting plug.

CABLE

The connector is an attached cable; the EV users car needs to have a fitting inlet.

The format (socket/cable) of the installed connector.

power_type
required
string <enum> (PowerType)
Enum Description
AC_1_PHASE

AC single phase.

AC_2_PHASE

AC two phases, only two of the three available phases connected.

AC_2_PHASE_SPLIT

AC two phases using split phase system.

AC_3_PHASE

AC three phases.

DC

Direct Current.

The type of power at the connector.

max_voltage
required
integer

Maximum voltage of the connector (line to neutral for AC_3_PHASE), in volt [V]. For example DC Chargers might vary the voltage during charging when battery almost full.

max_amperage
required
integer

Maximum amperage of the connector, in ampere [A].

max_electric_power
integer

Maximum electric power that can be delivered by this connector, in Watts (W). When the maximum electric power is lower than the calculated value from voltage and amperage, this value should be set.

tariff_ids
Array of strings[ items <= 36 characters ]

Identifiers of the currently valid charging tariffs. Multiple tariffs are possible, but only one of each Tariff.type can be active at the same time. Tariffs with the same type are only allowed if they are not active at the same time: start_date_time and end_date_time period not overlapping. For a "free of charge" tariff, this field should be set and point to a defined "free of charge" tariff.

terms_and_conditions
string <uri>

URL to the operator's terms and conditions.

capabilities
Array of strings <open-enum> (ConnectorCapability) [ items <open-enum > ]
Items Enum Description
ISO_15118_2_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-2.

ISO_15118_20_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-20.

A list of functionalities that the connector is capable of.

last_updated
required
string <date-time>

Timestamp when this Connector was last updated (or created).

{
  • "id": "string",
  • "standard": "CHADEMO",
  • "format": "SOCKET",
  • "power_type": "AC_1_PHASE",
  • "max_voltage": 0,
  • "max_amperage": 0,
  • "max_electric_power": 0,
  • "tariff_ids": [
    ],
  • "terms_and_conditions": "http://example.com",
  • "capabilities": [
    ],
  • "last_updated": "2019-08-24T14:15:22Z"
}

ParkingRestriction

string <open-enum> (ParkingRestriction)
Enum Description
CUSTOMERS

Parking spot for customers or guests only, for example in case of a hotel or shop.

DISABLED

Reserved parking spot for disabled people with valid ID.

EMPLOYEES

Parking only for people who work at a site, building, or complex that the Location belongs to.

EV_ONLY

Reserved parking spot for electric vehicles.

MOTORCYCLES

Parking spot only suitable for (electric) motorcycles or scooters.

PLUGGED

Parking is only allowed while plugged in (charging).

TAXIS

Parking only for taxi vehicles.

TENANTS

Parking only for people who live in a complex that the Location belongs to.

This value, if provided, represents the restriction to the parking spot for different purposes.

"CUSTOMERS"

EVSEPosition

string <enum> (EVSEPosition)
Enum Description
LEFT

The EVSE is to the left of the vehicle.

RIGHT

The EVSE is to the right of the vehicle when parked.

CENTER

The EVSE is at the center of the impassable narrow end of a parking space.

The position of an EVSE relative to the EVSE's parking space.

"LEFT"

EVSEParking

parking_id
required
string <= 36 characters

Reference to Parking.id.

evse_position
string <enum> (EVSEPosition)
Enum Description
LEFT

The EVSE is to the left of the vehicle.

RIGHT

The EVSE is to the right of the vehicle when parked.

CENTER

The EVSE is at the center of the impassable narrow end of a parking space.

Position of the EVSE relative to the parking place.

{
  • "parking_id": "string",
  • "evse_position": "LEFT"
}

ImageCategory

string <open-enum> (ImageCategory)
Enum Description
CHARGER

Photo of the physical device that contains one or more EVSEs.

ENTRANCE

Location entrance photo. Should show the car entrance to the location from street side.

LOCATION

Location overview photo.

NETWORK

Logo of an associated roaming network to be displayed with the EVSE for example in lists, maps and detailed information views.

OPERATOR

Logo of the charge point operator, for example a municipality, to be displayed in the EVSEs detailed information view or in lists and maps, if no network logo is present.

OTHER

Other

OWNER

Logo of the charge point owner, for example a local store, to be displayed in the EVSEs detailed information view.

The category of an image to obtain the correct usage in a user presentation. The category has to be set accordingly to the image content in order to guarantee the right usage.

"CHARGER"

Image

url
required
string <uri>

URL from where the image data can be fetched through a web browser.

thumbnail
string <uri>

URL from where a thumbnail of the image can be fetched through a web browser.

category
required
string <open-enum> (ImageCategory)
Enum Description
CHARGER

Photo of the physical device that contains one or more EVSEs.

ENTRANCE

Location entrance photo. Should show the car entrance to the location from street side.

LOCATION

Location overview photo.

NETWORK

Logo of an associated roaming network to be displayed with the EVSE for example in lists, maps and detailed information views.

OPERATOR

Logo of the charge point operator, for example a municipality, to be displayed in the EVSEs detailed information view or in lists and maps, if no network logo is present.

OTHER

Other

OWNER

Logo of the charge point owner, for example a local store, to be displayed in the EVSEs detailed information view.

Describes what the image is used for.

type
required
string <= 4 characters

Image type like: gif, jpeg, png, svg.

width
integer

Width of the full scale image.

height
integer

Height of the full scale image.

{}

EVSE

uid
required
string <= 36 characters

Uniquely identifies the EVSE within the CPOs platform (and suboperator platforms). This field can never be changed, modified or renamed. This is the 'technical' identification of the EVSE, not to be used as 'human readable' identification, use the field evse_id for that.

evse_id
string <= 48 characters

Compliant with the following specification for EVSE ID: "E-mobility ID-codes: the purpose of IDs, ID usage and ID format" (https://evroaming.org/contract-evse-ids/). Optional because: if an evse_id is to be re-used in the real world, the evse_id can be removed from an EVSE object if the status is set to REMOVED.

status
required
string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

Indicates the current status of the EVSE.

Array of objects (StatusSchedule)

Indicates a planned status update of the EVSE.

capabilities
Array of strings <open-enum> (Capability) [ items <open-enum > ]
Items Enum Description
CHARGING_PROFILE_CAPABLE

The EVSE supports charging profiles.

CHARGING_PREFERENCES_CAPABLE

The EVSE supports charging preferences.

CHIP_CARD_SUPPORT

EVSE has a payment terminal that supports chip cards.

CONTACTLESS_CARD_SUPPORT

EVSE has a payment terminal that supports contactless cards.

CREDIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a credit card.

DEBIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a debit card.

PED_TERMINAL

EVSE has a payment terminal with a pin-code entry device.

REMOTE_START_STOP_CAPABLE

The EVSE can remotely be started/stopped.

RESERVABLE

The EVSE can be reserved.

RFID_READER

Charging at this EVSE can be authorized with an RFID token.

START_SESSION_CONNECTOR_REQUIRED

When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object.

TOKEN_GROUP_CAPABLE

This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

UNLOCK_CAPABLE

Connectors have mechanical lock that can be requested by the eMSP to be unlocked.

List of functionalities that the EVSE is capable of.

required
Array of objects (Connector) non-empty

List of available connectors on the EVSE.

floor_level
string <= 4 characters

Level on which the Charge Point is located (in garage buildings) in the locally displayed numbering scheme.

object (GeoLocation)

Coordinates of the EVSE.

physical_reference
string <= 16 characters

A number/string printed on the outside of the EVSE for visual identification.

Array of objects (DisplayText)

Multi-language human-readable directions when more detailed information on how to reach the EVSE from the Location is required.

parking_restrictions
Array of strings <open-enum> (ParkingRestriction) [ items <open-enum > ]
Items Enum Description
CUSTOMERS

Parking spot for customers or guests only, for example in case of a hotel or shop.

DISABLED

Reserved parking spot for disabled people with valid ID.

EMPLOYEES

Parking only for people who work at a site, building, or complex that the Location belongs to.

EV_ONLY

Reserved parking spot for electric vehicles.

MOTORCYCLES

Parking spot only suitable for (electric) motorcycles or scooters.

PLUGGED

Parking is only allowed while plugged in (charging).

TAXIS

Parking only for taxi vehicles.

TENANTS

Parking only for people who live in a complex that the Location belongs to.

All applicable restrictions on who can charge at the EVSE, apart from those related to the vehicle type.

Array of objects (EVSEParking)

List of parking place references for this EVSE. New in OCPI 2.3.0.

accepted_service_providers
Array of strings[ items <= 50 characters ]

List of service provider identifiers accepted at this EVSE. New in OCPI 2.3.0.

Array of objects (Image)

Links to images related to the EVSE such as photos or logos.

last_updated
required
string <date-time>

Timestamp when this EVSE or one of its Connectors was last updated (or created).

{
  • "uid": "string",
  • "evse_id": "string",
  • "status": "AVAILABLE",
  • "status_schedule": [
    ],
  • "capabilities": [
    ],
  • "connectors": [
    ],
  • "floor_level": "stri",
  • "coordinates": {
    },
  • "physical_reference": "string",
  • "directions": [
    ],
  • "parking_restrictions": [
    ],
  • "parking": [
    ],
  • "accepted_service_providers": [
    ],
  • "images": [],
  • "last_updated": "2019-08-24T14:15:22Z"
}

VehicleType

string <open-enum> (VehicleType)
Enum Description
MOTORCYCLE

A motorcycle.

PERSONAL_VEHICLE

A personal vehicle, a passenger car.

PERSONAL_VEHICLE_WITH_TRAILER

A personal vehicle with a trailer attached.

VAN

A light-duty van with a height smaller than 275 cm.

SEMI_TRACTOR

A heavy-duty tractor unit without a trailer.

RIGID

A heavy-duty truck without an articulation point.

TRUCK_WITH_TRAILER

A heavy-duty truck (tractor or rigid) with a trailer attached.

BUS

A bus or a motor coach.

DISABLED

A vehicle with a permit for parking spaces for people with disabilities.

A categorization of vehicles to indicate which type of vehicles can use a certain EVSE.

"MOTORCYCLE"

ParkingDirection

string <enum> (ParkingDirection)
Enum Description
PARALLEL

Parking happens parallel to the roadway on which vehicles approach the EVSE.

PERPENDICULAR

Parking happens perpendicular to the roadway on which vehicles approach the EVSE.

ANGLE

Parking happens at an angle to the roadway on which vehicles approach the EVSE (i.e. echelon parking).

Indicates the direction in which parking occurs relative to the roadway on which vehicles approach the EVSE.

"PARALLEL"

Parking

id
required
string <= 36 characters

Unique identifier of the parking place.

physical_reference
string <= 12 characters

Physical reference (e.g. parking spot number).

vehicle_types
required
Array of strings <open-enum> (VehicleType) non-empty [ items <open-enum > ]
Items Enum Description
MOTORCYCLE

A motorcycle.

PERSONAL_VEHICLE

A personal vehicle, a passenger car.

PERSONAL_VEHICLE_WITH_TRAILER

A personal vehicle with a trailer attached.

VAN

A light-duty van with a height smaller than 275 cm.

SEMI_TRACTOR

A heavy-duty tractor unit without a trailer.

RIGID

A heavy-duty truck without an articulation point.

TRUCK_WITH_TRAILER

A heavy-duty truck (tractor or rigid) with a trailer attached.

BUS

A bus or a motor coach.

DISABLED

A vehicle with a permit for parking spaces for people with disabilities.

Types of vehicles that can use this parking place.

max_vehicle_weight
number

Maximum vehicle weight in kg.

max_vehicle_height
number

Maximum vehicle height in centimeters.

max_vehicle_length
number

Maximum vehicle length in centimeters.

max_vehicle_width
number

Maximum vehicle width in centimeters.

parking_space_length
number

Length of the parking space in centimeters.

parking_space_width
number

Width of the parking space in centimeters.

dangerous_goods_allowed
boolean

Whether dangerous goods are allowed.

direction
string <enum> (ParkingDirection)
Enum Description
PARALLEL

Parking happens parallel to the roadway on which vehicles approach the EVSE.

PERPENDICULAR

Parking happens perpendicular to the roadway on which vehicles approach the EVSE.

ANGLE

Parking happens at an angle to the roadway on which vehicles approach the EVSE (i.e. echelon parking).

Parking direction/orientation.

drive_through
boolean

Whether drive-through is possible.

restricted_to_type
required
boolean

Whether access is restricted to specific vehicle types.

reservation_required
required
boolean

Whether reservation is required.

time_limit
number

Maximum parking duration in minutes.

roofed
boolean

Whether the parking place is roofed.

Array of objects (Image)
lighting
boolean

Whether the parking place has lighting.

refrigeration_outlet
boolean

Whether a refrigeration outlet is available.

standards
Array of strings[ items <= 36 characters ]

A list of standards that the parking space conforms to, e.g. PAS 1899.

apds_reference
string

Reference to an Alliance for Parking Data Standards (APDS) element describing this parking. The referenced element may be a Place, Space or other hierarchy element defined by APDS.

{
  • "id": "string",
  • "physical_reference": "string",
  • "vehicle_types": [
    ],
  • "max_vehicle_weight": 0,
  • "max_vehicle_height": 0,
  • "max_vehicle_length": 0,
  • "max_vehicle_width": 0,
  • "parking_space_length": 0,
  • "parking_space_width": 0,
  • "dangerous_goods_allowed": true,
  • "direction": "PARALLEL",
  • "drive_through": true,
  • "restricted_to_type": true,
  • "reservation_required": true,
  • "time_limit": 0,
  • "roofed": true,
  • "images": [],
  • "lighting": true,
  • "refrigeration_outlet": true,
  • "standards": [
    ],
  • "apds_reference": "string"
}

BusinessDetails

name
required
string <= 100 characters

Name of the operator.

website
string <uri>

Link to the operator's website.

object (Image)

Image link to the operator's logo.

{}

Facility

string <open-enum> (Facility)
Enum Description
HOTEL

A hotel.

RESTAURANT

A restaurant.

CAFE

A cafe.

MALL

A mall or shopping center.

SUPERMARKET

A supermarket.

SPORT

Sport facilities: gym, field etc.

RECREATION_AREA

A recreation area.

NATURE

Located in, or close to, a park, nature reserve etc.

MUSEUM

A museum.

BIKE_SHARING

A bike/e-bike/e-scooter sharing location.

BUS_STOP

A bus stop.

TAXI_STAND

A taxi stand.

TRAM_STOP

A tram stop/station.

METRO_STATION

A metro station.

TRAIN_STATION

A train station.

AIRPORT

An airport.

PARKING_LOT

A parking lot.

CARPOOL_PARKING

A carpool parking.

FUEL_STATION

A Fuel station.

WIFI

Wifi or other type of internet available.

Facilities available at or near the charging location.

"HOTEL"

RegularHours

weekday
required
integer [ 1 .. 7 ]

Number of day in the week, from Monday (1) till Sunday (7).

period_begin
required
string^([0-1][0-9]|2[0-3]):[0-5][0-9]$

Begin of the regular period, in local time, given in hours and minutes. Must be in 24h format with leading zeros. Example "18:15".

period_end
required
string^([0-1][0-9]|2[0-3]):[0-5][0-9]$

End of the regular period, in local time, syntax as for period_begin. Must be later than period_begin.

{
  • "weekday": 1,
  • "period_begin": "string",
  • "period_end": "string"
}

ExceptionalPeriod

period_begin
required
string <date-time>

Begin of the exception. In UTC, time_zone field of the Location can be used to convert to local time.

period_end
required
string <date-time>

End of the exception. In UTC, time_zone field of the Location can be used to convert to local time.

{
  • "period_begin": "2019-08-24T14:15:22Z",
  • "period_end": "2019-08-24T14:15:22Z"
}

Hours

twentyfourseven
required
boolean

True to represent 24 hours a day and 7 days a week, except the given exceptions.

Array of objects (RegularHours)

Regular hours, weekday-based. Only to be used if twentyfourseven=false, then this field needs to contain at least one RegularHours object.

Array of objects (ExceptionalPeriod)

Exceptions for specified calendar dates, time-range based. Periods the station is operating/accessible. Additional to regular_hours. May overlap regular rules.

Array of objects (ExceptionalPeriod)

Exceptions for specified calendar dates, time-range based. Periods the station is not operating/accessible. Overwriting regular_hours and exceptional_openings.

{
  • "twentyfourseven": true,
  • "regular_hours": [
    ],
  • "exceptional_openings": [
    ],
  • "exceptional_closings": [
    ]
}

EnergySourceCategory

string <enum> (EnergySourceCategory)
Enum Description
NUCLEAR

Nuclear power sources.

GENERAL_FOSSIL

All kinds of fossil power sources.

COAL

Fossil power from coal.

GAS

Fossil power from gas.

GENERAL_GREEN

All kinds of regenerative power sources.

SOLAR

Regenerative power from PV.

WIND

Regenerative power from wind turbines.

WATER

Regenerative power from water turbines.

Categories of energy sources.

"NUCLEAR"

EnergySource

source
required
string <enum> (EnergySourceCategory)
Enum Description
NUCLEAR

Nuclear power sources.

GENERAL_FOSSIL

All kinds of fossil power sources.

COAL

Fossil power from coal.

GAS

Fossil power from gas.

GENERAL_GREEN

All kinds of regenerative power sources.

SOLAR

Regenerative power from PV.

WIND

Regenerative power from wind turbines.

WATER

Regenerative power from water turbines.

The type of energy source.

percentage
required
number

Percentage of this source (0-100) in the mix.

{
  • "source": "NUCLEAR",
  • "percentage": 0
}

EnvironmentalImpactCategory

string <open-enum> (EnvironmentalImpactCategory)
Enum Description
NUCLEAR_WASTE

Produced nuclear waste in grams per kilowatthour.

CARBON_DIOXIDE

Exhausted carbon dioxide in grams per kilowatthour.

Categories of environmental impact values.

"NUCLEAR_WASTE"

EnvironmentalImpact

category
required
string <open-enum> (EnvironmentalImpactCategory)
Enum Description
NUCLEAR_WASTE

Produced nuclear waste in grams per kilowatthour.

CARBON_DIOXIDE

Exhausted carbon dioxide in grams per kilowatthour.

The environmental impact category of this value.

amount
required
number

Amount of this portion in g/kWh.

{
  • "category": "NUCLEAR_WASTE",
  • "amount": 0
}

EnergyMix

is_green_energy
required
boolean

True if 100% from regenerative sources. (CO2 and nuclear waste is zero)

Array of objects (EnergySource)

Key-value pairs (enum + percentage) of energy sources of this location's tariff.

Array of objects (EnvironmentalImpact)

Key-value pairs (enum + percentage) of nuclear waste and CO2 exhaust of this location's tariff.

supplier_name
string <= 64 characters

Name of the energy supplier, delivering the energy for this location or tariff.

energy_product_name
string <= 64 characters

Name of the energy supplier's product/tariff plan used at this location.

{
  • "is_green_energy": true,
  • "energy_sources": [
    ],
  • "environ_impact": [
    ],
  • "supplier_name": "string",
  • "energy_product_name": "string"
}

Location

country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the CPO that 'owns' this Location.

party_id
required
string = 3 characters

ID of the CPO that 'owns' this Location (following the ISO-15118 standard).

id
required
string <= 36 characters

Uniquely identifies the location within the CPOs platform (and suboperator platforms). This field can never be changed, modified or renamed.

publish
required
boolean

Defines if a Location may be published on a website or app etc. When this is set to false, only tokens identified in the field publish_allowed_to are allowed to be shown this Location. When the same location has EVSEs that may be published and may not be published, two 'Locations' should be created.

Array of objects (PublishTokenType)

This field may only be used when the publish field is set to false. Only owners of Tokens that match all the set fields of one PublishToken in the list are allowed to be shown this location.

name
string <= 255 characters

Display name of the location.

address
required
string <= 45 characters

Street/block name and house number if available.

city
required
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code of the location, may only be omitted when the location has no postal code.

state
string <= 20 characters

State or province of the location, only to be used when relevant.

country
required
string = 3 characters

ISO 3166-1 alpha-3 code for the country of this location.

required
object (GeoLocation)

Coordinates of the location.

Array of objects (AdditionalGeoLocation)

Geographical location of related points relevant to the user.

parking_type
string <open-enum> (ParkingType)
Enum Description
ALONG_MOTORWAY

Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.

PARKING_GARAGE

Multistorey car park.

PARKING_LOT

A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.

ON_DRIVEWAY

Location is on the driveway of a house/building.

ON_STREET

Parking in public space along a street.

UNDERGROUND_GARAGE

Multistorey car park, mainly underground.

The general type of parking at the charge point location.

Array of objects (EVSE)

List of EVSEs that belong to this Location.

Array of objects (Parking)

List of parking places at this location. New in OCPI 2.3.0.

Array of objects (DisplayText)

Human-readable directions on how to reach the location.

object (BusinessDetails)

Information of the operator. When not specified, the information retrieved from the Credentials module should be used instead.

object (BusinessDetails)

Information of the suboperator if available.

object (BusinessDetails)

Information of the owner if available.

facilities
Array of strings <open-enum> (Facility) [ items <open-enum > ]
Items Enum Description
HOTEL

A hotel.

RESTAURANT

A restaurant.

CAFE

A cafe.

MALL

A mall or shopping center.

SUPERMARKET

A supermarket.

SPORT

Sport facilities: gym, field etc.

RECREATION_AREA

A recreation area.

NATURE

Located in, or close to, a park, nature reserve etc.

MUSEUM

A museum.

BIKE_SHARING

A bike/e-bike/e-scooter sharing location.

BUS_STOP

A bus stop.

TAXI_STAND

A taxi stand.

TRAM_STOP

A tram stop/station.

METRO_STATION

A metro station.

TRAIN_STATION

A train station.

AIRPORT

An airport.

PARKING_LOT

A parking lot.

CARPOOL_PARKING

A carpool parking.

FUEL_STATION

A Fuel station.

WIFI

Wifi or other type of internet available.

Optional list of facilities this charging location directly belongs to.

time_zone
required
string <= 255 characters

One of IANA tzdata's TZ-values representing the time zone of the location. Examples "Europe/Oslo", "Europe/Zurich".

object (Hours)

The times when the EVSEs at the location can be accessed for charging.

charging_when_closed
boolean

Indicates if the EVSEs are still charging outside the opening hours of the location. Default is true.

Array of objects (Image)

Links to images related to the location such as photos or logos.

object (EnergyMix)

Details on the energy supplied at this location.

help_phone
string <= 25 characters

A telephone number that a Driver using the Location may call for assistance. Calling this number will typically connect the caller to the CPO's customer service department.

last_updated
required
string <date-time>

Timestamp when this Location or one of its EVSEs or Connectors were last updated (or created).

{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "publish": true,
  • "publish_allowed_to": [
    ],
  • "name": "string",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "related_locations": [
    ],
  • "parking_type": "ALONG_MOTORWAY",
  • "evses": [
    ],
  • "parking_places": [
    ],
  • "directions": [
    ],
  • "operator": {},
  • "suboperator": {},
  • "owner": {},
  • "facilities": [
    ],
  • "time_zone": "string",
  • "opening_times": {
    },
  • "charging_when_closed": true,
  • "images": [],
  • "energy_mix": {
    },
  • "help_phone": "string",
  • "last_updated": "2019-08-24T14:15:22Z"
}

LocationPatch

publish
boolean
Array of objects (PublishTokenType)
name
string <= 255 characters
address
string <= 45 characters
city
string <= 45 characters
postal_code
string <= 10 characters
state
string <= 20 characters
country
string = 3 characters
object (GeoLocation)

This class defines the geo location of the Charge Point. The geodetic system to be used is WGS 84. Five decimal places is seen as a minimum for GPS coordinates as this gives approximately 1 meter precision. More is always better. Seven decimal places gives approximately 1cm precision.

Array of objects (AdditionalGeoLocation)
parking_type
string <open-enum> (ParkingType)
Enum Description
ALONG_MOTORWAY

Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.

PARKING_GARAGE

Multistorey car park.

PARKING_LOT

A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.

ON_DRIVEWAY

Location is on the driveway of a house/building.

ON_STREET

Parking in public space along a street.

UNDERGROUND_GARAGE

Multistorey car park, mainly underground.

Reflects the general type of the charge point's location. May be used for user information.

Array of objects (EVSE)
Array of objects (Parking)
Array of objects (DisplayText)
object (BusinessDetails)

Business details of an operator, suboperator, or owner.

object (BusinessDetails)

Business details of an operator, suboperator, or owner.

object (BusinessDetails)

Business details of an operator, suboperator, or owner.

facilities
Array of strings <open-enum> (Facility) [ items <open-enum > ]
Items Enum Description
HOTEL

A hotel.

RESTAURANT

A restaurant.

CAFE

A cafe.

MALL

A mall or shopping center.

SUPERMARKET

A supermarket.

SPORT

Sport facilities: gym, field etc.

RECREATION_AREA

A recreation area.

NATURE

Located in, or close to, a park, nature reserve etc.

MUSEUM

A museum.

BIKE_SHARING

A bike/e-bike/e-scooter sharing location.

BUS_STOP

A bus stop.

TAXI_STAND

A taxi stand.

TRAM_STOP

A tram stop/station.

METRO_STATION

A metro station.

TRAIN_STATION

A train station.

AIRPORT

An airport.

PARKING_LOT

A parking lot.

CARPOOL_PARKING

A carpool parking.

FUEL_STATION

A Fuel station.

WIFI

Wifi or other type of internet available.

time_zone
string <= 255 characters
object (Hours)

Opening and access hours of the location.

charging_when_closed
boolean
Array of objects (Image)
object (EnergyMix)

This type is used to specify the energy mix and environmental impact of the supplied energy at a location or in a tariff.

help_phone
string <= 25 characters
last_updated
required
string <date-time>
{
  • "publish": true,
  • "publish_allowed_to": [
    ],
  • "name": "string",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "related_locations": [
    ],
  • "parking_type": "ALONG_MOTORWAY",
  • "evses": [
    ],
  • "parking_places": [
    ],
  • "directions": [
    ],
  • "operator": {},
  • "suboperator": {},
  • "owner": {},
  • "facilities": [
    ],
  • "time_zone": "string",
  • "opening_times": {
    },
  • "charging_when_closed": true,
  • "images": [],
  • "energy_mix": {
    },
  • "help_phone": "string",
  • "last_updated": "2019-08-24T14:15:22Z"
}

EVSEPatch

evse_id
string <= 48 characters
status
string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

The status of an EVSE.

Array of objects (StatusSchedule)
capabilities
Array of strings <open-enum> (Capability) [ items <open-enum > ]
Items Enum Description
CHARGING_PROFILE_CAPABLE

The EVSE supports charging profiles.

CHARGING_PREFERENCES_CAPABLE

The EVSE supports charging preferences.

CHIP_CARD_SUPPORT

EVSE has a payment terminal that supports chip cards.

CONTACTLESS_CARD_SUPPORT

EVSE has a payment terminal that supports contactless cards.

CREDIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a credit card.

DEBIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a debit card.

PED_TERMINAL

EVSE has a payment terminal with a pin-code entry device.

REMOTE_START_STOP_CAPABLE

The EVSE can remotely be started/stopped.

RESERVABLE

The EVSE can be reserved.

RFID_READER

Charging at this EVSE can be authorized with an RFID token.

START_SESSION_CONNECTOR_REQUIRED

When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object.

TOKEN_GROUP_CAPABLE

This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

UNLOCK_CAPABLE

Connectors have mechanical lock that can be requested by the eMSP to be unlocked.

Array of objects (Connector)
floor_level
string <= 4 characters
object (GeoLocation)

This class defines the geo location of the Charge Point. The geodetic system to be used is WGS 84. Five decimal places is seen as a minimum for GPS coordinates as this gives approximately 1 meter precision. More is always better. Seven decimal places gives approximately 1cm precision.

physical_reference
string <= 16 characters
Array of objects (DisplayText)
parking_restrictions
Array of strings <open-enum> (ParkingRestriction) [ items <open-enum > ]
Items Enum Description
CUSTOMERS

Parking spot for customers or guests only, for example in case of a hotel or shop.

DISABLED

Reserved parking spot for disabled people with valid ID.

EMPLOYEES

Parking only for people who work at a site, building, or complex that the Location belongs to.

EV_ONLY

Reserved parking spot for electric vehicles.

MOTORCYCLES

Parking spot only suitable for (electric) motorcycles or scooters.

PLUGGED

Parking is only allowed while plugged in (charging).

TAXIS

Parking only for taxi vehicles.

TENANTS

Parking only for people who live in a complex that the Location belongs to.

Array of objects (EVSEParking)
accepted_service_providers
Array of strings[ items <= 50 characters ]
Array of objects (Image)
last_updated
required
string <date-time>
{
  • "evse_id": "string",
  • "status": "AVAILABLE",
  • "status_schedule": [
    ],
  • "capabilities": [
    ],
  • "connectors": [
    ],
  • "floor_level": "stri",
  • "coordinates": {
    },
  • "physical_reference": "string",
  • "directions": [
    ],
  • "parking_restrictions": [
    ],
  • "parking": [
    ],
  • "accepted_service_providers": [
    ],
  • "images": [],
  • "last_updated": "2019-08-24T14:15:22Z"
}

ConnectorPatch

standard
string <open-enum> (ConnectorType)
Enum Description
CHADEMO

The connector type is CHAdeMO, DC.

CHAOJI

The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC.

DOMESTIC_A

Standard/Domestic household, type "A", NEMA 1-15, 2 pins.

DOMESTIC_B

Standard/Domestic household, type "B", NEMA 5-15, 3 pins.

DOMESTIC_C

Standard/Domestic household, type "C", CEE 7/17, 2 pins.

DOMESTIC_D

Standard/Domestic household, type "D", 3 pin.

DOMESTIC_E

Standard/Domestic household, type "E", CEE 7/5 3 pins.

DOMESTIC_F

Standard/Domestic household, type "F", CEE 7/4, Schuko, 3 pins.

DOMESTIC_G

Standard/Domestic household, type "G", BS 1363, Commonwealth, 3 pins.

DOMESTIC_H

Standard/Domestic household, type "H", SI-32, 3 pins.

DOMESTIC_I

Standard/Domestic household, type "I", AS 3112, 3 pins.

DOMESTIC_J

Standard/Domestic household, type "J", SEV 1011, 3 pins.

DOMESTIC_K

Standard/Domestic household, type "K", DS 60884-2-D1, 3 pins.

DOMESTIC_L

Standard/Domestic household, type "L", CEI 23-16-VII, 3 pins.

DOMESTIC_M

Standard/Domestic household, type "M", BS 546, 3 pins.

DOMESTIC_N

Standard/Domestic household, type "N", NBR 14136, 3 pins.

DOMESTIC_O

Standard/Domestic household, type "O", TIS 166-2549, 3 pins.

GBT_AC

Guobiao GB/T 20234.2 AC socket/connector.

GBT_DC

Guobiao GB/T 20234.3 DC connector.

IEC_60309_2_single_16

IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue).

IEC_60309_2_three_16

IEC 60309-2 Industrial Connector three phases 16 amperes (usually red).

IEC_60309_2_three_32

IEC 60309-2 Industrial Connector three phases 32 amperes (usually red).

IEC_60309_2_three_64

IEC 60309-2 Industrial Connector three phases 64 amperes (usually red).

IEC_62196_T1

IEC 62196 Type 1 "SAE J1772".

IEC_62196_T1_COMBO

Combo Type 1 based, DC.

IEC_62196_T2

IEC 62196 Type 2 "Mennekes".

IEC_62196_T2_COMBO

Combo Type 2 based, DC.

IEC_62196_T3A

IEC 62196 Type 3A.

IEC_62196_T3C

IEC 62196 Type 3C "Scame".

MCS

The MegaWatt Charging System (MCS) connector as developed by CharIN.

NEMA_5_20

NEMA 5-20, 3 pins.

NEMA_6_30

NEMA 6-30, 3 pins.

NEMA_6_50

NEMA 6-50, 3 pins.

NEMA_10_30

NEMA 10-30, 3 pins.

NEMA_10_50

NEMA 10-50, 3 pins.

NEMA_14_30

NEMA 14-30, 3 pins, rating of 30 A.

NEMA_14_50

NEMA 14-50, 3 pins, rating of 50 A.

PANTOGRAPH_BOTTOM_UP

On-board Bottom-up-Pantograph typically for bus charging.

PANTOGRAPH_TOP_DOWN

Off-board Top-down-Pantograph typically for bus charging.

SAE_J3400

SAE J3400, also known as North American Charging Standard (NACS), developed by Tesla, Inc in 2021.

TESLA_R

Tesla Connector "Roadster"-type (round, 4 pin).

TESLA_S

Tesla Connector "Model-S"-type (oval, 5 pin). Mechanically compatible with SAE J3400 but uses CAN bus for communication instead of power line communication.

The socket or plug standard of the charging point.

format
string <enum> (ConnectorFormat)
Enum Description
SOCKET

The connector is a socket; the EV user needs to bring a fitting plug.

CABLE

The connector is an attached cable; the EV users car needs to have a fitting inlet.

The format of the connector, whether it is a socket or a plug.

power_type
string <enum> (PowerType)
Enum Description
AC_1_PHASE

AC single phase.

AC_2_PHASE

AC two phases, only two of the three available phases connected.

AC_2_PHASE_SPLIT

AC two phases using split phase system.

AC_3_PHASE

AC three phases.

DC

Direct Current.

The type of power at the connector.

max_voltage
integer
max_amperage
integer
max_electric_power
integer
tariff_ids
Array of strings[ items <= 36 characters ]
terms_and_conditions
string <uri>
capabilities
Array of strings <open-enum> (ConnectorCapability) [ items <open-enum > ]
Items Enum Description
ISO_15118_2_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-2.

ISO_15118_20_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-20.

last_updated
required
string <date-time>
{
  • "standard": "CHADEMO",
  • "format": "SOCKET",
  • "power_type": "AC_1_PHASE",
  • "max_voltage": 0,
  • "max_amperage": 0,
  • "max_electric_power": 0,
  • "tariff_ids": [
    ],
  • "terms_and_conditions": "http://example.com",
  • "capabilities": [
    ],
  • "last_updated": "2019-08-24T14:15:22Z"
}

Locations

Get a Location

If the CPO wants to check the status of a Location object in the eMSP system, it might GET the object from the eMSP system for validation purposes. The CPO is the owner of the objects, so it would be illogical if the eMSP system had a different status or was missing an object. If a discrepancy is found, the CPO might push an update to the eMSP via a PUT or PATCH call.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Responses

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Create or replace a Location

The CPO pushes available Location objects to the eMSP. PUT can be used to send new Location objects to the eMSP but also to replace existing Locations.

The country_code and party_id in the URL SHALL be the same value as the country_code and party_id in the Location object being pushed.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

New Location object, or Location object to replace.

country_code
required
string = 2 characters

ISO-3166 alpha-2 country code of the CPO that 'owns' this Location.

party_id
required
string = 3 characters

ID of the CPO that 'owns' this Location (following the ISO-15118 standard).

id
required
string <= 36 characters

Uniquely identifies the location within the CPOs platform (and suboperator platforms). This field can never be changed, modified or renamed.

publish
required
boolean

Defines if a Location may be published on a website or app etc. When this is set to false, only tokens identified in the field publish_allowed_to are allowed to be shown this Location. When the same location has EVSEs that may be published and may not be published, two 'Locations' should be created.

Array of objects (PublishTokenType)

This field may only be used when the publish field is set to false. Only owners of Tokens that match all the set fields of one PublishToken in the list are allowed to be shown this location.

name
string <= 255 characters

Display name of the location.

address
required
string <= 45 characters

Street/block name and house number if available.

city
required
string <= 45 characters

City or town.

postal_code
string <= 10 characters

Postal code of the location, may only be omitted when the location has no postal code.

state
string <= 20 characters

State or province of the location, only to be used when relevant.

country
required
string = 3 characters

ISO 3166-1 alpha-3 code for the country of this location.

required
object (GeoLocation)

Coordinates of the location.

Array of objects (AdditionalGeoLocation)

Geographical location of related points relevant to the user.

parking_type
string <open-enum> (ParkingType)
Enum Description
ALONG_MOTORWAY

Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.

PARKING_GARAGE

Multistorey car park.

PARKING_LOT

A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.

ON_DRIVEWAY

Location is on the driveway of a house/building.

ON_STREET

Parking in public space along a street.

UNDERGROUND_GARAGE

Multistorey car park, mainly underground.

The general type of parking at the charge point location.

Array of objects (EVSE)

List of EVSEs that belong to this Location.

Array of objects (Parking)

List of parking places at this location. New in OCPI 2.3.0.

Array of objects (DisplayText)

Human-readable directions on how to reach the location.

object (BusinessDetails)

Information of the operator. When not specified, the information retrieved from the Credentials module should be used instead.

object (BusinessDetails)

Information of the suboperator if available.

object (BusinessDetails)

Information of the owner if available.

facilities
Array of strings <open-enum> (Facility) [ items <open-enum > ]
Items Enum Description
HOTEL

A hotel.

RESTAURANT

A restaurant.

CAFE

A cafe.

MALL

A mall or shopping center.

SUPERMARKET

A supermarket.

SPORT

Sport facilities: gym, field etc.

RECREATION_AREA

A recreation area.

NATURE

Located in, or close to, a park, nature reserve etc.

MUSEUM

A museum.

BIKE_SHARING

A bike/e-bike/e-scooter sharing location.

BUS_STOP

A bus stop.

TAXI_STAND

A taxi stand.

TRAM_STOP

A tram stop/station.

METRO_STATION

A metro station.

TRAIN_STATION

A train station.

AIRPORT

An airport.

PARKING_LOT

A parking lot.

CARPOOL_PARKING

A carpool parking.

FUEL_STATION

A Fuel station.

WIFI

Wifi or other type of internet available.

Optional list of facilities this charging location directly belongs to.

time_zone
required
string <= 255 characters

One of IANA tzdata's TZ-values representing the time zone of the location. Examples "Europe/Oslo", "Europe/Zurich".

object (Hours)

The times when the EVSEs at the location can be accessed for charging.

charging_when_closed
boolean

Indicates if the EVSEs are still charging outside the opening hours of the location. Default is true.

Array of objects (Image)

Links to images related to the location such as photos or logos.

object (EnergyMix)

Details on the energy supplied at this location.

help_phone
string <= 25 characters

A telephone number that a Driver using the Location may call for assistance. Calling this number will typically connect the caller to the CPO's customer service department.

last_updated
required
string <date-time>

Timestamp when this Location or one of its EVSEs or Connectors were last updated (or created).

Responses

Request samples

Content type
application/json
{
  • "country_code": "st",
  • "party_id": "str",
  • "id": "string",
  • "publish": true,
  • "publish_allowed_to": [
    ],
  • "name": "string",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "related_locations": [
    ],
  • "parking_type": "ALONG_MOTORWAY",
  • "evses": [
    ],
  • "parking_places": [
    ],
  • "directions": [
    ],
  • "operator": {},
  • "suboperator": {},
  • "owner": {},
  • "facilities": [
    ],
  • "time_zone": "string",
  • "opening_times": {
    },
  • "charging_when_closed": true,
  • "images": [],
  • "energy_mix": {
    },
  • "help_phone": "string",
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

Partially update a Location

Notify the eMSP of partial updates to a Location. Only the fields/objects that have to be updated have to be present, other fields/objects that are not specified are considered unchanged. This method is not suitable to remove information shared earlier.

Any request to the PATCH method SHALL contain the last_updated field.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

The partial Location object containing only the fields to update. Must contain last_updated.

publish
boolean
Array of objects (PublishTokenType)
name
string <= 255 characters
address
string <= 45 characters
city
string <= 45 characters
postal_code
string <= 10 characters
state
string <= 20 characters
country
string = 3 characters
object (GeoLocation)

This class defines the geo location of the Charge Point. The geodetic system to be used is WGS 84. Five decimal places is seen as a minimum for GPS coordinates as this gives approximately 1 meter precision. More is always better. Seven decimal places gives approximately 1cm precision.

Array of objects (AdditionalGeoLocation)
parking_type
string <open-enum> (ParkingType)
Enum Description
ALONG_MOTORWAY

Location on a parking facility/rest area along a motorway, freeway, interstate, highway etc.

PARKING_GARAGE

Multistorey car park.

PARKING_LOT

A cleared area that is intended for parking vehicles, i.e. at super markets, bars, etc.

ON_DRIVEWAY

Location is on the driveway of a house/building.

ON_STREET

Parking in public space along a street.

UNDERGROUND_GARAGE

Multistorey car park, mainly underground.

Reflects the general type of the charge point's location. May be used for user information.

Array of objects (EVSE)
Array of objects (Parking)
Array of objects (DisplayText)
object (BusinessDetails)

Business details of an operator, suboperator, or owner.

object (BusinessDetails)

Business details of an operator, suboperator, or owner.

object (BusinessDetails)

Business details of an operator, suboperator, or owner.

facilities
Array of strings <open-enum> (Facility) [ items <open-enum > ]
Items Enum Description
HOTEL

A hotel.

RESTAURANT

A restaurant.

CAFE

A cafe.

MALL

A mall or shopping center.

SUPERMARKET

A supermarket.

SPORT

Sport facilities: gym, field etc.

RECREATION_AREA

A recreation area.

NATURE

Located in, or close to, a park, nature reserve etc.

MUSEUM

A museum.

BIKE_SHARING

A bike/e-bike/e-scooter sharing location.

BUS_STOP

A bus stop.

TAXI_STAND

A taxi stand.

TRAM_STOP

A tram stop/station.

METRO_STATION

A metro station.

TRAIN_STATION

A train station.

AIRPORT

An airport.

PARKING_LOT

A parking lot.

CARPOOL_PARKING

A carpool parking.

FUEL_STATION

A Fuel station.

WIFI

Wifi or other type of internet available.

time_zone
string <= 255 characters
object (Hours)

Opening and access hours of the location.

charging_when_closed
boolean
Array of objects (Image)
object (EnergyMix)

This type is used to specify the energy mix and environmental impact of the supplied energy at a location or in a tariff.

help_phone
string <= 25 characters
last_updated
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "publish": true,
  • "publish_allowed_to": [
    ],
  • "name": "string",
  • "address": "string",
  • "city": "string",
  • "postal_code": "string",
  • "state": "string",
  • "country": "str",
  • "coordinates": {
    },
  • "related_locations": [
    ],
  • "parking_type": "ALONG_MOTORWAY",
  • "evses": [
    ],
  • "parking_places": [
    ],
  • "directions": [
    ],
  • "operator": {},
  • "suboperator": {},
  • "owner": {},
  • "facilities": [
    ],
  • "time_zone": "string",
  • "opening_times": {
    },
  • "charging_when_closed": true,
  • "images": [],
  • "energy_mix": {
    },
  • "help_phone": "string",
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

Get an EVSE

Retrieve an EVSE as it is stored in the receiver's system. The EVSE object includes all Connectors belonging to it.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Responses

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Create or replace an EVSE

The CPO pushes a new or updated EVSE object to the eMSP.

When the PUT only contains an EVSE Object, the Receiver SHALL also set the new last_updated value on the parent Location Object.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

New EVSE object, or EVSE object to replace.

uid
required
string <= 36 characters

Uniquely identifies the EVSE within the CPOs platform (and suboperator platforms). This field can never be changed, modified or renamed. This is the 'technical' identification of the EVSE, not to be used as 'human readable' identification, use the field evse_id for that.

evse_id
string <= 48 characters

Compliant with the following specification for EVSE ID: "E-mobility ID-codes: the purpose of IDs, ID usage and ID format" (https://evroaming.org/contract-evse-ids/). Optional because: if an evse_id is to be re-used in the real world, the evse_id can be removed from an EVSE object if the status is set to REMOVED.

status
required
string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

Indicates the current status of the EVSE.

Array of objects (StatusSchedule)

Indicates a planned status update of the EVSE.

capabilities
Array of strings <open-enum> (Capability) [ items <open-enum > ]
Items Enum Description
CHARGING_PROFILE_CAPABLE

The EVSE supports charging profiles.

CHARGING_PREFERENCES_CAPABLE

The EVSE supports charging preferences.

CHIP_CARD_SUPPORT

EVSE has a payment terminal that supports chip cards.

CONTACTLESS_CARD_SUPPORT

EVSE has a payment terminal that supports contactless cards.

CREDIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a credit card.

DEBIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a debit card.

PED_TERMINAL

EVSE has a payment terminal with a pin-code entry device.

REMOTE_START_STOP_CAPABLE

The EVSE can remotely be started/stopped.

RESERVABLE

The EVSE can be reserved.

RFID_READER

Charging at this EVSE can be authorized with an RFID token.

START_SESSION_CONNECTOR_REQUIRED

When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object.

TOKEN_GROUP_CAPABLE

This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

UNLOCK_CAPABLE

Connectors have mechanical lock that can be requested by the eMSP to be unlocked.

List of functionalities that the EVSE is capable of.

required
Array of objects (Connector) non-empty

List of available connectors on the EVSE.

floor_level
string <= 4 characters

Level on which the Charge Point is located (in garage buildings) in the locally displayed numbering scheme.

object (GeoLocation)

Coordinates of the EVSE.

physical_reference
string <= 16 characters

A number/string printed on the outside of the EVSE for visual identification.

Array of objects (DisplayText)

Multi-language human-readable directions when more detailed information on how to reach the EVSE from the Location is required.

parking_restrictions
Array of strings <open-enum> (ParkingRestriction) [ items <open-enum > ]
Items Enum Description
CUSTOMERS

Parking spot for customers or guests only, for example in case of a hotel or shop.

DISABLED

Reserved parking spot for disabled people with valid ID.

EMPLOYEES

Parking only for people who work at a site, building, or complex that the Location belongs to.

EV_ONLY

Reserved parking spot for electric vehicles.

MOTORCYCLES

Parking spot only suitable for (electric) motorcycles or scooters.

PLUGGED

Parking is only allowed while plugged in (charging).

TAXIS

Parking only for taxi vehicles.

TENANTS

Parking only for people who live in a complex that the Location belongs to.

All applicable restrictions on who can charge at the EVSE, apart from those related to the vehicle type.

Array of objects (EVSEParking)

List of parking place references for this EVSE. New in OCPI 2.3.0.

accepted_service_providers
Array of strings[ items <= 50 characters ]

List of service provider identifiers accepted at this EVSE. New in OCPI 2.3.0.

Array of objects (Image)

Links to images related to the EVSE such as photos or logos.

last_updated
required
string <date-time>

Timestamp when this EVSE or one of its Connectors was last updated (or created).

Responses

Request samples

Content type
application/json
{
  • "uid": "string",
  • "evse_id": "string",
  • "status": "AVAILABLE",
  • "status_schedule": [
    ],
  • "capabilities": [
    ],
  • "connectors": [
    ],
  • "floor_level": "stri",
  • "coordinates": {
    },
  • "physical_reference": "string",
  • "directions": [
    ],
  • "parking_restrictions": [
    ],
  • "parking": [
    ],
  • "accepted_service_providers": [
    ],
  • "images": [],
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

Partially update an EVSE

Notify the eMSP of partial updates to an EVSE (such as the status). Only the fields that have to be updated need to be present.

Any request to the PATCH method SHALL contain the last_updated field.

When the PATCH is on an EVSE Object, the Receiver SHALL also set the new last_updated value on the parent Location Object.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

The partial EVSE object containing only the fields to update. Must contain last_updated.

evse_id
string <= 48 characters
status
string <enum> (Status)
Enum Description
AVAILABLE

The EVSE/Connector is able to start a new charging session.

BLOCKED

The EVSE/Connector is not accessible because of a physical barrier, i.e. a car.

CHARGING

The EVSE/Connector is in use.

INOPERATIVE

The EVSE/Connector is not yet active, or temporarily not available for use, but not broken or defect.

OUTOFORDER

The EVSE/Connector is currently out of order, some part/components may be broken/defect.

PLANNED

The EVSE/Connector is planned, will be operating soon.

REMOVED

The EVSE/Connector was discontinued/removed.

RESERVED

The EVSE/Connector is reserved for a particular EV driver and is unavailable for other drivers.

UNKNOWN

No status information available (also used when offline).

The status of an EVSE.

Array of objects (StatusSchedule)
capabilities
Array of strings <open-enum> (Capability) [ items <open-enum > ]
Items Enum Description
CHARGING_PROFILE_CAPABLE

The EVSE supports charging profiles.

CHARGING_PREFERENCES_CAPABLE

The EVSE supports charging preferences.

CHIP_CARD_SUPPORT

EVSE has a payment terminal that supports chip cards.

CONTACTLESS_CARD_SUPPORT

EVSE has a payment terminal that supports contactless cards.

CREDIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a credit card.

DEBIT_CARD_PAYABLE

EVSE has a payment terminal that makes it possible to pay for charging using a debit card.

PED_TERMINAL

EVSE has a payment terminal with a pin-code entry device.

REMOTE_START_STOP_CAPABLE

The EVSE can remotely be started/stopped.

RESERVABLE

The EVSE can be reserved.

RFID_READER

Charging at this EVSE can be authorized with an RFID token.

START_SESSION_CONNECTOR_REQUIRED

When a StartSession is sent to this EVSE, the MSP is required to add the optional connector_id field in the StartSession object.

TOKEN_GROUP_CAPABLE

This EVSE supports token groups, two or more tokens work as one, so that a session can be started with one token and stopped with another (handy when a card and key-fob are given to the EV-driver).

UNLOCK_CAPABLE

Connectors have mechanical lock that can be requested by the eMSP to be unlocked.

Array of objects (Connector)
floor_level
string <= 4 characters
object (GeoLocation)

This class defines the geo location of the Charge Point. The geodetic system to be used is WGS 84. Five decimal places is seen as a minimum for GPS coordinates as this gives approximately 1 meter precision. More is always better. Seven decimal places gives approximately 1cm precision.

physical_reference
string <= 16 characters
Array of objects (DisplayText)
parking_restrictions
Array of strings <open-enum> (ParkingRestriction) [ items <open-enum > ]
Items Enum Description
CUSTOMERS

Parking spot for customers or guests only, for example in case of a hotel or shop.

DISABLED

Reserved parking spot for disabled people with valid ID.

EMPLOYEES

Parking only for people who work at a site, building, or complex that the Location belongs to.

EV_ONLY

Reserved parking spot for electric vehicles.

MOTORCYCLES

Parking spot only suitable for (electric) motorcycles or scooters.

PLUGGED

Parking is only allowed while plugged in (charging).

TAXIS

Parking only for taxi vehicles.

TENANTS

Parking only for people who live in a complex that the Location belongs to.

Array of objects (EVSEParking)
accepted_service_providers
Array of strings[ items <= 50 characters ]
Array of objects (Image)
last_updated
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "evse_id": "string",
  • "status": "AVAILABLE",
  • "status_schedule": [
    ],
  • "capabilities": [
    ],
  • "connectors": [
    ],
  • "floor_level": "stri",
  • "coordinates": {
    },
  • "physical_reference": "string",
  • "directions": [
    ],
  • "parking_restrictions": [
    ],
  • "parking": [
    ],
  • "accepted_service_providers": [
    ],
  • "images": [],
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

Get a Connector

Retrieve a Connector as it is stored in the receiver's system.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

connector_id
required
string <= 36 characters

Connector.id of the Connector object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Responses

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": {
    }
}

Create or replace a Connector

The CPO pushes a new or updated Connector object to the eMSP.

When the PUT only contains a Connector Object, the Receiver SHALL also set the new last_updated value on the parent EVSE and Location Objects.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

connector_id
required
string <= 36 characters

Connector.id of the Connector object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

New Connector object, or Connector object to replace.

id
required
string <= 36 characters

Identifier of the Connector within the EVSE. Two Connectors may have the same id as long as they do not belong to the same EVSE object.

standard
required
string <open-enum> (ConnectorType)
Enum Description
CHADEMO

The connector type is CHAdeMO, DC.

CHAOJI

The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC.

DOMESTIC_A

Standard/Domestic household, type "A", NEMA 1-15, 2 pins.

DOMESTIC_B

Standard/Domestic household, type "B", NEMA 5-15, 3 pins.

DOMESTIC_C

Standard/Domestic household, type "C", CEE 7/17, 2 pins.

DOMESTIC_D

Standard/Domestic household, type "D", 3 pin.

DOMESTIC_E

Standard/Domestic household, type "E", CEE 7/5 3 pins.

DOMESTIC_F

Standard/Domestic household, type "F", CEE 7/4, Schuko, 3 pins.

DOMESTIC_G

Standard/Domestic household, type "G", BS 1363, Commonwealth, 3 pins.

DOMESTIC_H

Standard/Domestic household, type "H", SI-32, 3 pins.

DOMESTIC_I

Standard/Domestic household, type "I", AS 3112, 3 pins.

DOMESTIC_J

Standard/Domestic household, type "J", SEV 1011, 3 pins.

DOMESTIC_K

Standard/Domestic household, type "K", DS 60884-2-D1, 3 pins.

DOMESTIC_L

Standard/Domestic household, type "L", CEI 23-16-VII, 3 pins.

DOMESTIC_M

Standard/Domestic household, type "M", BS 546, 3 pins.

DOMESTIC_N

Standard/Domestic household, type "N", NBR 14136, 3 pins.

DOMESTIC_O

Standard/Domestic household, type "O", TIS 166-2549, 3 pins.

GBT_AC

Guobiao GB/T 20234.2 AC socket/connector.

GBT_DC

Guobiao GB/T 20234.3 DC connector.

IEC_60309_2_single_16

IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue).

IEC_60309_2_three_16

IEC 60309-2 Industrial Connector three phases 16 amperes (usually red).

IEC_60309_2_three_32

IEC 60309-2 Industrial Connector three phases 32 amperes (usually red).

IEC_60309_2_three_64

IEC 60309-2 Industrial Connector three phases 64 amperes (usually red).

IEC_62196_T1

IEC 62196 Type 1 "SAE J1772".

IEC_62196_T1_COMBO

Combo Type 1 based, DC.

IEC_62196_T2

IEC 62196 Type 2 "Mennekes".

IEC_62196_T2_COMBO

Combo Type 2 based, DC.

IEC_62196_T3A

IEC 62196 Type 3A.

IEC_62196_T3C

IEC 62196 Type 3C "Scame".

MCS

The MegaWatt Charging System (MCS) connector as developed by CharIN.

NEMA_5_20

NEMA 5-20, 3 pins.

NEMA_6_30

NEMA 6-30, 3 pins.

NEMA_6_50

NEMA 6-50, 3 pins.

NEMA_10_30

NEMA 10-30, 3 pins.

NEMA_10_50

NEMA 10-50, 3 pins.

NEMA_14_30

NEMA 14-30, 3 pins, rating of 30 A.

NEMA_14_50

NEMA 14-50, 3 pins, rating of 50 A.

PANTOGRAPH_BOTTOM_UP

On-board Bottom-up-Pantograph typically for bus charging.

PANTOGRAPH_TOP_DOWN

Off-board Top-down-Pantograph typically for bus charging.

SAE_J3400

SAE J3400, also known as North American Charging Standard (NACS), developed by Tesla, Inc in 2021.

TESLA_R

Tesla Connector "Roadster"-type (round, 4 pin).

TESLA_S

Tesla Connector "Model-S"-type (oval, 5 pin). Mechanically compatible with SAE J3400 but uses CAN bus for communication instead of power line communication.

The standard of the installed connector.

format
required
string <enum> (ConnectorFormat)
Enum Description
SOCKET

The connector is a socket; the EV user needs to bring a fitting plug.

CABLE

The connector is an attached cable; the EV users car needs to have a fitting inlet.

The format (socket/cable) of the installed connector.

power_type
required
string <enum> (PowerType)
Enum Description
AC_1_PHASE

AC single phase.

AC_2_PHASE

AC two phases, only two of the three available phases connected.

AC_2_PHASE_SPLIT

AC two phases using split phase system.

AC_3_PHASE

AC three phases.

DC

Direct Current.

The type of power at the connector.

max_voltage
required
integer

Maximum voltage of the connector (line to neutral for AC_3_PHASE), in volt [V]. For example DC Chargers might vary the voltage during charging when battery almost full.

max_amperage
required
integer

Maximum amperage of the connector, in ampere [A].

max_electric_power
integer

Maximum electric power that can be delivered by this connector, in Watts (W). When the maximum electric power is lower than the calculated value from voltage and amperage, this value should be set.

tariff_ids
Array of strings[ items <= 36 characters ]

Identifiers of the currently valid charging tariffs. Multiple tariffs are possible, but only one of each Tariff.type can be active at the same time. Tariffs with the same type are only allowed if they are not active at the same time: start_date_time and end_date_time period not overlapping. For a "free of charge" tariff, this field should be set and point to a defined "free of charge" tariff.

terms_and_conditions
string <uri>

URL to the operator's terms and conditions.

capabilities
Array of strings <open-enum> (ConnectorCapability) [ items <open-enum > ]
Items Enum Description
ISO_15118_2_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-2.

ISO_15118_20_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-20.

A list of functionalities that the connector is capable of.

last_updated
required
string <date-time>

Timestamp when this Connector was last updated (or created).

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "standard": "CHADEMO",
  • "format": "SOCKET",
  • "power_type": "AC_1_PHASE",
  • "max_voltage": 0,
  • "max_amperage": 0,
  • "max_electric_power": 0,
  • "tariff_ids": [
    ],
  • "terms_and_conditions": "http://example.com",
  • "capabilities": [
    ],
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}

Partially update a Connector

Notify the eMSP of partial updates to a Connector (such as the tariff). Only the fields that have to be updated need to be present.

Any request to the PATCH method SHALL contain the last_updated field.

When the PATCH is on a Connector Object, the Receiver SHALL also set the new last_updated value on the parent EVSE and Location Objects.

Authorizations:
ocpiAuthorization
path Parameters
country_code
required
string = 2 characters

Country code of the CPO that 'owns' this object (ISO-3166 alpha-2).

party_id
required
string = 3 characters

Party ID (Provider ID) of the CPO that 'owns' this object (following the ISO-15118 standard).

location_id
required
string <= 36 characters

Location.id of the Location object to retrieve or update.

evse_uid
required
string <= 36 characters

EVSE.uid of the EVSE object to retrieve or update.

connector_id
required
string <= 36 characters

Connector.id of the Connector object to retrieve or update.

header Parameters
X-Request-ID
required
string

Every request SHALL contain a unique request ID, the response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values.

X-Correlation-ID
required
string

Every request/response SHALL contain a unique correlation ID, every response to this request SHALL contain the same ID. It is advised to use GUID/UUID as values. When a Hub forwards a request to a party, the request SHALL contain the same X-Correlation-ID HTTP header (with the same value).

OCPI-from-country-code
string = 2 characters

'country code' of the connected party this message is sent from.

OCPI-from-party-id
string = 3 characters

'party id' of the connected party this message is sent from.

OCPI-to-country-code
string = 2 characters

'country code' of the connected party this message is to be sent to.

OCPI-to-party-id
string = 3 characters

'party id' of the connected party this message is to be sent to.

Request Body schema: application/json
required

The partial Connector object containing only the fields to update. Must contain last_updated.

standard
string <open-enum> (ConnectorType)
Enum Description
CHADEMO

The connector type is CHAdeMO, DC.

CHAOJI

The ChaoJi connector. The new generation charging connector, harmonized between CHAdeMO and GB/T. DC.

DOMESTIC_A

Standard/Domestic household, type "A", NEMA 1-15, 2 pins.

DOMESTIC_B

Standard/Domestic household, type "B", NEMA 5-15, 3 pins.

DOMESTIC_C

Standard/Domestic household, type "C", CEE 7/17, 2 pins.

DOMESTIC_D

Standard/Domestic household, type "D", 3 pin.

DOMESTIC_E

Standard/Domestic household, type "E", CEE 7/5 3 pins.

DOMESTIC_F

Standard/Domestic household, type "F", CEE 7/4, Schuko, 3 pins.

DOMESTIC_G

Standard/Domestic household, type "G", BS 1363, Commonwealth, 3 pins.

DOMESTIC_H

Standard/Domestic household, type "H", SI-32, 3 pins.

DOMESTIC_I

Standard/Domestic household, type "I", AS 3112, 3 pins.

DOMESTIC_J

Standard/Domestic household, type "J", SEV 1011, 3 pins.

DOMESTIC_K

Standard/Domestic household, type "K", DS 60884-2-D1, 3 pins.

DOMESTIC_L

Standard/Domestic household, type "L", CEI 23-16-VII, 3 pins.

DOMESTIC_M

Standard/Domestic household, type "M", BS 546, 3 pins.

DOMESTIC_N

Standard/Domestic household, type "N", NBR 14136, 3 pins.

DOMESTIC_O

Standard/Domestic household, type "O", TIS 166-2549, 3 pins.

GBT_AC

Guobiao GB/T 20234.2 AC socket/connector.

GBT_DC

Guobiao GB/T 20234.3 DC connector.

IEC_60309_2_single_16

IEC 60309-2 Industrial Connector single phase 16 amperes (usually blue).

IEC_60309_2_three_16

IEC 60309-2 Industrial Connector three phases 16 amperes (usually red).

IEC_60309_2_three_32

IEC 60309-2 Industrial Connector three phases 32 amperes (usually red).

IEC_60309_2_three_64

IEC 60309-2 Industrial Connector three phases 64 amperes (usually red).

IEC_62196_T1

IEC 62196 Type 1 "SAE J1772".

IEC_62196_T1_COMBO

Combo Type 1 based, DC.

IEC_62196_T2

IEC 62196 Type 2 "Mennekes".

IEC_62196_T2_COMBO

Combo Type 2 based, DC.

IEC_62196_T3A

IEC 62196 Type 3A.

IEC_62196_T3C

IEC 62196 Type 3C "Scame".

MCS

The MegaWatt Charging System (MCS) connector as developed by CharIN.

NEMA_5_20

NEMA 5-20, 3 pins.

NEMA_6_30

NEMA 6-30, 3 pins.

NEMA_6_50

NEMA 6-50, 3 pins.

NEMA_10_30

NEMA 10-30, 3 pins.

NEMA_10_50

NEMA 10-50, 3 pins.

NEMA_14_30

NEMA 14-30, 3 pins, rating of 30 A.

NEMA_14_50

NEMA 14-50, 3 pins, rating of 50 A.

PANTOGRAPH_BOTTOM_UP

On-board Bottom-up-Pantograph typically for bus charging.

PANTOGRAPH_TOP_DOWN

Off-board Top-down-Pantograph typically for bus charging.

SAE_J3400

SAE J3400, also known as North American Charging Standard (NACS), developed by Tesla, Inc in 2021.

TESLA_R

Tesla Connector "Roadster"-type (round, 4 pin).

TESLA_S

Tesla Connector "Model-S"-type (oval, 5 pin). Mechanically compatible with SAE J3400 but uses CAN bus for communication instead of power line communication.

The socket or plug standard of the charging point.

format
string <enum> (ConnectorFormat)
Enum Description
SOCKET

The connector is a socket; the EV user needs to bring a fitting plug.

CABLE

The connector is an attached cable; the EV users car needs to have a fitting inlet.

The format of the connector, whether it is a socket or a plug.

power_type
string <enum> (PowerType)
Enum Description
AC_1_PHASE

AC single phase.

AC_2_PHASE

AC two phases, only two of the three available phases connected.

AC_2_PHASE_SPLIT

AC two phases using split phase system.

AC_3_PHASE

AC three phases.

DC

Direct Current.

The type of power at the connector.

max_voltage
integer
max_amperage
integer
max_electric_power
integer
tariff_ids
Array of strings[ items <= 36 characters ]
terms_and_conditions
string <uri>
capabilities
Array of strings <open-enum> (ConnectorCapability) [ items <open-enum > ]
Items Enum Description
ISO_15118_2_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-2.

ISO_15118_20_PLUG_AND_CHARGE

The Connector supports authentication of the Driver using a contract certificate stored in the vehicle according to ISO 15118-20.

last_updated
required
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "standard": "CHADEMO",
  • "format": "SOCKET",
  • "power_type": "AC_1_PHASE",
  • "max_voltage": 0,
  • "max_amperage": 0,
  • "max_electric_power": 0,
  • "tariff_ids": [
    ],
  • "terms_and_conditions": "http://example.com",
  • "capabilities": [
    ],
  • "last_updated": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "status_code": 1000,
  • "status_message": "string",
  • "timestamp": "2019-08-24T14:15:22Z",
  • "data": null
}