OCPI 2.3.0 2.3.0-booking-1.0

OCPI 2.3.0 - Open Charge Point Interface

Front matter of the OCPI 2.3.0 specification. This document covers the protocol overview, copyright information, complete version history, document revision policy, and the full table of contents for all 19 chapters.

5 Sections
19 Chapters
2025-06-13

1. Overview

Introduction

OCPI (Open Charge Point Interface) is a protocol developed by the EVRoaming Foundation that enables EV charging networks to exchange data and interoperate. This document covers the front matter of the OCPI 2.3.0 specification, including version history, copyright information, and the full table of contents.

About OCPI

Open Charge Point Interface

OCPI enables scalable, automated EV roaming connections between operators and service providers. It supports peer-to-peer and hub-based communication topologies.

Interoperability

OCPI covers location data exchange, session management, CDR handling, tariff information, token authorization, remote commands, smart charging profiles, and more.

Extensible Protocol

Version 2.3.0 makes OCPI extensible, adds vehicle types to EVSE, parking objects, disability information, North American tax support, 15118 Plug and Charge compatibility, and new Payments and Bookings modules.

Booking Support

The latest revision (2.3.0-booking-1.0) introduces the Bookings Module, enabling advance reservation of charging slots through the OCPI protocol.

Document Version

This documentation corresponds to OCPI 2.3.0-booking-1.0, dated 2025-06-13. This version builds on OCPI 2.3.0 (released 2025-01-16) and adds the Bookings Module.

3. Version History

Reference

Complete history of all OCPI protocol versions and documentation revisions, from the initial draft to the latest release.

Version Date Author Description
2.3.0-booking-1.0 2025-06-13 Boudewijn Groeneboer (ihomer), Niclas Rinman (Volvo) Add Bookings Module
2.3.0 2025-01-16 Greg Fitzpatrick (ChargeHub), Petar Jovevski (Metergram), Robert Gliguroski (Metergram), Philipp Fischbacher (ChargePoint), Reinier Lamers (SWTCH Energy) Make OCPI extensible; Add vehicle types to EVSE; Add list of accepted eMSPs to EVSE; Add a Parking object linked to EVSE; Information for people with disabilities; Support for North American taxes; 15118 Plug and Charge compatibility flags on Connectors; Make Hub support incremental from regular multi-party Platform support; Add Payments Module
2.2.1-d2 2023-09-07 Jakub Karbownik (Ekoenergetyka), Rudolph Froger (TandemDrive), Robert de Leeuw (EVA Global), Reinier Lamers (ihomer) Documentation update.
2.2.1 2021-10-06 Robert de Leeuw (ihomer), Reinier Lamers (ihomer) Final release of OCPI 2.2.1. Added country_code and party_id to CdrToken class. Fixed datatype of CDR SignedData URL. Improved some descriptions. Fixed length of CDR SignedData, increased to 5000. Change signed data related fields to string. postal_code optional in CdrLocation. state added to CdrLocation. AC_2_PHASE and AC_2_PHASE_SPLIT added to PowerType in Connector. Additional types added to ConnectorType in Connector. Added connector_id to StartSession command and START_SESSION_CONNECTOR_REQUIRED to EVSE Capabilities. Added optional field: home_charging_compensation to CDR. Improved description/examples Tariff for step_size.
2.2-d2 2020-06-12 Robert de Leeuw (ihomer) 2nd documentation revision of the OCPI 2.2 spec. Contains textual improvements and fixes some of the examples. Most improvements in the tariffs module, especially step_size is better explained.
2.2 2019-09-30 Robert de Leeuw (ihomer) Added support for Roaming Hubs. Adds support for Platforms with multiple/different roles, additional roles. Adds support for smart charging. Lots of improvements to existing modules. See changelog.
2.1.1-d2 2019-06-21 Robert de Leeuw, ihomer Fixes the command module documentation, fixes a lot of examples, lots of small textual improvements: see changelog.
2.1.1 2017-06-08 Robert de Leeuw (ihomer) Fixed 4 bugs found in OCPI 2.1, lots of small textual improvements: see changelog.
2.1 2016-04-08 Robert de Leeuw (ihomer) Added command module. Added support for real-time authorization. Lots of small improvements: see changelog.
2.0-d2 2016-02-15 Robert de Leeuw (ihomer) 2nd documentation revision of the OCPI 2.0 spec. Only documentation updated: ConnectorType of Connector was not visible, credentials clarified, location URL segments incorrect (now string, was int), minor textual updates. DateTime with timezones is still an issue.
2.0 2015-12-30 Robert de Leeuw (ihomer), Simon Philips (Becharged), Chris Zwirello (The New Motion), Simon Schilling First official release of OCPI.
0.4 2014-11-04 Olger Warnier (The New Motion) First draft of OCPI. (Also known as Draft v4)
0.3 2014-05-06 Olger Warnier (The New Motion) First draft of OCPI. (Also known as Draft v3)

4. Document Revisions

Versioning

Naming Convention

There can be multiple documentation revisions of the same version of the OCPI protocol.

The newer documentation revisions of the same protocol version can never change the content of the messages: no new fields or renaming of fields. A new revision can only clarify/fix texts/descriptions and fix typos etc.

These documentation revisions (not the first) will be named: d2, d3, d4 etc.

Examples

Different protocol version

OCPI 2.1.1 is a different protocol version of OCPI than OCPI 2.1. They may have different message formats and fields.

Same protocol version

OCPI 2.2-d2 is the same protocol version as OCPI 2.2, but a newer documentation revision. The wire protocol is identical — only documentation text has been improved.

5. Table of Contents

19 Chapters

Complete listing of all chapters in the OCPI 2.3.0 specification. Each chapter covers a specific aspect of the protocol, from core concepts to individual modules.

Ch 1

OCPI

Overview of OCPI versions (2.3.0, 2.2.1, 2.2) and introduction/background to the Open Charge Point Interface protocol.

Ch 2

Terminology and Definitions

Requirement keywords, abbreviations, EV charging market roles, terminology, provider/operator abbreviations, charging topology, variable names, cardinality, data retention.

Ch 3

Supported Topologies

Peer-to-peer, multiple peer-to-peer connections, dual roles, mixed roles, platforms via Hub, platforms via Hub and direct.

Ch 4

Transport and Format

JSON/HTTP implementation guide, security and authentication, authorization header, pull and push, request format (GET/PUT/PATCH), client owned object push, client owned object pull, response format, non-specified JSON fields, message routing, unique message IDs, interface endpoints, offline behaviour.

Ch 5

Status Codes

1xxx Success, 2xxx Client errors, 3xxx Server errors, 4xxx Hub errors.

Ch 6

Versions Module

Module

Version information endpoint, version details endpoint, endpoint class, InterfaceRole enum, ModuleID OpenEnum, VersionNumber OpenEnum.

Ch 7

Credentials Module

Module

Registration, updating to newer version, changing endpoints, updating credentials, errors during registration, GET/POST/PUT/DELETE methods, credentials object, CredentialsRole class.

Ch 8

Locations Module

Module

Flow and lifecycle, sender/receiver interfaces, Location/EVSE/Connector/Parking objects, data types (GeoLocation, BusinessDetails, Capability, ConnectorFormat, ConnectorType, EnergyMix, Facility, Hours, Image, PowerType, Status, VehicleType, etc.).

Ch 9

Sessions Module

Module

Flow and lifecycle (push/pull model, charging preferences, reservation), sender/receiver interfaces, Session object, ChargingPreferences object, SessionStatus enum.

Ch 10

CDRs Module

Module

Flow and lifecycle (credit CDRs, push/pull model), sender/receiver interfaces, CDR object, data types (AuthMethod, CdrDimension, CdrLocation, CdrToken, ChargingPeriod, SignedData, SignedValue).

Ch 11

Tariffs Module

Module

Flow and lifecycle, sender/receiver interfaces, Tariff object, data types (DayOfWeek, PriceComponent, PriceLimit, TariffElement, TariffDimensionType, TariffRestrictions, TariffType, TaxIncluded).

Ch 12

Tokens Module

Module

Flow and lifecycle (push/pull model, real-time authorization), receiver/sender interfaces, AuthorizationInfo object, Token object, data types (AllowedType, EnergyContract, LocationReferences, TokenType, WhitelistType).

Ch 13

Commands Module

Module

Flow, receiver/sender interfaces, objects (CancelReservation, CommandResponse, CommandResult, ReserveNow, StartSession, StopSession, UnlockConnector), data types (CommandResponseType, CommandResultType, CommandType).

Ch 14

ChargingProfiles Module

Module

Smart charging topologies, use cases, flow, receiver/sender interfaces, objects (ChargingProfileResponse, ActiveChargingProfileResult, ChargingProfileResult, ClearProfileResult, SetChargingProfile), data types (ActiveChargingProfile, ChargingRateUnit, ChargingProfile, ChargingProfilePeriod, ChargingProfileResponseType, ChargingProfileResultType).

Ch 15

HubClientInfo Module

Module

Scenarios (CONNECTED, OFFLINE, PLANNED, SUSPENDED), flow and lifecycle, receiver/sender interfaces, ClientInfo object, ConnectionStatus enum.

Ch 16

Payments Module

New in 2.3.0

Usage flows, terminal assignment, terminal activation, transaction, sender/receiver interfaces, Terminal object, Financial Advice Confirmation object, data types (InvoiceCreator, CaptureStatusCode).

Ch 17

Bookings Module

New in 2.3.0-booking

Flow and lifecycle, booking lifecycle from making to fulfillment, cancel booking from CPO, sender/receiver interfaces (BookingLocation and Calendar interface, Booking interface), objects (BookingLocation, Calendar, Booking), data types (BookingRequest, BookingTerms, BookableParkingOptions, Cancellation, AccessMethod, BookingRequestStatus, Timeslot, BookingToken, Bookable, LocationAccess, ReservationStatus, ReservationRequestStatus, CanceledReason).

Ch 18

Types

class, enum, OpenEnum, CiString, DateTime, DisplayText, number, Price, TaxAmount, Role, string, URL.

Ch 19

Changelog

Changes between versions (2.3.0 and 2.3.0-booking-1.0, 2.2.1-d2 and 2.3.0, 2.2.1 and 2.2.1-d2, OCPI 2.2 and 2.2.1, OCPI 2.1.1 and 2.2).

OCPI 2.3.0 Front Matter. Based on OCPI 2.3.0-booking-1.0 Specification (2025-06-13). Copyright © 2014 – 2025 EVRoaming Foundation.