v2.1.1¶
Version enspoints¶
- GET versions¶
Get OCPI Versions.
Retrieves a list of available OCPI versions.
- Returns:
The OCPIResponse containing a list of available OCPI versions.
- GET 2.1.1/details¶
Get Version Details.
Retrieves details of the OCPI version 2.1.1.
- Returns:
The OCPIResponse containing details of the OCPI version 2.1.1.
API’s for CPO role¶
Credentials module¶
- GET cpo/2.1.1/credentials/¶
Get credentials.
Retrieves credentials based on the specified parameters.
- Returns:
The OCPIResponse containing the credentials.
- POST cpo/2.1.1/credentials/¶
Create credentials.
Creates credentials based on the specified parameters.
- Request body:
credentials (Credentials): The credentials object.
- Returns:
The OCPIResponse containing the new credentials.
- Raises:
- HTTPException: If the client is already registered
(HTTP 405 Method Not Allowed) or if the token is not valid (HTTP 401 Unauthorized).
- PUT cpo/2.1.1/credentials/¶
Update credentials.
Updates credentials based on the specified parameters.
- Request body:
credentials (Credentials): The credentials object.
- Returns:
The OCPIResponse containing the updated credentials.
- Raises:
- HTTPException: If the client is not registered
(HTTP 405 Method Not Allowed).
- DELETE cpo/2.1.1/credentials/¶
Remove credentials.
Deletes credentials based on the specified parameters.
- Returns:
The OCPIResponse indicating the successful removal of credentials.
- Raises:
- HTTPException: If the client is not registered
(HTTP 405 Method Not Allowed).
Locations module¶
- GET cpo/2.1.1/locations/¶
Get locations.
Retrieves a list of locations based on the specified filters.
- Query parameters:
limit (int): Maximum number of objects to GET (default=50).
offset (int): The offset of the first object returned (default=0).
- date_from (datetime): Only return Locations that have
last_updated after this Date/Time (default=None).
- date_to (datetime): Only return Locations that have
last_updated before this Date/Time (default=None).
- Returns:
The OCPIResponse containing the list of locations.
- GET cpo/2.1.1/locations/{location_id}¶
Get location by ID.
Retrieves location details based on the specified ID.
- Path parameters:
location_id (str): The ID of the location to retrieve (39 characters).
- Returns:
The OCPIResponse containing the location details.
- Raises:
NotFoundOCPIError: If the location with the specified ID is not found.
- GET cpo/2.1.1/locations/{location_id}/{evse_uid}¶
Get EVSE by ID.
- Retrieves Electric Vehicle Supply Equipment (EVSE) details
based on the specified Location ID and EVSE UID.
- Path parameters:
- location_id (str): The ID of the location containing
the EVSE (39 characters).
evse_uid (str): The UID of the EVSE to retrieve (39 characters).
- Returns:
The OCPIResponse containing the EVSE details.
- Raises:
- NotFoundOCPIError: If the location with the specified ID
or EVSE with the specified UID is not found.
- GET cpo/2.1.1/locations/{location_id}/{evse_uid}/{connector_id}¶
Get Connector by ID.
- Retrieves Connector details based on the specified Location ID,
EVSE UID, and Connector ID.
- Path parameters:
- location_id (str): The ID of the location containing
the EVSE (39 characters).
evse_uid (str): The UID of the EVSE to retrieve (39 characters).
- connector_id (str): The ID of the connector
to retrieve (36 characters).
- Returns:
The OCPIResponse containing the Connector details.
- Raises:
- NotFoundOCPIError: If the location with the specified ID, EVSE with the
specified UID, or Connector with the specified ID is not found.
CDRs module¶
- GET cpo/2.1.1/cdrs/¶
Get CDRs.
- Retrieves a list of Charge Detail Records (CDRs) based on the specified
filters.
- Query parameters:
limit (int): Maximum number of objects to GET (default=50).
offset (int): The offset of the first object returned (default=0).
- date_from (datetime): Only return CDRs that have last_updated
after this Date/Time (default=None).
- date_to (datetime): Only return CDRs that have last_updated
before this Date/Time (default=None).
- Returns:
The OCPIResponse containing the list of CDRs.
Sessions module¶
- GET cpo/2.1.1/sessions/¶
Get sessions.
Retrieves a list of sessions based on the specified filters.
- Query parameters:
limit (int): Maximum number of objects to GET (default=50).
offset (int): The offset of the first object returned (default=0).
- date_from (datetime): Only return Sessions that have last_updated
after this Date/Time (default=None).
- date_to (datetime): Only return Sessions that have last_updated
before this Date/Time (default=None).
- Returns:
The OCPIResponse containing the list of CDRs.
Tokens module¶
- GET cpo/2.1.1/tokens/{country_code}/{party_id}/{token_uid}¶
Get Token.
Retrieves a token based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
token_uid (str): The ID of the token (36 characters).
- Returns:
The OCPIResponse containing the token data.
- Raises:
NotFoundOCPIError: If the token is not found.
- PUT cpo/2.1.1/tokens/{country_code}/{party_id}/{token_uid}¶
Add or Update Token.
Adds or updates a token based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
token_uid (str): The ID of the token (36 characters).
- Request body:
token (Token): The token object.
- Returns:
The OCPIResponse containing the token data.
- PATCH cpo/2.1.1/tokens/{country_code}/{party_id}/{token_uid}¶
Partial Update Token.
Partially updates a token based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
token_uid (str): The ID of the token (36 characters).
- Request body:
token (TokenPartialUpdate): The partial token update object.
- Returns:
The OCPIResponse containing the partially updated token data.
- Raises:
NotFoundOCPIError: If the token is not found.
Tariffs module¶
- GET cpo/2.1.1/tariffs/¶
Get Tariffs.
Retrieves a list of tariffs based on the specified filters.
- Query parameters:
limit (int): Maximum number of objects to GET (default=50).
offset (int): The offset of the first object returned (default=0).
- date_from (datetime): Only return tariffs that have last_updated
after this Date/Time (default=None).
- date_to (datetime): Only return tariffs that have last_updated
before this Date/Time (default=None).
- Returns:
The OCPIResponse containing the list of tariffs.
Commands module¶
- POST cpo/2.1.1/commands/{command}¶
Receive Command.
Processes and handles incoming commands.
- Path parameters:
command (CommandType): The type of the command.
- Request body:
data (dict): The data associated with the command.
- Returns:
The OCPIResponse indicating the success or failure of the command.
- Raises:
- HTTPException: If there is a validation error or
if the command action returns without a result.
NotFoundOCPIError: If the associated location is not found.
API’s for eMSP role¶
Credentials module¶
- GET emsp/2.1.1/credentials/¶
Get credentials.
Retrieves credentials based on the specified parameters.
- Returns:
The OCPIResponse containing the credentials.
- POST emsp/2.1.1/credentials/¶
Create credentials.
Creates credentials based on the specified parameters.
- Request body:
credentials (Credentials): The credentials object.
- Returns:
The OCPIResponse containing the new credentials.
- Raises:
- HTTPException: If the client is already registered
(HTTP 405 Method Not Allowed) or if the token is not valid (HTTP 401 Unauthorized).
- PUT emsp/2.1.1/credentials/¶
Update credentials.
Updates credentials based on the specified parameters.
- Request body:
credentials (Credentials): The credentials object.
- Returns:
The OCPIResponse containing the updated credentials.
- Raises:
- HTTPException: If the client is not registered
(HTTP 405 Method Not Allowed).
- DELETE emsp/2.1.1/credentials/¶
Remove credentials.
Deletes credentials based on the specified parameters.
- Returns:
The OCPIResponse indicating the successful removal of credentials.
- Raises:
- HTTPException: If the client is not registered
(HTTP 405 Method Not Allowed).
Locations module¶
- GET emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}¶
Get Location.
Retrieves a location based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str: The three-letter party ID.
location_id (str): The ID of the location to retrieve (39 characters).
- Returns:
The OCPIResponse containing the location data.
- Raises:
NotFoundOCPIError: NotFoundOCPIError: If the location is not found.
- GET emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}¶
Get EVSE.
Retrieves an EVSE based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location containing
the EVSE (39 characters).
evse_uid (str): The UID of the EVSE to retrieve (39 characters).
- Returns:
The OCPIResponse containing the EVSE data.
- Raises:
- NotFoundOCPIError: If the location with the specified ID
or EVSE with the specified UID is not found.
- GET emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}/{connector_id}¶
Get Connector.
Retrieves a connector based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location containing
the EVSE (39 characters).
- evse_uid (str): The UID of the EVSE containing
the connector (39 characters).
- connector_id (str): The ID of the connector
to retrieve (36 characters).
- Returns:
The OCPIResponse containing the connector data.
- Raises:
- NotFoundOCPIError: If the location with the specified ID, EVSE with the
specified UID, or Connector with the specified ID is not found.
- PUT emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}¶
Add or Update Location.
Adds or updates a location based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location to add
or update (39 characters).
- Request body:
location (Location): The location object.
- Returns:
The OCPIResponse containing the added or updated location data.
- Raises:
NotFoundOCPIError: If the location is not found.
- PUT emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}¶
Add or Update EVSE.
Adds or updates an EVSE based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
location_id (str): The ID of the location (39 characters).
evse_uid (str): The ID of the EVSE to add or update (39 characters).
- Request body:
evse (EVSE): The EVSE object.
- Returns:
The OCPIResponse containing the added or updated EVSE data.
- Raises:
NotFoundOCPIError: If the location with the specified ID is not found.
- PUT emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}/{connector_id}¶
Add or Update Connector.
Adds or updates a connector based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
location_id (str): The ID of the location (39 characters).
evse_uid (str): The ID of the EVSE (39 characters).
- connector_id (str): The ID of the connector to add
or update (36 characters).
- Request body:
connector (Connector): The connector object.
- Returns:
The OCPIResponse containing the added or updated connector data.
- Raises:
- NotFoundOCPIError: If the location with the specified ID or EVSE
with the specified UID is not found.
- PATCH emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}¶
Partial Update Location.
Partially updates a location based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location
to partially update (39 characters).
- Request body:
location (LocationPartialUpdate): The partial location update object.
- Returns:
The OCPIResponse containing the partially updated location data.
- Raises:
NotFoundOCPIError: If the location is not found.
- PATCH emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}¶
Partial Update EVSE.
Partially updates an EVSE based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location
to partially update (36 characters).
- evse_uid (str): The UID of the EVSE
to partially update (39 characters).
- Request body:
evse (EVSEPartialUpdate): The partial EVSE update object.
- Returns:
The OCPIResponse containing the partially updated EVSE data.
- Raises:
- NotFoundOCPIError: If the location with the specified ID
or EVSE with the specified UID is not found.
- PATCH emsp/2.1.1/locations/{country_code}/{party_id}/{location_id}/{evse_uid}/{connector_id}¶
Partial Update Connector.
Partially updates a connector based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
- location_id (str): The ID of the location
to partially update (36 characters).
- evse_uid (str): The UID of the EVSE
to partially update (39 characters).
- connector_id (str): The ID of the connector
to partially update (36 characters).
- Request body:
connector (ConnectorPartialUpdate): The partial connector update object.
- Returns:
The OCPIResponse containing the partially updated connector data.
- Raises:
- NotFoundOCPIError:If the location with the specified ID, EVSE with
the specified UID, or Connector with the specified ID is not found.
CDRs module¶
- GET emsp/2.1.1/cdrs/{cdr_id}¶
Get CDR by ID.
Retrieves a Charge Detail Record (CDR) based on the specified ID.
- Path parameters:
cdr_id (str): The ID of the CDR to retrieve (36 characters).
- Returns:
The OCPIResponse containing the CDR data.
- Raises:
NotFoundOCPIError: If the CDR is not found.
- POST emsp/2.1.1/cdrs/¶
Add CDR.
Creates a new Charge Detail Record (CDR) based on the specified parameters.
- Request body:
cdr (Cdr): The CDR object.
- Returns:
The OCPIResponse containing the created CDR data.
Sessions module¶
- GET emsp/2.1.1/sessions/{country_code}/{party_id}/{session_id}¶
Get Session.
Retrieves a session based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
session_id (str): The ID of the session (36 characters).
- Returns:
The OCPIResponse containing the session data.
- Raises:
NotFoundOCPIError: If the session is not found.
- PUT emsp/2.1.1/sessions/{country_code}/{party_id}/{session_id}¶
Add or Update Session.
Adds or updates a session based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
session_id (str): The ID of the session (36 characters).
- Request body:
session (Session): The session object.
- Returns:
The OCPIResponse containing the added or updated session data.
- PATCH emsp/2.1.1/sessions/{country_code}/{party_id}/{session_id}¶
Partial Update Session.
Partially updates a session based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
session_id (str): The ID of the session (36 characters).
- Request body:
session (SessionPartialUpdate): The partial session update object.
- Returns:
The OCPIResponse containing the partially updated session data.
- Raises:
NotFoundOCPIError: If the session is not found.
Tokens module¶
- GET emsp/2.1.1/tokens/¶
Get Tokens.
Retrieves a list of tokens based on the specified filters.
- Query parameters:
limit (int): Maximum number of objects to GET (default=50).
offset (int): The offset of the first object returned (default=0).
- date_from (datetime): Only return tokens that have last_updated
after this Date/Time (default=None).
- date_to (datetime): Only return tokens that have last_updated
before this Date/Time (default=None).
- Returns:
The OCPIResponse containing the list of tokens.
- POST emsp/2.1.1/tokens/{token_uid}/authorize¶
Authorize Token.
Authorizes a token based on the specified parameters.
- Path parameters:
token_uid (str): The ID of the token to authorize (36 characters).
- Query parameters:
token_type (TokenType): The type of the token (default=TokenType.rfid).
- Request body:
- location_reference (LocationReference): The location reference
for authorization (default=None).
- Returns:
The OCPIResponse containing the authorization result.
- Raises:
NotFoundOCPIError: If the token is not found.
Tariffs module¶
- GET emsp/2.1.1/tariffs/{country_code}/{party_id}/{tariff_id}¶
Get Tariff.
Retrieves a tariff based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
tariff_id (str): The ID of the tariff (36 characters).
- Returns:
The OCPIResponse containing the tariff data.
- Raises:
NotFoundOCPIError: If the tariff is not found.
- PUT emsp/2.1.1/tariffs/{country_code}/{party_id}/{tariff_id}¶
Add or Update Tariff.
Adds or updates a tariff based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
tariff_id (str): The ID of the tariff (36 characters).
- Request body:
tariff (Tariff): The tariff object.
- Returns:
The OCPIResponse containing the tariff data.
- PATCH emsp/2.1.1/tariffs/{country_code}/{party_id}/{tariff_id}¶
Partial Update Tariff.
Partially updates a tariff based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
tariff_id (str): The ID of the tariff (36 characters).
- Request body:
tariff (TariffPartialUpdate): The partial tariff update object.
- Returns:
The OCPIResponse containing the partially updated tariff data.
- Raises:
NotFoundOCPIError: If the tariff is not found.
- DELETE emsp/2.1.1/tariffs/{country_code}/{party_id}/{tariff_id}¶
Delete Tariff.
Deletes a tariff based on the specified parameters.
- Path parameters:
country_code (str): The two-letter country code.
party_id (str): The three-letter party ID.
tariff_id (str): The ID of the tariff to delete (36 characters).
- Returns:
The OCPIResponse indicating the success of the operation.
- Raises:
NotFoundOCPIError: If the tariff is not found.
Commands module¶
- POST emsp/2.1.1/commands/{uid}¶
Receive Command Result.
Processes and handles incoming command results.
- Path parameters:
uid (str): The unique identifier associated with the command.
- Request body:
- command_response (CommandResponse): The response data associated
with the command.
- Returns:
- The OCPIResponse indicating the success or failure of processing
the command result.
Schemas¶
Credentials module¶
- pydantic model py_ocpi.modules.credentials.v_2_1_1.schemas.Credentials¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/credentials.md#21-credentials-object
Show JSON schema
{ "title": "Credentials", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/credentials.md#21-credentials-object", "type": "object", "properties": { "token": { "title": "Token", "examples": [ "String" ], "type": "string" }, "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "business_details": { "$ref": "#/definitions/BusinessDetails" }, "party_id": { "title": "Party Id", "examples": [ "String" ], "type": "string" }, "country_code": { "title": "Country Code", "examples": [ "String" ], "type": "string" } }, "required": [ "token", "url", "business_details", "party_id", "country_code" ], "definitions": { "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] }, "BusinessDetails": { "title": "BusinessDetails", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class", "type": "object", "properties": { "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "website": { "title": "Website", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "logo": { "$ref": "#/definitions/Image" } }, "required": [ "name" ] } } }
- Fields:
- field business_details: BusinessDetails [Required]¶
- field country_code: String [Required]¶
- Constraints:
examples = [‘String’]
- field party_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field token: String [Required]¶
- Constraints:
examples = [‘String’]
- field url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
Locations module¶
- pydantic model py_ocpi.modules.locations.v_2_1_1.schemas.BusinessDetails¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class
Show JSON schema
{ "title": "BusinessDetails", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class", "type": "object", "properties": { "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "website": { "title": "Website", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "logo": { "$ref": "#/definitions/Image" } }, "required": [ "name" ], "definitions": { "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] } } }
- Fields:
- field name: String [Required]¶
- Constraints:
examples = [‘String’]
- field website: Optional[URL] = None¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- pydantic model py_ocpi.modules.locations.v_2_1_1.schemas.Connector¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object
Show JSON schema
{ "title": "Connector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "standard": { "$ref": "#/definitions/ConnectorType" }, "format": { "$ref": "#/definitions/ConnectorFormat" }, "power_type": { "$ref": "#/definitions/PowerType" }, "voltage": { "title": "Voltage", "type": "integer" }, "amperage": { "title": "Amperage", "type": "integer" }, "tariff_id": { "title": "Tariff Id", "examples": [ "String" ], "type": "string" }, "terms_and_conditions": { "title": "Terms And Conditions", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "id", "standard", "format", "power_type", "voltage", "amperage", "tariff_id", "last_updated" ], "definitions": { "ConnectorType": { "title": "ConnectorType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum", "enum": [ "CHADEMO", "DOMESTIC_A", "DOMESTIC_B", "DOMESTIC_C", "DOMESTIC_D", "DOMESTIC_E", "DOMESTIC_F", "DOMESTIC_G", "DOMESTIC_H", "DOMESTIC_I", "DOMESTIC_J", "DOMESTIC_K", "DOMESTIC_L", "IEC_60309_2_single_16", "IEC_60309_2_three_16", "IEC_60309_2_three_32", "IEC_60309_2_three_64", "IEC_62196_T1", "IEC_62196_T1_COMBO", "IEC_62196_T2", "IEC_62196_T2_COMBO", "IEC_62196_T3A", "IEC_62196_T3C", "TESLA_R", "TESLA_S" ], "type": "string" }, "ConnectorFormat": { "title": "ConnectorFormat", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum", "enum": [ "SOCKET", "CABLE" ], "type": "string" }, "PowerType": { "title": "PowerType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum", "enum": [ "AC_1_PHASE", "AC_3_PHASE", "DC" ], "type": "string" } } }
- Fields:
- field amperage: int [Required]¶
- field format: ConnectorFormat [Required]¶
- field id: String [Required]¶
- Constraints:
examples = [‘String’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:47Z’]
- field standard: ConnectorType [Required]¶
- field tariff_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field terms_and_conditions: Optional[URL] = None¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- field voltage: int [Required]¶
- pydantic model py_ocpi.modules.locations.v_2_1_1.schemas.EVSE¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#32-evse-object
Show JSON schema
{ "title": "EVSE", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#32-evse-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "evse_id": { "title": "Evse Id", "examples": [ "String" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" }, "status_schedule": { "$ref": "#/definitions/StatusSchedule" }, "capabilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Capability" } }, "connectors": { "title": "Connectors", "type": "array", "items": { "$ref": "#/definitions/Connector" } }, "floor_level": { "title": "Floor Level", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "physical_reference": { "title": "Physical Reference", "examples": [ "String" ], "type": "string" }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "parking_restrictions": { "default": [], "type": "array", "items": { "$ref": "#/definitions/ParkingRestriction" } }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "uid", "status", "connectors", "last_updated" ], "definitions": { "Status": { "title": "Status", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum", "enum": [ "AVAILABLE", "BLOCKED", "CHARGING", "INOPERATIVE", "OUTOFORDER", "PLANNED", "REMOVED", "RESERVED", "UNKNOWN" ], "type": "string" }, "StatusSchedule": { "title": "StatusSchedule", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "period_begin", "status" ] }, "Capability": { "title": "Capability", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#42-capability-enum", "enum": [ "CHARGING_PROFILE_CAPABLE", "CREDIT_CARD_PAYABLE", "REMOTE_START_STOP_CAPABLE", "RESERVABLE", "RFID_READER", "UNLOCK_CAPABLE" ], "type": "string" }, "ConnectorType": { "title": "ConnectorType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum", "enum": [ "CHADEMO", "DOMESTIC_A", "DOMESTIC_B", "DOMESTIC_C", "DOMESTIC_D", "DOMESTIC_E", "DOMESTIC_F", "DOMESTIC_G", "DOMESTIC_H", "DOMESTIC_I", "DOMESTIC_J", "DOMESTIC_K", "DOMESTIC_L", "IEC_60309_2_single_16", "IEC_60309_2_three_16", "IEC_60309_2_three_32", "IEC_60309_2_three_64", "IEC_62196_T1", "IEC_62196_T1_COMBO", "IEC_62196_T2", "IEC_62196_T2_COMBO", "IEC_62196_T3A", "IEC_62196_T3C", "TESLA_R", "TESLA_S" ], "type": "string" }, "ConnectorFormat": { "title": "ConnectorFormat", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum", "enum": [ "SOCKET", "CABLE" ], "type": "string" }, "PowerType": { "title": "PowerType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum", "enum": [ "AC_1_PHASE", "AC_3_PHASE", "DC" ], "type": "string" }, "Connector": { "title": "Connector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "standard": { "$ref": "#/definitions/ConnectorType" }, "format": { "$ref": "#/definitions/ConnectorFormat" }, "power_type": { "$ref": "#/definitions/PowerType" }, "voltage": { "title": "Voltage", "type": "integer" }, "amperage": { "title": "Amperage", "type": "integer" }, "tariff_id": { "title": "Tariff Id", "examples": [ "String" ], "type": "string" }, "terms_and_conditions": { "title": "Terms And Conditions", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "id", "standard", "format", "power_type", "voltage", "amperage", "tariff_id", "last_updated" ] }, "GeoLocation": { "title": "GeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" } }, "required": [ "latitude", "longitude" ] }, "ParkingRestriction": { "title": "ParkingRestriction", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#417-parkingrestriction-enum", "enum": [ "EV_ONLY", "PLUGGED", "DISABLED", "CUSTOMERS", "MOTORCYCLES" ], "type": "string" }, "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] } } }
- Fields:
capabilities (List[py_ocpi.modules.locations.v_2_1_1.enums.Capability])
connectors (List[py_ocpi.modules.locations.v_2_1_1.schemas.Connector])
coordinates (Optional[py_ocpi.modules.locations.schemas.GeoLocation])
images (List[py_ocpi.modules.locations.v_2_1_1.schemas.Image])
parking_restrictions (List[py_ocpi.modules.locations.enums.ParkingRestriction])
physical_reference (Optional[py_ocpi.core.data_types.String])
status_schedule (Optional[py_ocpi.modules.locations.schemas.StatusSchedule])
- field capabilities: List[Capability] = []¶
- field coordinates: Optional[GeoLocation] = None¶
- field directions: List[DisplayText] = []¶
- field evse_id: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field floor_level: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:47Z’]
- field parking_restrictions: List[ParkingRestriction] = []¶
- field physical_reference: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field status_schedule: Optional[StatusSchedule] = None¶
- field uid: String [Required]¶
- Constraints:
examples = [‘String’]
- pydantic model py_ocpi.modules.locations.v_2_1_1.schemas.Image¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class
Show JSON schema
{ "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ], "definitions": { "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" } } }
- Fields:
- field category: ImageCategory [Required]¶
- field height: Optional[int] = None¶
- field thumbnail: Optional[URL] = None¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- field type: String [Required]¶
- Constraints:
examples = [‘String’]
- field url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- field width: Optional[int] = None¶
- pydantic model py_ocpi.modules.locations.v_2_1_1.schemas.Location¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#31-location-object
Show JSON schema
{ "title": "Location", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#31-location-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/LocationType" }, "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "address": { "title": "Address", "examples": [ "String" ], "type": "string" }, "city": { "title": "City", "examples": [ "String" ], "type": "string" }, "postal_code": { "title": "Postal Code", "examples": [ "String" ], "type": "string" }, "country": { "title": "Country", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "related_locations": { "title": "Related Locations", "default": [], "type": "array", "items": { "$ref": "#/definitions/AdditionalGeoLocation" } }, "evses": { "title": "Evses", "default": [], "type": "array", "items": { "$ref": "#/definitions/EVSE" } }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "operator": { "$ref": "#/definitions/BusinessDetails" }, "suboperator": { "$ref": "#/definitions/BusinessDetails" }, "owner": { "$ref": "#/definitions/BusinessDetails" }, "facilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Facility" } }, "time_zone": { "title": "Time Zone", "examples": [ "String" ], "type": "string" }, "opening_times": { "$ref": "#/definitions/Hours" }, "charging_when_closed": { "title": "Charging When Closed", "type": "boolean" }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "energy_mix": { "$ref": "#/definitions/EnergyMix" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "id", "type", "address", "city", "country", "coordinates", "time_zone", "last_updated" ], "definitions": { "LocationType": { "title": "LocationType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#416-locationtype-enum", "enum": [ "ON_STREET", "PARKING_GARAGE", "UNDERGROUND_GARAGE", "PARKING_LOT", "OTHER", "UNKNOWN" ], "type": "string" }, "GeoLocation": { "title": "GeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" } }, "required": [ "latitude", "longitude" ] }, "AdditionalGeoLocation": { "title": "AdditionalGeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_additionalgeolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" }, "name": { "title": "Name", "examples": [ { "language": "en", "text": "Standard Tariff" } ], "type": "object" } }, "required": [ "latitude", "longitude" ] }, "Status": { "title": "Status", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum", "enum": [ "AVAILABLE", "BLOCKED", "CHARGING", "INOPERATIVE", "OUTOFORDER", "PLANNED", "REMOVED", "RESERVED", "UNKNOWN" ], "type": "string" }, "StatusSchedule": { "title": "StatusSchedule", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "period_begin", "status" ] }, "Capability": { "title": "Capability", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#42-capability-enum", "enum": [ "CHARGING_PROFILE_CAPABLE", "CREDIT_CARD_PAYABLE", "REMOTE_START_STOP_CAPABLE", "RESERVABLE", "RFID_READER", "UNLOCK_CAPABLE" ], "type": "string" }, "ConnectorType": { "title": "ConnectorType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum", "enum": [ "CHADEMO", "DOMESTIC_A", "DOMESTIC_B", "DOMESTIC_C", "DOMESTIC_D", "DOMESTIC_E", "DOMESTIC_F", "DOMESTIC_G", "DOMESTIC_H", "DOMESTIC_I", "DOMESTIC_J", "DOMESTIC_K", "DOMESTIC_L", "IEC_60309_2_single_16", "IEC_60309_2_three_16", "IEC_60309_2_three_32", "IEC_60309_2_three_64", "IEC_62196_T1", "IEC_62196_T1_COMBO", "IEC_62196_T2", "IEC_62196_T2_COMBO", "IEC_62196_T3A", "IEC_62196_T3C", "TESLA_R", "TESLA_S" ], "type": "string" }, "ConnectorFormat": { "title": "ConnectorFormat", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum", "enum": [ "SOCKET", "CABLE" ], "type": "string" }, "PowerType": { "title": "PowerType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum", "enum": [ "AC_1_PHASE", "AC_3_PHASE", "DC" ], "type": "string" }, "Connector": { "title": "Connector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "standard": { "$ref": "#/definitions/ConnectorType" }, "format": { "$ref": "#/definitions/ConnectorFormat" }, "power_type": { "$ref": "#/definitions/PowerType" }, "voltage": { "title": "Voltage", "type": "integer" }, "amperage": { "title": "Amperage", "type": "integer" }, "tariff_id": { "title": "Tariff Id", "examples": [ "String" ], "type": "string" }, "terms_and_conditions": { "title": "Terms And Conditions", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "id", "standard", "format", "power_type", "voltage", "amperage", "tariff_id", "last_updated" ] }, "ParkingRestriction": { "title": "ParkingRestriction", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#417-parkingrestriction-enum", "enum": [ "EV_ONLY", "PLUGGED", "DISABLED", "CUSTOMERS", "MOTORCYCLES" ], "type": "string" }, "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] }, "EVSE": { "title": "EVSE", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#32-evse-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "evse_id": { "title": "Evse Id", "examples": [ "String" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" }, "status_schedule": { "$ref": "#/definitions/StatusSchedule" }, "capabilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Capability" } }, "connectors": { "title": "Connectors", "type": "array", "items": { "$ref": "#/definitions/Connector" } }, "floor_level": { "title": "Floor Level", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "physical_reference": { "title": "Physical Reference", "examples": [ "String" ], "type": "string" }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "parking_restrictions": { "default": [], "type": "array", "items": { "$ref": "#/definitions/ParkingRestriction" } }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "uid", "status", "connectors", "last_updated" ] }, "BusinessDetails": { "title": "BusinessDetails", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class", "type": "object", "properties": { "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "website": { "title": "Website", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "logo": { "$ref": "#/definitions/Image" } }, "required": [ "name" ] }, "Facility": { "title": "Facility", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#411-facility-enum", "enum": [ "HOTEL", "RESTAURANT", "CAFE", "MALL", "SUPERMARKET", "SPORT", "RECREATION_AREA", "NATURE", "MUSEUM", "BUS_STOP", "TAXI_STAND", "TRAIN_STATION", "AIRPORT", "CARPOOL_PARKING", "FUEL_STATION", "WIFI" ], "type": "string" }, "RegularHours": { "title": "RegularHours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class", "type": "object", "properties": { "weekday": { "title": "Weekday", "type": "integer" }, "period_begin": { "title": "Period Begin", "examples": [ "String" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "String" ], "type": "string" } }, "required": [ "weekday", "period_begin", "period_end" ] }, "ExceptionalPeriod": { "title": "ExceptionalPeriod", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:47Z" ], "type": "string" } }, "required": [ "period_begin", "period_end" ] }, "Hours": { "title": "Hours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_hours_class", "type": "object", "properties": { "twentyfourseven": { "title": "Twentyfourseven", "type": "boolean" }, "regular_hours": { "title": "Regular Hours", "default": [], "type": "array", "items": { "$ref": "#/definitions/RegularHours" } }, "exceptional_openings": { "title": "Exceptional Openings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } }, "exceptional_closings": { "title": "Exceptional Closings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } } }, "required": [ "twentyfourseven" ] }, "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" }, "EnergySource": { "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ] }, "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" }, "EnvironmentalImpact": { "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ] }, "EnergyMix": { "title": "EnergyMix", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class", "type": "object", "properties": { "is_green_energy": { "title": "Is Green Energy", "type": "boolean" }, "energy_sources": { "title": "Energy Sources", "type": "array", "items": { "$ref": "#/definitions/EnergySource" } }, "environ_impact": { "$ref": "#/definitions/EnvironmentalImpact" }, "supplier_name": { "title": "Supplier Name", "examples": [ "String" ], "type": "string" }, "energy_product_name": { "title": "Energy Product Name", "examples": [ "String" ], "type": "string" } }, "required": [ "is_green_energy", "energy_sources", "supplier_name", "energy_product_name" ] } } }
- Fields:
energy_mix (Optional[py_ocpi.modules.locations.schemas.EnergyMix])
evses (List[py_ocpi.modules.locations.v_2_1_1.schemas.EVSE])
facilities (List[py_ocpi.modules.locations.v_2_1_1.enums.Facility])
images (List[py_ocpi.modules.locations.v_2_1_1.schemas.Image])
opening_times (Optional[py_ocpi.modules.locations.schemas.Hours])
operator (Optional[py_ocpi.modules.locations.v_2_1_1.schemas.BusinessDetails])
owner (Optional[py_ocpi.modules.locations.v_2_1_1.schemas.BusinessDetails])
related_locations (List[py_ocpi.modules.locations.schemas.AdditionalGeoLocation])
suboperator (Optional[py_ocpi.modules.locations.v_2_1_1.schemas.BusinessDetails])
- field address: String [Required]¶
- Constraints:
examples = [‘String’]
- field charging_when_closed: Optional[bool] = None¶
- field city: String [Required]¶
- Constraints:
examples = [‘String’]
- field coordinates: GeoLocation [Required]¶
- field country: String [Required]¶
- Constraints:
examples = [‘String’]
- field directions: List[DisplayText] = []¶
- field id: String [Required]¶
- Constraints:
examples = [‘String’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field name: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field operator: Optional[BusinessDetails] = None¶
- field owner: Optional[BusinessDetails] = None¶
- field postal_code: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field suboperator: Optional[BusinessDetails] = None¶
- field time_zone: String [Required]¶
- Constraints:
examples = [‘String’]
- field type: LocationType [Required]¶
- pydantic model py_ocpi.modules.locations.schemas.AdditionalGeoLocation¶
Show JSON schema
{ "title": "AdditionalGeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_additionalgeolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" }, "name": { "title": "Name", "examples": [ { "language": "en", "text": "Standard Tariff" } ], "type": "object" } }, "required": [ "latitude", "longitude" ] }
- field name: Optional[DisplayText] = None¶
- Constraints:
examples = [{‘language’: ‘en’, ‘text’: ‘Standard Tariff’}]
- pydantic model py_ocpi.modules.locations.schemas.EnergyMix¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class
Show JSON schema
{ "title": "EnergyMix", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class", "type": "object", "properties": { "is_green_energy": { "title": "Is Green Energy", "type": "boolean" }, "energy_sources": { "title": "Energy Sources", "type": "array", "items": { "$ref": "#/definitions/EnergySource" } }, "environ_impact": { "$ref": "#/definitions/EnvironmentalImpact" }, "supplier_name": { "title": "Supplier Name", "examples": [ "String" ], "type": "string" }, "energy_product_name": { "title": "Energy Product Name", "examples": [ "String" ], "type": "string" } }, "required": [ "is_green_energy", "energy_sources", "supplier_name", "energy_product_name" ], "definitions": { "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" }, "EnergySource": { "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ] }, "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" }, "EnvironmentalImpact": { "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ] } } }
- Fields:
- field energy_product_name: String [Required]¶
- Constraints:
examples = [‘String’]
- field energy_sources: List[EnergySource] [Required]¶
- field environ_impact: Optional[EnvironmentalImpact] = None¶
- field is_green_energy: bool [Required]¶
- field supplier_name: String [Required]¶
- Constraints:
examples = [‘String’]
- pydantic model py_ocpi.modules.locations.schemas.EnergySource¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class
Show JSON schema
{ "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ], "definitions": { "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" } } }
- Fields:
- field percentage: Number [Required]¶
- Constraints:
examples = []
- field source: EnergySourceCategory [Required]¶
- pydantic model py_ocpi.modules.locations.schemas.EnvironmentalImpact¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class
Show JSON schema
{ "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ], "definitions": { "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" } } }
- Fields:
- field amount: Number [Required]¶
- Constraints:
examples = []
- field category: EnvironmentalImpactCategory [Required]¶
- pydantic model py_ocpi.modules.locations.schemas.ExceptionalPeriod¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class
Show JSON schema
{ "title": "ExceptionalPeriod", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "period_begin", "period_end" ] }
- Fields:
- field period_begin: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field period_end: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- pydantic model py_ocpi.modules.locations.schemas.GeoLocation¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class
Show JSON schema
{ "title": "GeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" } }, "required": [ "latitude", "longitude" ] }
- field latitude: String [Required]¶
- Constraints:
examples = [‘String’]
- field longitude: String [Required]¶
- Constraints:
examples = [‘String’]
- pydantic model py_ocpi.modules.locations.schemas.Hours¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_hours_class
Show JSON schema
{ "title": "Hours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_hours_class", "type": "object", "properties": { "twentyfourseven": { "title": "Twentyfourseven", "type": "boolean" }, "regular_hours": { "title": "Regular Hours", "default": [], "type": "array", "items": { "$ref": "#/definitions/RegularHours" } }, "exceptional_openings": { "title": "Exceptional Openings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } }, "exceptional_closings": { "title": "Exceptional Closings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } } }, "required": [ "twentyfourseven" ], "definitions": { "RegularHours": { "title": "RegularHours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class", "type": "object", "properties": { "weekday": { "title": "Weekday", "type": "integer" }, "period_begin": { "title": "Period Begin", "examples": [ "String" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "String" ], "type": "string" } }, "required": [ "weekday", "period_begin", "period_end" ] }, "ExceptionalPeriod": { "title": "ExceptionalPeriod", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "period_begin", "period_end" ] } } }
- Fields:
- field exceptional_closings: List[ExceptionalPeriod] = []¶
- field exceptional_openings: List[ExceptionalPeriod] = []¶
- field regular_hours: List[RegularHours] = []¶
- field twentyfourseven: bool [Required]¶
- pydantic model py_ocpi.modules.locations.schemas.RegularHours¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class
Show JSON schema
{ "title": "RegularHours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class", "type": "object", "properties": { "weekday": { "title": "Weekday", "type": "integer" }, "period_begin": { "title": "Period Begin", "examples": [ "String" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "String" ], "type": "string" } }, "required": [ "weekday", "period_begin", "period_end" ] }
- Fields:
- field period_begin: String [Required]¶
- Constraints:
examples = [‘String’]
- field period_end: String [Required]¶
- Constraints:
examples = [‘String’]
- field weekday: int [Required]¶
- pydantic model py_ocpi.modules.locations.schemas.StatusSchedule¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class
Show JSON schema
{ "title": "StatusSchedule", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "period_begin", "status" ], "definitions": { "Status": { "title": "Status", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum", "enum": [ "AVAILABLE", "BLOCKED", "CHARGING", "INOPERATIVE", "OUTOFORDER", "PLANNED", "REMOVED", "RESERVED", "UNKNOWN" ], "type": "string" } } }
- Fields:
- field period_begin: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field period_end: Optional[DateTime] = None¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
CDRs module¶
- pydantic model py_ocpi.modules.cdrs.v_2_1_1.schemas.Cdr¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#31-cdr-object
Show JSON schema
{ "title": "Cdr", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#31-cdr-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "string" ], "type": "string" }, "start_date_time": { "title": "Start Date Time", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "end_date_time": { "title": "End Date Time", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "auth_id": { "title": "Auth Id", "examples": [ "String" ], "type": "string" }, "auth_method": { "$ref": "#/definitions/AuthMethod" }, "location": { "$ref": "#/definitions/Location" }, "meter_id": { "title": "Meter Id", "examples": [ "String" ], "type": "string" }, "currency": { "title": "Currency", "examples": [ "String" ], "type": "string" }, "tariffs": { "title": "Tariffs", "default": [], "type": "array", "items": { "$ref": "#/definitions/Tariff" } }, "charging_periods": { "title": "Charging Periods", "type": "array", "items": { "$ref": "#/definitions/ChargingPeriod" } }, "total_cost": { "title": "Total Cost", "examples": [], "type": "number" }, "total_energy": { "title": "Total Energy", "examples": [], "type": "number" }, "total_time": { "title": "Total Time", "examples": [], "type": "number" }, "total_parking_time": { "title": "Total Parking Time", "examples": [], "type": "number" }, "remark": { "title": "Remark", "examples": [ "String" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "start_date_time", "end_date_time", "auth_id", "auth_method", "location", "currency", "charging_periods", "total_cost", "total_energy", "total_time", "last_updated" ], "definitions": { "AuthMethod": { "title": "AuthMethod", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#41-authmethod-enum", "enum": [ "AUTH_REQUEST", "WHITELIST" ], "type": "string" }, "LocationType": { "title": "LocationType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#416-locationtype-enum", "enum": [ "ON_STREET", "PARKING_GARAGE", "UNDERGROUND_GARAGE", "PARKING_LOT", "OTHER", "UNKNOWN" ], "type": "string" }, "GeoLocation": { "title": "GeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" } }, "required": [ "latitude", "longitude" ] }, "AdditionalGeoLocation": { "title": "AdditionalGeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_additionalgeolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" }, "name": { "title": "Name", "examples": [ { "language": "en", "text": "Standard Tariff" } ], "type": "object" } }, "required": [ "latitude", "longitude" ] }, "Status": { "title": "Status", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum", "enum": [ "AVAILABLE", "BLOCKED", "CHARGING", "INOPERATIVE", "OUTOFORDER", "PLANNED", "REMOVED", "RESERVED", "UNKNOWN" ], "type": "string" }, "StatusSchedule": { "title": "StatusSchedule", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "period_begin", "status" ] }, "Capability": { "title": "Capability", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#42-capability-enum", "enum": [ "CHARGING_PROFILE_CAPABLE", "CREDIT_CARD_PAYABLE", "REMOTE_START_STOP_CAPABLE", "RESERVABLE", "RFID_READER", "UNLOCK_CAPABLE" ], "type": "string" }, "ConnectorType": { "title": "ConnectorType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum", "enum": [ "CHADEMO", "DOMESTIC_A", "DOMESTIC_B", "DOMESTIC_C", "DOMESTIC_D", "DOMESTIC_E", "DOMESTIC_F", "DOMESTIC_G", "DOMESTIC_H", "DOMESTIC_I", "DOMESTIC_J", "DOMESTIC_K", "DOMESTIC_L", "IEC_60309_2_single_16", "IEC_60309_2_three_16", "IEC_60309_2_three_32", "IEC_60309_2_three_64", "IEC_62196_T1", "IEC_62196_T1_COMBO", "IEC_62196_T2", "IEC_62196_T2_COMBO", "IEC_62196_T3A", "IEC_62196_T3C", "TESLA_R", "TESLA_S" ], "type": "string" }, "ConnectorFormat": { "title": "ConnectorFormat", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum", "enum": [ "SOCKET", "CABLE" ], "type": "string" }, "PowerType": { "title": "PowerType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum", "enum": [ "AC_1_PHASE", "AC_3_PHASE", "DC" ], "type": "string" }, "Connector": { "title": "Connector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "standard": { "$ref": "#/definitions/ConnectorType" }, "format": { "$ref": "#/definitions/ConnectorFormat" }, "power_type": { "$ref": "#/definitions/PowerType" }, "voltage": { "title": "Voltage", "type": "integer" }, "amperage": { "title": "Amperage", "type": "integer" }, "tariff_id": { "title": "Tariff Id", "examples": [ "String" ], "type": "string" }, "terms_and_conditions": { "title": "Terms And Conditions", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "standard", "format", "power_type", "voltage", "amperage", "tariff_id", "last_updated" ] }, "ParkingRestriction": { "title": "ParkingRestriction", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#417-parkingrestriction-enum", "enum": [ "EV_ONLY", "PLUGGED", "DISABLED", "CUSTOMERS", "MOTORCYCLES" ], "type": "string" }, "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] }, "EVSE": { "title": "EVSE", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#32-evse-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "evse_id": { "title": "Evse Id", "examples": [ "String" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" }, "status_schedule": { "$ref": "#/definitions/StatusSchedule" }, "capabilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Capability" } }, "connectors": { "title": "Connectors", "type": "array", "items": { "$ref": "#/definitions/Connector" } }, "floor_level": { "title": "Floor Level", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "physical_reference": { "title": "Physical Reference", "examples": [ "String" ], "type": "string" }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "parking_restrictions": { "default": [], "type": "array", "items": { "$ref": "#/definitions/ParkingRestriction" } }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "uid", "status", "connectors", "last_updated" ] }, "BusinessDetails": { "title": "BusinessDetails", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class", "type": "object", "properties": { "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "website": { "title": "Website", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "logo": { "$ref": "#/definitions/Image" } }, "required": [ "name" ] }, "Facility": { "title": "Facility", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#411-facility-enum", "enum": [ "HOTEL", "RESTAURANT", "CAFE", "MALL", "SUPERMARKET", "SPORT", "RECREATION_AREA", "NATURE", "MUSEUM", "BUS_STOP", "TAXI_STAND", "TRAIN_STATION", "AIRPORT", "CARPOOL_PARKING", "FUEL_STATION", "WIFI" ], "type": "string" }, "RegularHours": { "title": "RegularHours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class", "type": "object", "properties": { "weekday": { "title": "Weekday", "type": "integer" }, "period_begin": { "title": "Period Begin", "examples": [ "String" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "String" ], "type": "string" } }, "required": [ "weekday", "period_begin", "period_end" ] }, "ExceptionalPeriod": { "title": "ExceptionalPeriod", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "period_begin", "period_end" ] }, "Hours": { "title": "Hours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_hours_class", "type": "object", "properties": { "twentyfourseven": { "title": "Twentyfourseven", "type": "boolean" }, "regular_hours": { "title": "Regular Hours", "default": [], "type": "array", "items": { "$ref": "#/definitions/RegularHours" } }, "exceptional_openings": { "title": "Exceptional Openings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } }, "exceptional_closings": { "title": "Exceptional Closings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } } }, "required": [ "twentyfourseven" ] }, "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" }, "EnergySource": { "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ] }, "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" }, "EnvironmentalImpact": { "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ] }, "EnergyMix": { "title": "EnergyMix", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class", "type": "object", "properties": { "is_green_energy": { "title": "Is Green Energy", "type": "boolean" }, "energy_sources": { "title": "Energy Sources", "type": "array", "items": { "$ref": "#/definitions/EnergySource" } }, "environ_impact": { "$ref": "#/definitions/EnvironmentalImpact" }, "supplier_name": { "title": "Supplier Name", "examples": [ "String" ], "type": "string" }, "energy_product_name": { "title": "Energy Product Name", "examples": [ "String" ], "type": "string" } }, "required": [ "is_green_energy", "energy_sources", "supplier_name", "energy_product_name" ] }, "Location": { "title": "Location", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#31-location-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/LocationType" }, "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "address": { "title": "Address", "examples": [ "String" ], "type": "string" }, "city": { "title": "City", "examples": [ "String" ], "type": "string" }, "postal_code": { "title": "Postal Code", "examples": [ "String" ], "type": "string" }, "country": { "title": "Country", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "related_locations": { "title": "Related Locations", "default": [], "type": "array", "items": { "$ref": "#/definitions/AdditionalGeoLocation" } }, "evses": { "title": "Evses", "default": [], "type": "array", "items": { "$ref": "#/definitions/EVSE" } }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "operator": { "$ref": "#/definitions/BusinessDetails" }, "suboperator": { "$ref": "#/definitions/BusinessDetails" }, "owner": { "$ref": "#/definitions/BusinessDetails" }, "facilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Facility" } }, "time_zone": { "title": "Time Zone", "examples": [ "String" ], "type": "string" }, "opening_times": { "$ref": "#/definitions/Hours" }, "charging_when_closed": { "title": "Charging When Closed", "type": "boolean" }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "energy_mix": { "$ref": "#/definitions/EnergyMix" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "type", "address", "city", "country", "coordinates", "time_zone", "last_updated" ] }, "TariffDimensionType": { "title": "TariffDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#44-tariffdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "PARKING_TIME", "TIME" ], "type": "string" }, "PriceComponent": { "title": "PriceComponent", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#42-pricecomponent-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/TariffDimensionType" }, "price": { "title": "Price", "examples": [], "type": "number" }, "step_size": { "title": "Step Size", "type": "integer" } }, "required": [ "type", "price", "step_size" ] }, "DayOfWeek": { "title": "DayOfWeek", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_tariffs.asciidoc#141-dayofweek-enum", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "type": "string" }, "TariffRestrictions": { "title": "TariffRestrictions", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#45-tariffrestrictions-class", "type": "object", "properties": { "start_time": { "title": "Start Time", "examples": [ "String" ], "type": "string" }, "end_time": { "title": "End Time", "examples": [ "String" ], "type": "string" }, "start_date": { "title": "Start Date", "examples": [ "String" ], "type": "string" }, "end_date": { "title": "End Date", "examples": [ "String" ], "type": "string" }, "min_kwh": { "title": "Min Kwh", "examples": [], "type": "number" }, "max_kwh": { "title": "Max Kwh", "examples": [], "type": "number" }, "min_power": { "title": "Min Power", "examples": [], "type": "number" }, "max_power": { "title": "Max Power", "examples": [], "type": "number" }, "min_duration": { "title": "Min Duration", "type": "integer" }, "max_duration": { "title": "Max Duration", "type": "integer" }, "day_of_week": { "default": [], "type": "array", "items": { "$ref": "#/definitions/DayOfWeek" } } } }, "TariffElement": { "title": "TariffElement", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#43-tariffelement-class", "type": "object", "properties": { "price_components": { "title": "Price Components", "type": "array", "items": { "$ref": "#/definitions/PriceComponent" } }, "restrictions": { "$ref": "#/definitions/TariffRestrictions" } }, "required": [ "price_components" ] }, "Tariff": { "title": "Tariff", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#31-tariff-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "currency": { "title": "Currency", "examples": [ "String" ], "type": "string" }, "tariff_alt_text": { "title": "Tariff Alt Text", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "tariff_alt_url": { "title": "Tariff Alt Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "elements": { "title": "Elements", "type": "array", "items": { "$ref": "#/definitions/TariffElement" } }, "energy_mix": { "$ref": "#/definitions/EnergyMix" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "currency", "elements", "last_updated" ] }, "CdrDimensionType": { "title": "CdrDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#43-cdrdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "MAX_CURRENT", "MIN_CURRENT", "PARKING_TIME", "TIME" ], "type": "string" }, "CdrDimension": { "title": "CdrDimension", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#42-cdrdimension-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/CdrDimensionType" }, "volume": { "title": "Volume", "examples": [], "type": "number" } }, "required": [ "type", "volume" ] }, "ChargingPeriod": { "title": "ChargingPeriod", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#44-chargingperiod-class", "type": "object", "properties": { "start_date_time": { "title": "Start Date Time", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "dimensions": { "title": "Dimensions", "type": "array", "items": { "$ref": "#/definitions/CdrDimension" } } }, "required": [ "start_date_time", "dimensions" ] } } }
- Fields:
- field auth_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field auth_method: AuthMethod [Required]¶
- field charging_periods: List[ChargingPeriod] [Required]¶
- field currency: String [Required]¶
- Constraints:
examples = [‘String’]
- field end_date_time: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field id: CiString [Required]¶
- Constraints:
examples = [‘string’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field meter_id: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field remark: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field start_date_time: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field total_cost: Number [Required]¶
- Constraints:
examples = []
- field total_energy: Number [Required]¶
- Constraints:
examples = []
- field total_parking_time: Optional[Number] = None¶
- Constraints:
examples = []
- field total_time: Number [Required]¶
- Constraints:
examples = []
- pydantic model py_ocpi.modules.cdrs.v_2_1_1.schemas.CdrDimension¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#42-cdrdimension-class
Show JSON schema
{ "title": "CdrDimension", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#42-cdrdimension-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/CdrDimensionType" }, "volume": { "title": "Volume", "examples": [], "type": "number" } }, "required": [ "type", "volume" ], "definitions": { "CdrDimensionType": { "title": "CdrDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#43-cdrdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "MAX_CURRENT", "MIN_CURRENT", "PARKING_TIME", "TIME" ], "type": "string" } } }
- Fields:
- field type: CdrDimensionType [Required]¶
- field volume: Number [Required]¶
- Constraints:
examples = []
- pydantic model py_ocpi.modules.cdrs.v_2_1_1.schemas.ChargingPeriod¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#44-chargingperiod-class
Show JSON schema
{ "title": "ChargingPeriod", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#44-chargingperiod-class", "type": "object", "properties": { "start_date_time": { "title": "Start Date Time", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "dimensions": { "title": "Dimensions", "type": "array", "items": { "$ref": "#/definitions/CdrDimension" } } }, "required": [ "start_date_time", "dimensions" ], "definitions": { "CdrDimensionType": { "title": "CdrDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#43-cdrdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "MAX_CURRENT", "MIN_CURRENT", "PARKING_TIME", "TIME" ], "type": "string" }, "CdrDimension": { "title": "CdrDimension", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#42-cdrdimension-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/CdrDimensionType" }, "volume": { "title": "Volume", "examples": [], "type": "number" } }, "required": [ "type", "volume" ] } } }
- Fields:
- field dimensions: List[CdrDimension] [Required]¶
- field start_date_time: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
Sessions module¶
- pydantic model py_ocpi.modules.sessions.v_2_1_1.schemas.Session¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_sessions.md#31-session-object
Show JSON schema
{ "title": "Session", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_sessions.md#31-session-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "start_datetime": { "title": "Start Datetime", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "end_datetime": { "title": "End Datetime", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "kwh": { "title": "Kwh", "examples": [], "type": "number" }, "auth_id": { "title": "Auth Id", "examples": [ "String" ], "type": "string" }, "auth_method": { "$ref": "#/definitions/AuthMethod" }, "location": { "$ref": "#/definitions/Location" }, "meter_id": { "title": "Meter Id", "examples": [ "String" ], "type": "string" }, "currency": { "title": "Currency", "examples": [ "String" ], "type": "string" }, "charging_periods": { "title": "Charging Periods", "default": [], "type": "array", "items": { "$ref": "#/definitions/ChargingPeriod" } }, "total_cost": { "title": "Total Cost", "examples": [], "type": "number" }, "status": { "$ref": "#/definitions/SessionStatus" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "start_datetime", "kwh", "auth_id", "auth_method", "location", "currency", "status", "last_updated" ], "definitions": { "AuthMethod": { "title": "AuthMethod", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#41-authmethod-enum", "enum": [ "AUTH_REQUEST", "WHITELIST" ], "type": "string" }, "LocationType": { "title": "LocationType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#416-locationtype-enum", "enum": [ "ON_STREET", "PARKING_GARAGE", "UNDERGROUND_GARAGE", "PARKING_LOT", "OTHER", "UNKNOWN" ], "type": "string" }, "GeoLocation": { "title": "GeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_geolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" } }, "required": [ "latitude", "longitude" ] }, "AdditionalGeoLocation": { "title": "AdditionalGeoLocation", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_additionalgeolocation_class", "type": "object", "properties": { "latitude": { "title": "Latitude", "examples": [ "String" ], "type": "string" }, "longitude": { "title": "Longitude", "examples": [ "String" ], "type": "string" }, "name": { "title": "Name", "examples": [ { "language": "en", "text": "Standard Tariff" } ], "type": "object" } }, "required": [ "latitude", "longitude" ] }, "Status": { "title": "Status", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum", "enum": [ "AVAILABLE", "BLOCKED", "CHARGING", "INOPERATIVE", "OUTOFORDER", "PLANNED", "REMOVED", "RESERVED", "UNKNOWN" ], "type": "string" }, "StatusSchedule": { "title": "StatusSchedule", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1423-statusschedule-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" } }, "required": [ "period_begin", "status" ] }, "Capability": { "title": "Capability", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#42-capability-enum", "enum": [ "CHARGING_PROFILE_CAPABLE", "CREDIT_CARD_PAYABLE", "REMOTE_START_STOP_CAPABLE", "RESERVABLE", "RFID_READER", "UNLOCK_CAPABLE" ], "type": "string" }, "ConnectorType": { "title": "ConnectorType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum", "enum": [ "CHADEMO", "DOMESTIC_A", "DOMESTIC_B", "DOMESTIC_C", "DOMESTIC_D", "DOMESTIC_E", "DOMESTIC_F", "DOMESTIC_G", "DOMESTIC_H", "DOMESTIC_I", "DOMESTIC_J", "DOMESTIC_K", "DOMESTIC_L", "IEC_60309_2_single_16", "IEC_60309_2_three_16", "IEC_60309_2_three_32", "IEC_60309_2_three_64", "IEC_62196_T1", "IEC_62196_T1_COMBO", "IEC_62196_T2", "IEC_62196_T2_COMBO", "IEC_62196_T3A", "IEC_62196_T3C", "TESLA_R", "TESLA_S" ], "type": "string" }, "ConnectorFormat": { "title": "ConnectorFormat", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum", "enum": [ "SOCKET", "CABLE" ], "type": "string" }, "PowerType": { "title": "PowerType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum", "enum": [ "AC_1_PHASE", "AC_3_PHASE", "DC" ], "type": "string" }, "Connector": { "title": "Connector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#33-connector-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "standard": { "$ref": "#/definitions/ConnectorType" }, "format": { "$ref": "#/definitions/ConnectorFormat" }, "power_type": { "$ref": "#/definitions/PowerType" }, "voltage": { "title": "Voltage", "type": "integer" }, "amperage": { "title": "Amperage", "type": "integer" }, "tariff_id": { "title": "Tariff Id", "examples": [ "String" ], "type": "string" }, "terms_and_conditions": { "title": "Terms And Conditions", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "standard", "format", "power_type", "voltage", "amperage", "tariff_id", "last_updated" ] }, "ParkingRestriction": { "title": "ParkingRestriction", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#417-parkingrestriction-enum", "enum": [ "EV_ONLY", "PLUGGED", "DISABLED", "CUSTOMERS", "MOTORCYCLES" ], "type": "string" }, "ImageCategory": { "title": "ImageCategory", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum", "enum": [ "CHARGER", "ENTRANCE", "LOCATION", "NETWORK", "OPERATOR", "OTHER", "OWNER" ], "type": "string" }, "Image": { "title": "Image", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#414-image-class", "type": "object", "properties": { "url": { "title": "Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "thumbnail": { "title": "Thumbnail", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "category": { "$ref": "#/definitions/ImageCategory" }, "type": { "title": "Type", "examples": [ "String" ], "type": "string" }, "width": { "title": "Width", "type": "integer" }, "height": { "title": "Height", "type": "integer" } }, "required": [ "url", "category", "type" ] }, "EVSE": { "title": "EVSE", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#32-evse-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "evse_id": { "title": "Evse Id", "examples": [ "String" ], "type": "string" }, "status": { "$ref": "#/definitions/Status" }, "status_schedule": { "$ref": "#/definitions/StatusSchedule" }, "capabilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Capability" } }, "connectors": { "title": "Connectors", "type": "array", "items": { "$ref": "#/definitions/Connector" } }, "floor_level": { "title": "Floor Level", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "physical_reference": { "title": "Physical Reference", "examples": [ "String" ], "type": "string" }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "parking_restrictions": { "default": [], "type": "array", "items": { "$ref": "#/definitions/ParkingRestriction" } }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "uid", "status", "connectors", "last_updated" ] }, "BusinessDetails": { "title": "BusinessDetails", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#41-businessdetails-class", "type": "object", "properties": { "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "website": { "title": "Website", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "logo": { "$ref": "#/definitions/Image" } }, "required": [ "name" ] }, "Facility": { "title": "Facility", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#411-facility-enum", "enum": [ "HOTEL", "RESTAURANT", "CAFE", "MALL", "SUPERMARKET", "SPORT", "RECREATION_AREA", "NATURE", "MUSEUM", "BUS_STOP", "TAXI_STAND", "TRAIN_STATION", "AIRPORT", "CARPOOL_PARKING", "FUEL_STATION", "WIFI" ], "type": "string" }, "RegularHours": { "title": "RegularHours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1421-regularhours-class", "type": "object", "properties": { "weekday": { "title": "Weekday", "type": "integer" }, "period_begin": { "title": "Period Begin", "examples": [ "String" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "String" ], "type": "string" } }, "required": [ "weekday", "period_begin", "period_end" ] }, "ExceptionalPeriod": { "title": "ExceptionalPeriod", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1411-exceptionalperiod-class", "type": "object", "properties": { "period_begin": { "title": "Period Begin", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "period_end": { "title": "Period End", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "period_begin", "period_end" ] }, "Hours": { "title": "Hours", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_hours_class", "type": "object", "properties": { "twentyfourseven": { "title": "Twentyfourseven", "type": "boolean" }, "regular_hours": { "title": "Regular Hours", "default": [], "type": "array", "items": { "$ref": "#/definitions/RegularHours" } }, "exceptional_openings": { "title": "Exceptional Openings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } }, "exceptional_closings": { "title": "Exceptional Closings", "default": [], "type": "array", "items": { "$ref": "#/definitions/ExceptionalPeriod" } } }, "required": [ "twentyfourseven" ] }, "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" }, "EnergySource": { "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ] }, "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" }, "EnvironmentalImpact": { "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ] }, "EnergyMix": { "title": "EnergyMix", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class", "type": "object", "properties": { "is_green_energy": { "title": "Is Green Energy", "type": "boolean" }, "energy_sources": { "title": "Energy Sources", "type": "array", "items": { "$ref": "#/definitions/EnergySource" } }, "environ_impact": { "$ref": "#/definitions/EnvironmentalImpact" }, "supplier_name": { "title": "Supplier Name", "examples": [ "String" ], "type": "string" }, "energy_product_name": { "title": "Energy Product Name", "examples": [ "String" ], "type": "string" } }, "required": [ "is_green_energy", "energy_sources", "supplier_name", "energy_product_name" ] }, "Location": { "title": "Location", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#31-location-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/LocationType" }, "name": { "title": "Name", "examples": [ "String" ], "type": "string" }, "address": { "title": "Address", "examples": [ "String" ], "type": "string" }, "city": { "title": "City", "examples": [ "String" ], "type": "string" }, "postal_code": { "title": "Postal Code", "examples": [ "String" ], "type": "string" }, "country": { "title": "Country", "examples": [ "String" ], "type": "string" }, "coordinates": { "$ref": "#/definitions/GeoLocation" }, "related_locations": { "title": "Related Locations", "default": [], "type": "array", "items": { "$ref": "#/definitions/AdditionalGeoLocation" } }, "evses": { "title": "Evses", "default": [], "type": "array", "items": { "$ref": "#/definitions/EVSE" } }, "directions": { "title": "Directions", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "operator": { "$ref": "#/definitions/BusinessDetails" }, "suboperator": { "$ref": "#/definitions/BusinessDetails" }, "owner": { "$ref": "#/definitions/BusinessDetails" }, "facilities": { "default": [], "type": "array", "items": { "$ref": "#/definitions/Facility" } }, "time_zone": { "title": "Time Zone", "examples": [ "String" ], "type": "string" }, "opening_times": { "$ref": "#/definitions/Hours" }, "charging_when_closed": { "title": "Charging When Closed", "type": "boolean" }, "images": { "title": "Images", "default": [], "type": "array", "items": { "$ref": "#/definitions/Image" } }, "energy_mix": { "$ref": "#/definitions/EnergyMix" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "type", "address", "city", "country", "coordinates", "time_zone", "last_updated" ] }, "CdrDimensionType": { "title": "CdrDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#43-cdrdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "MAX_CURRENT", "MIN_CURRENT", "PARKING_TIME", "TIME" ], "type": "string" }, "CdrDimension": { "title": "CdrDimension", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#42-cdrdimension-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/CdrDimensionType" }, "volume": { "title": "Volume", "examples": [], "type": "number" } }, "required": [ "type", "volume" ] }, "ChargingPeriod": { "title": "ChargingPeriod", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#44-chargingperiod-class", "type": "object", "properties": { "start_date_time": { "title": "Start Date Time", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "dimensions": { "title": "Dimensions", "type": "array", "items": { "$ref": "#/definitions/CdrDimension" } } }, "required": [ "start_date_time", "dimensions" ] }, "SessionStatus": { "title": "SessionStatus", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_sessions.md#41-sessionstatus-enum", "enum": [ "ACTIVE", "COMPLETED", "INVALID", "PENDING" ], "type": "string" } } }
- Fields:
- field auth_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field auth_method: AuthMethod [Required]¶
- field charging_periods: List[ChargingPeriod] = []¶
- field currency: String [Required]¶
- Constraints:
examples = [‘String’]
- field end_datetime: Optional[DateTime] = None¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field id: String [Required]¶
- Constraints:
examples = [‘String’]
- field kwh: Number [Required]¶
- Constraints:
examples = []
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field meter_id: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field start_datetime: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field status: SessionStatus [Required]¶
- field total_cost: Optional[Number] = None¶
- Constraints:
examples = []
Tokens module¶
- pydantic model py_ocpi.modules.tokens.v_2_1_1.schemas.AuthorizationInfo¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#31-authorizationinfo-object
Show JSON schema
{ "title": "AuthorizationInfo", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#31-authorizationinfo-object", "type": "object", "properties": { "allowed": { "$ref": "#/definitions/Allowed" }, "location": { "$ref": "#/definitions/LocationReference" }, "info": { "title": "Info", "examples": [ { "language": "en", "text": "Standard Tariff" } ], "type": "object" } }, "required": [ "allowed" ], "definitions": { "Allowed": { "title": "Allowed", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#41-allowed-enum", "enum": [ "ALLOWED", "BLOCKED", "EXPIRED", "NO_CREDIT", "NOT_ALLOWED" ], "type": "string" }, "LocationReference": { "title": "LocationReference", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#42-locationreferences-class", "type": "object", "properties": { "location_id": { "title": "Location Id", "examples": [ "String" ], "type": "string" }, "evse_uids": { "title": "Evse Uids", "default": [], "type": "array", "items": { "type": "string", "examples": [ "String" ] } }, "connector_ids": { "title": "Connector Ids", "default": [], "type": "array", "items": { "type": "string", "examples": [ "String" ] } } }, "required": [ "location_id" ] } } }
- Fields:
- field info: Optional[DisplayText] = None¶
- Constraints:
examples = [{‘language’: ‘en’, ‘text’: ‘Standard Tariff’}]
- field location: Optional[LocationReference] = None¶
- pydantic model py_ocpi.modules.tokens.v_2_1_1.schemas.LocationReference¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#42-locationreferences-class
Show JSON schema
{ "title": "LocationReference", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#42-locationreferences-class", "type": "object", "properties": { "location_id": { "title": "Location Id", "examples": [ "String" ], "type": "string" }, "evse_uids": { "title": "Evse Uids", "default": [], "type": "array", "items": { "type": "string", "examples": [ "String" ] } }, "connector_ids": { "title": "Connector Ids", "default": [], "type": "array", "items": { "type": "string", "examples": [ "String" ] } } }, "required": [ "location_id" ] }
- Fields:
- field connector_ids: List[String] = []¶
- field evse_uids: List[String] = []¶
- field location_id: String [Required]¶
- Constraints:
examples = [‘String’]
- pydantic model py_ocpi.modules.tokens.v_2_1_1.schemas.Token¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#32-token-object
Show JSON schema
{ "title": "Token", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#32-token-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/TokenType" }, "auth_id": { "title": "Auth Id", "examples": [ "String" ], "type": "string" }, "visual_number": { "title": "Visual Number", "examples": [ "String" ], "type": "string" }, "issuer": { "title": "Issuer", "examples": [ "String" ], "type": "string" }, "valid": { "title": "Valid", "type": "boolean" }, "whitelist": { "$ref": "#/definitions/WhitelistType" }, "language": { "title": "Language", "examples": [ "String" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "uid", "type", "auth_id", "issuer", "valid", "whitelist", "last_updated" ], "definitions": { "TokenType": { "title": "TokenType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#43-tokentype-enum", "enum": [ "OTHER", "RFID" ], "type": "string" }, "WhitelistType": { "title": "WhitelistType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#44-whitelisttype-enum", "enum": [ "ALWAYS", "ALLOWED", "ALLOWED_OFFLINE", "NEVER" ], "type": "string" } } }
- field auth_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field issuer: String [Required]¶
- Constraints:
examples = [‘String’]
- field language: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field uid: String [Required]¶
- Constraints:
examples = [‘String’]
- field valid: bool [Required]¶
- field visual_number: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field whitelist: WhitelistType [Required]¶
Tariffs module¶
- pydantic model py_ocpi.modules.tariffs.v_2_1_1.schemas.PriceComponent¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#42-pricecomponent-class
Show JSON schema
{ "title": "PriceComponent", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#42-pricecomponent-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/TariffDimensionType" }, "price": { "title": "Price", "examples": [], "type": "number" }, "step_size": { "title": "Step Size", "type": "integer" } }, "required": [ "type", "price", "step_size" ], "definitions": { "TariffDimensionType": { "title": "TariffDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#44-tariffdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "PARKING_TIME", "TIME" ], "type": "string" } } }
- Fields:
- field price: Number [Required]¶
- Constraints:
examples = []
- field step_size: int [Required]¶
- field type: TariffDimensionType [Required]¶
- pydantic model py_ocpi.modules.tariffs.v_2_1_1.schemas.Tariff¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#31-tariff-object
Show JSON schema
{ "title": "Tariff", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#31-tariff-object", "type": "object", "properties": { "id": { "title": "Id", "examples": [ "String" ], "type": "string" }, "currency": { "title": "Currency", "examples": [ "String" ], "type": "string" }, "tariff_alt_text": { "title": "Tariff Alt Text", "default": [], "type": "array", "items": { "type": "object", "examples": [ { "language": "en", "text": "Standard Tariff" } ] } }, "tariff_alt_url": { "title": "Tariff Alt Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "elements": { "title": "Elements", "type": "array", "items": { "$ref": "#/definitions/TariffElement" } }, "energy_mix": { "$ref": "#/definitions/EnergyMix" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "id", "currency", "elements", "last_updated" ], "definitions": { "TariffDimensionType": { "title": "TariffDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#44-tariffdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "PARKING_TIME", "TIME" ], "type": "string" }, "PriceComponent": { "title": "PriceComponent", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#42-pricecomponent-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/TariffDimensionType" }, "price": { "title": "Price", "examples": [], "type": "number" }, "step_size": { "title": "Step Size", "type": "integer" } }, "required": [ "type", "price", "step_size" ] }, "DayOfWeek": { "title": "DayOfWeek", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_tariffs.asciidoc#141-dayofweek-enum", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "type": "string" }, "TariffRestrictions": { "title": "TariffRestrictions", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#45-tariffrestrictions-class", "type": "object", "properties": { "start_time": { "title": "Start Time", "examples": [ "String" ], "type": "string" }, "end_time": { "title": "End Time", "examples": [ "String" ], "type": "string" }, "start_date": { "title": "Start Date", "examples": [ "String" ], "type": "string" }, "end_date": { "title": "End Date", "examples": [ "String" ], "type": "string" }, "min_kwh": { "title": "Min Kwh", "examples": [], "type": "number" }, "max_kwh": { "title": "Max Kwh", "examples": [], "type": "number" }, "min_power": { "title": "Min Power", "examples": [], "type": "number" }, "max_power": { "title": "Max Power", "examples": [], "type": "number" }, "min_duration": { "title": "Min Duration", "type": "integer" }, "max_duration": { "title": "Max Duration", "type": "integer" }, "day_of_week": { "default": [], "type": "array", "items": { "$ref": "#/definitions/DayOfWeek" } } } }, "TariffElement": { "title": "TariffElement", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#43-tariffelement-class", "type": "object", "properties": { "price_components": { "title": "Price Components", "type": "array", "items": { "$ref": "#/definitions/PriceComponent" } }, "restrictions": { "$ref": "#/definitions/TariffRestrictions" } }, "required": [ "price_components" ] }, "EnergySourceCategory": { "title": "EnergySourceCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum", "enum": [ "NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER" ], "type": "string" }, "EnergySource": { "title": "EnergySource", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#147-energysource-class", "type": "object", "properties": { "source": { "$ref": "#/definitions/EnergySourceCategory" }, "percentage": { "title": "Percentage", "examples": [], "type": "number" } }, "required": [ "source", "percentage" ] }, "EnvironmentalImpactCategory": { "title": "EnvironmentalImpactCategory", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum", "enum": [ "NUCLEAR_WASTE", "CARBON_DIOXIDE" ], "type": "string" }, "EnvironmentalImpact": { "title": "EnvironmentalImpact", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#149-environmentalimpact-class", "type": "object", "properties": { "category": { "$ref": "#/definitions/EnvironmentalImpactCategory" }, "amount": { "title": "Amount", "examples": [], "type": "number" } }, "required": [ "category", "amount" ] }, "EnergyMix": { "title": "EnergyMix", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#mod_locations_energymix_class", "type": "object", "properties": { "is_green_energy": { "title": "Is Green Energy", "type": "boolean" }, "energy_sources": { "title": "Energy Sources", "type": "array", "items": { "$ref": "#/definitions/EnergySource" } }, "environ_impact": { "$ref": "#/definitions/EnvironmentalImpact" }, "supplier_name": { "title": "Supplier Name", "examples": [ "String" ], "type": "string" }, "energy_product_name": { "title": "Energy Product Name", "examples": [ "String" ], "type": "string" } }, "required": [ "is_green_energy", "energy_sources", "supplier_name", "energy_product_name" ] } } }
- Fields:
- field currency: String [Required]¶
- Constraints:
examples = [‘String’]
- field elements: List[TariffElement] [Required]¶
- field id: String [Required]¶
- Constraints:
examples = [‘String’]
- field last_updated: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field tariff_alt_text: List[DisplayText] = []¶
- field tariff_alt_url: Optional[URL] = None¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- pydantic model py_ocpi.modules.tariffs.v_2_1_1.schemas.TariffElement¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#43-tariffelement-class
Show JSON schema
{ "title": "TariffElement", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#43-tariffelement-class", "type": "object", "properties": { "price_components": { "title": "Price Components", "type": "array", "items": { "$ref": "#/definitions/PriceComponent" } }, "restrictions": { "$ref": "#/definitions/TariffRestrictions" } }, "required": [ "price_components" ], "definitions": { "TariffDimensionType": { "title": "TariffDimensionType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#44-tariffdimensiontype-enum", "enum": [ "ENERGY", "FLAT", "PARKING_TIME", "TIME" ], "type": "string" }, "PriceComponent": { "title": "PriceComponent", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#42-pricecomponent-class", "type": "object", "properties": { "type": { "$ref": "#/definitions/TariffDimensionType" }, "price": { "title": "Price", "examples": [], "type": "number" }, "step_size": { "title": "Step Size", "type": "integer" } }, "required": [ "type", "price", "step_size" ] }, "DayOfWeek": { "title": "DayOfWeek", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_tariffs.asciidoc#141-dayofweek-enum", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "type": "string" }, "TariffRestrictions": { "title": "TariffRestrictions", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#45-tariffrestrictions-class", "type": "object", "properties": { "start_time": { "title": "Start Time", "examples": [ "String" ], "type": "string" }, "end_time": { "title": "End Time", "examples": [ "String" ], "type": "string" }, "start_date": { "title": "Start Date", "examples": [ "String" ], "type": "string" }, "end_date": { "title": "End Date", "examples": [ "String" ], "type": "string" }, "min_kwh": { "title": "Min Kwh", "examples": [], "type": "number" }, "max_kwh": { "title": "Max Kwh", "examples": [], "type": "number" }, "min_power": { "title": "Min Power", "examples": [], "type": "number" }, "max_power": { "title": "Max Power", "examples": [], "type": "number" }, "min_duration": { "title": "Min Duration", "type": "integer" }, "max_duration": { "title": "Max Duration", "type": "integer" }, "day_of_week": { "default": [], "type": "array", "items": { "$ref": "#/definitions/DayOfWeek" } } } } } }
- Fields:
- field price_components: List[PriceComponent] [Required]¶
- field restrictions: Optional[TariffRestrictions] = None¶
- pydantic model py_ocpi.modules.tariffs.v_2_1_1.schemas.TariffRestrictions¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#45-tariffrestrictions-class
Show JSON schema
{ "title": "TariffRestrictions", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tariffs.md#45-tariffrestrictions-class", "type": "object", "properties": { "start_time": { "title": "Start Time", "examples": [ "String" ], "type": "string" }, "end_time": { "title": "End Time", "examples": [ "String" ], "type": "string" }, "start_date": { "title": "Start Date", "examples": [ "String" ], "type": "string" }, "end_date": { "title": "End Date", "examples": [ "String" ], "type": "string" }, "min_kwh": { "title": "Min Kwh", "examples": [], "type": "number" }, "max_kwh": { "title": "Max Kwh", "examples": [], "type": "number" }, "min_power": { "title": "Min Power", "examples": [], "type": "number" }, "max_power": { "title": "Max Power", "examples": [], "type": "number" }, "min_duration": { "title": "Min Duration", "type": "integer" }, "max_duration": { "title": "Max Duration", "type": "integer" }, "day_of_week": { "default": [], "type": "array", "items": { "$ref": "#/definitions/DayOfWeek" } } }, "definitions": { "DayOfWeek": { "title": "DayOfWeek", "description": "https://github.com/ocpi/ocpi/blob/2.2.1/mod_tariffs.asciidoc#141-dayofweek-enum", "enum": [ "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY" ], "type": "string" } } }
- Fields:
- field end_date: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field end_time: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field max_duration: Optional[int] = None¶
- field max_kwh: Optional[Number] = None¶
- Constraints:
examples = []
- field max_power: Optional[Number] = None¶
- Constraints:
examples = []
- field min_duration: Optional[int] = None¶
- field min_kwh: Optional[Number] = None¶
- Constraints:
examples = []
- field min_power: Optional[Number] = None¶
- Constraints:
examples = []
- field start_date: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field start_time: Optional[String] = None¶
- Constraints:
examples = [‘String’]
Commands module¶
- pydantic model py_ocpi.modules.commands.v_2_1_1.schemas.CommandResponse¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#31-commandresponse-object
Show JSON schema
{ "title": "CommandResponse", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#31-commandresponse-object", "type": "object", "properties": { "result": { "$ref": "#/definitions/CommandResponseType" } }, "required": [ "result" ], "definitions": { "CommandResponseType": { "title": "CommandResponseType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#41-commandresponsetype-enum", "enum": [ "NOT_SUPPORTED", "REJECTED", "ACCEPTED", "TIMEOUT", "UNKNOWN_SESSION" ], "type": "string" } } }
- field result: CommandResponseType [Required]¶
- pydantic model py_ocpi.modules.commands.v_2_1_1.schemas.ReserveNow¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#32-reservenow-object
Show JSON schema
{ "title": "ReserveNow", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#32-reservenow-object", "type": "object", "properties": { "response_url": { "title": "Response Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "token": { "$ref": "#/definitions/Token" }, "expiry_date": { "title": "Expiry Date", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" }, "reservation_id": { "title": "Reservation Id", "type": "integer" }, "location_id": { "title": "Location Id", "examples": [ "String" ], "type": "string" }, "evse_uid": { "title": "Evse Uid", "examples": [ "String" ], "type": "string" } }, "required": [ "response_url", "token", "expiry_date", "reservation_id", "location_id" ], "definitions": { "TokenType": { "title": "TokenType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#43-tokentype-enum", "enum": [ "OTHER", "RFID" ], "type": "string" }, "WhitelistType": { "title": "WhitelistType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#44-whitelisttype-enum", "enum": [ "ALWAYS", "ALLOWED", "ALLOWED_OFFLINE", "NEVER" ], "type": "string" }, "Token": { "title": "Token", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#32-token-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/TokenType" }, "auth_id": { "title": "Auth Id", "examples": [ "String" ], "type": "string" }, "visual_number": { "title": "Visual Number", "examples": [ "String" ], "type": "string" }, "issuer": { "title": "Issuer", "examples": [ "String" ], "type": "string" }, "valid": { "title": "Valid", "type": "boolean" }, "whitelist": { "$ref": "#/definitions/WhitelistType" }, "language": { "title": "Language", "examples": [ "String" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "uid", "type", "auth_id", "issuer", "valid", "whitelist", "last_updated" ] } } }
- Fields:
- field evse_uid: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field expiry_date: DateTime [Required]¶
- Constraints:
examples = [‘2025-07-16T06:33:48Z’]
- field location_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field reservation_id: int [Required]¶
- field response_url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- pydantic model py_ocpi.modules.commands.v_2_1_1.schemas.StartSession¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#33-startsession-object
Show JSON schema
{ "title": "StartSession", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#33-startsession-object", "type": "object", "properties": { "response_url": { "title": "Response Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "token": { "$ref": "#/definitions/Token" }, "location_id": { "title": "Location Id", "examples": [ "String" ], "type": "string" }, "evse_uid": { "title": "Evse Uid", "examples": [ "String" ], "type": "string" } }, "required": [ "response_url", "token", "location_id" ], "definitions": { "TokenType": { "title": "TokenType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#43-tokentype-enum", "enum": [ "OTHER", "RFID" ], "type": "string" }, "WhitelistType": { "title": "WhitelistType", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#44-whitelisttype-enum", "enum": [ "ALWAYS", "ALLOWED", "ALLOWED_OFFLINE", "NEVER" ], "type": "string" }, "Token": { "title": "Token", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#32-token-object", "type": "object", "properties": { "uid": { "title": "Uid", "examples": [ "String" ], "type": "string" }, "type": { "$ref": "#/definitions/TokenType" }, "auth_id": { "title": "Auth Id", "examples": [ "String" ], "type": "string" }, "visual_number": { "title": "Visual Number", "examples": [ "String" ], "type": "string" }, "issuer": { "title": "Issuer", "examples": [ "String" ], "type": "string" }, "valid": { "title": "Valid", "type": "boolean" }, "whitelist": { "$ref": "#/definitions/WhitelistType" }, "language": { "title": "Language", "examples": [ "String" ], "type": "string" }, "last_updated": { "title": "Last Updated", "examples": [ "2025-07-16T06:33:48Z" ], "type": "string" } }, "required": [ "uid", "type", "auth_id", "issuer", "valid", "whitelist", "last_updated" ] } } }
- Fields:
- field evse_uid: Optional[String] = None¶
- Constraints:
examples = [‘String’]
- field location_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field response_url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- pydantic model py_ocpi.modules.commands.v_2_1_1.schemas.StopSession¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#34-stopsession-object
Show JSON schema
{ "title": "StopSession", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#34-stopsession-object", "type": "object", "properties": { "response_url": { "title": "Response Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "session_id": { "title": "Session Id", "examples": [ "String" ], "type": "string" } }, "required": [ "response_url", "session_id" ] }
- field response_url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
- field session_id: String [Required]¶
- Constraints:
examples = [‘String’]
- pydantic model py_ocpi.modules.commands.v_2_1_1.schemas.UnlockConnector¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#35-unlockconnector-object
Show JSON schema
{ "title": "UnlockConnector", "description": "https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#35-unlockconnector-object", "type": "object", "properties": { "response_url": { "title": "Response Url", "examples": [ "http://www.w3.org/Addressing/URL/uri-spec.html" ], "type": "string" }, "location_id": { "title": "Location Id", "examples": [ "String" ], "type": "string" }, "evse_uid": { "title": "Evse Uid", "examples": [ "String" ], "type": "string" }, "connector_id": { "title": "Connector Id", "examples": [ "String" ], "type": "string" } }, "required": [ "response_url", "location_id", "evse_uid", "connector_id" ] }
- Fields:
- field connector_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field evse_uid: String [Required]¶
- Constraints:
examples = [‘String’]
- field location_id: String [Required]¶
- Constraints:
examples = [‘String’]
- field response_url: URL [Required]¶
- Constraints:
examples = [’http://www.w3.org/Addressing/URL/uri-spec.html’]
Enums¶
Credentials module¶
Locations module¶
- class py_ocpi.modules.locations.v_2_1_1.enums.Capability(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#42-capability-enum
- charging_profile_capable = 'CHARGING_PROFILE_CAPABLE'¶
- credit_card_payable = 'CREDIT_CARD_PAYABLE'¶
- remote_start_stop_capable = 'REMOTE_START_STOP_CAPABLE'¶
- reservable = 'RESERVABLE'¶
- rfid_reader = 'RFID_READER'¶
- unlock_capable = 'UNLOCK_CAPABLE'¶
- class py_ocpi.modules.locations.v_2_1_1.enums.ConnectorType(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#44-connectortype-enum
- chademo = 'CHADEMO'¶
- domestic_a = 'DOMESTIC_A'¶
- domestic_b = 'DOMESTIC_B'¶
- domestic_c = 'DOMESTIC_C'¶
- domestic_d = 'DOMESTIC_D'¶
- domestic_e = 'DOMESTIC_E'¶
- domestic_f = 'DOMESTIC_F'¶
- domestic_g = 'DOMESTIC_G'¶
- domestic_h = 'DOMESTIC_H'¶
- domestic_i = 'DOMESTIC_I'¶
- domestic_j = 'DOMESTIC_J'¶
- domestic_k = 'DOMESTIC_K'¶
- domestic_l = 'DOMESTIC_L'¶
- iec_60309_2_single_16 = 'IEC_60309_2_single_16'¶
- iec_60309_2_three_16 = 'IEC_60309_2_three_16'¶
- iec_60309_2_three_32 = 'IEC_60309_2_three_32'¶
- iec_60309_2_three_64 = 'IEC_60309_2_three_64'¶
- iec_62196_t1 = 'IEC_62196_T1'¶
- iec_62196_t1_combo = 'IEC_62196_T1_COMBO'¶
- iec_62196_t2 = 'IEC_62196_T2'¶
- iec_62196_t2_combo = 'IEC_62196_T2_COMBO'¶
- iec_62196_t3a = 'IEC_62196_T3A'¶
- iec_62196_t3c = 'IEC_62196_T3C'¶
- tesla_r = 'TESLA_R'¶
- tesla_s = 'TESLA_S'¶
- class py_ocpi.modules.locations.v_2_1_1.enums.Facility(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#411-facility-enum
- airport = 'AIRPORT'¶
- bus_stop = 'BUS_STOP'¶
- cafe = 'CAFE'¶
- carpool_parking = 'CARPOOL_PARKING'¶
- fuel_station = 'FUEL_STATION'¶
- hotel = 'HOTEL'¶
- mall = 'MALL'¶
- museum = 'MUSEUM'¶
- nature = 'NATURE'¶
- recreation_area = 'RECREATION_AREA'¶
- restaurant = 'RESTAURANT'¶
- sport = 'SPORT'¶
- supermarket = 'SUPERMARKET'¶
- taxi_stand = 'TAXI_STAND'¶
- train_station = 'TRAIN_STATION'¶
- wifi = 'WIFI'¶
- class py_ocpi.modules.locations.v_2_1_1.enums.LocationType(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#416-locationtype-enum
- on_street = 'ON_STREET'¶
- other = 'OTHER'¶
- parking_garage = 'PARKING_GARAGE'¶
- parking_lot = 'PARKING_LOT'¶
- underground_garage = 'UNDERGROUND_GARAGE'¶
- unknown = 'UNKNOWN'¶
- class py_ocpi.modules.locations.v_2_1_1.enums.PowerType(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#418-powertype-enum
- ac_1_phase = 'AC_1_PHASE'¶
- ac_3_phase = 'AC_3_PHASE'¶
- dc = 'DC'¶
- class py_ocpi.modules.locations.enums.ConnectorFormat(value)¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#144-connectorformat-enum
- cable = 'CABLE'¶
- socket = 'SOCKET'¶
- class py_ocpi.modules.locations.enums.EnergySourceCategory(value)¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#148-energysourcecategory-enum
- coal = 'COAL'¶
- gas = 'GAS'¶
- general_fossil = 'GENERAL_FOSSIL'¶
- general_green = 'GENERAL_GREEN'¶
- nuclear = 'NUCLEAR'¶
- solar = 'SOLAR'¶
- water = 'WATER'¶
- wind = 'WIND'¶
- class py_ocpi.modules.locations.enums.EnvironmentalImpactCategory(value)¶
https://github.com/ocpi/ocpi/blob/2.2.1/mod_locations.asciidoc#1410-environmentalimpactcategory-enum
- carbon_dioxide = 'CARBON_DIOXIDE'¶
- nuclear_waste = 'NUCLEAR_WASTE'¶
- class py_ocpi.modules.locations.enums.ImageCategory(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#415-imagecategory-enum
- charger = 'CHARGER'¶
- entrance = 'ENTRANCE'¶
- location = 'LOCATION'¶
- network = 'NETWORK'¶
- operator = 'OPERATOR'¶
- other = 'OTHER'¶
- owner = 'OWNER'¶
- class py_ocpi.modules.locations.enums.ParkingRestriction(value)¶
- customers = 'CUSTOMERS'¶
- disables = 'DISABLED'¶
- ev_only = 'EV_ONLY'¶
- motorcycle = 'MOTORCYCLES'¶
- plugged = 'PLUGGED'¶
- class py_ocpi.modules.locations.enums.Status(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_locations.md#420-status-enum
- available = 'AVAILABLE'¶
- blocked = 'BLOCKED'¶
- charging = 'CHARGING'¶
- inoperative = 'INOPERATIVE'¶
- outoforder = 'OUTOFORDER'¶
- planned = 'PLANNED'¶
- removed = 'REMOVED'¶
- reserved = 'RESERVED'¶
- unknown = 'UNKNOWN'¶
CDRs module¶
- class py_ocpi.modules.cdrs.v_2_1_1.enums.AuthMethod(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_cdrs.md#41-authmethod-enum
- auth_request = 'AUTH_REQUEST'¶
- whitelist = 'WHITELIST'¶
Sessions module¶
Tokens module¶
- class py_ocpi.modules.tokens.v_2_1_1.enums.Allowed(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#41-allowed-enum
- allowed = 'ALLOWED'¶
- blocked = 'BLOCKED'¶
- expired = 'EXPIRED'¶
- no_credit = 'NO_CREDIT'¶
- not_allowed = 'NOT_ALLOWED'¶
- class py_ocpi.modules.tokens.v_2_1_1.enums.TokenType(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_tokens.md#43-tokentype-enum
- other = 'OTHER'¶
- rfid = 'RFID'¶
Tariffs module¶
Commands module¶
- class py_ocpi.modules.commands.v_2_1_1.enums.CommandResponseType(value)¶
https://github.com/ocpi/ocpi/blob/release-2.1.1-bugfixes/mod_commands.md#41-commandresponsetype-enum
- accepted = 'ACCEPTED'¶
- not_supported = 'NOT_SUPPORTED'¶
- rejected = 'REJECTED'¶
- timeout = 'TIMEOUT'¶
- unknown_session = 'UNKNOWN_SESSION'¶