Public charging of electric vehicles plays a crucial role in promoting electric mobility. While private charging at home or at work is convenient and often inexpensive, public charging provides a necessary addition, particularly for longer trips or for people without access to private charging stations. The main difference between public and private charging lies in the infrastructure and the actors involved.
Private charging stations are usually simple devices that do not require complex authentication or billing processes. These wallboxes are usually installed at home or at work and offer a convenient way to charge electric vehicles without relying on external service providers. In contrast, public charging stations are often “smart,” meaning they are connected to a backend system that offers authentication, billing and monitoring functions. These smart charging stations communicate with Charge Point Operators (CPOs) and E-Mobility Service Providers (EMSPs) systems via various protocols such as OICP and OCPI to ensure a seamless charging experience. However, there are also private, smart charging stations that can be controlled remotely, for example.
Important roles and terms in the public charging context
- CPO (Charge Point Operator): A charge point operator is an operator of charging stations for electric vehicles. CPOs are responsible for installing, maintaining and operating the charging infrastructure.
- EMSP (e-mobility service provider): An e-mobility service provider offers services for e-car users, such as access to charging stations, billing and customer service. EMSPs can be seen as intermediaries between users and CPOs.
- eRoaming hub: An eRoaming Hub is a platform that connects various charging networks and service providers to provide a seamless charging experience for e-car users. Drivers can use charging points from different operators without separate contracts or memberships. The hub takes care of authentication, billing, and data exchange between the parties involved.
- EVSE-ID: An EVSE ID (Electric Vehicle Supply Equipment Identifier) is a unique identifier that is assigned to a specific charging point. It is used to identify individual charging points within a network and to facilitate communication between different systems.
- EVCO ID (Electric Vehicle Contract Identifier): An EVCO ID is a unique identifier that is assigned to a user contract for electric vehicles. It is used to identify the user and their contract details, in particular when authenticating and billing charging processes.
The role of OICP, OCPI, and OCPP
The charging infrastructure for electric vehicles is complex and requires seamless communication between different systems and actors (CPO, EMSP, etc.). This is where the OICP, OCPI, and OCPP protocols come into play. Each of these protocols plays a critical role in ensuring an efficient and hassle-free charging experience.
OCPP (Open Charge Point Protocol)
The Open Charge Point Protocol (OCPP) is the leading protocol for communication between charging points and CPOs' backend systems. It defines required message formats and flows to start, monitor, and end a loading process. The use of OCPP provides a standardized method of communication with charging stations, which makes it easier to integrate and operate them. It enables real-time monitoring and control of the charging process (start, stop, and error handling, etc.) and offers a wide range of applications.
Open Intercharge Protocol (OICP)
The Open Intercharge Protocol (OICP) is an open communication protocol developed by Hubject to facilitate cooperation between charging point operators (CPOs) and e-mobility service providers (EMSPs). It defines standardized interfaces for data exchange. Hubject uses OICP for their market-leading eRoaming platform in Europe. The protocol makes it easier to exchange information such as charging point availability, prices and billing data between different systems.

OCPI (Open Charge Point Interface)
The Open Charge Point Interface (OCPI) is also an open protocol (managed by the eVRoaming Foundation), which is intended to simplify communication between charging point operators and e-mobility service providers. By clearly defining roles and their use cases, it ensures that data such as availability, tariffs and authentication information can be exchanged efficiently and securely. The use of OCPI enables direct communication between CPOs' backend systems and EMSPs without the need for intermediate instances. With OCPI, flexible tariff models and billing information can be exchanged between CPO and EMSP.

What is the difference between OCPI and OICP?
The main difference between the Open Charge Point Interface (OCPI) and the Open Intercharge Protocol (OICP) lies in their scope of use and management. OCPI, managed by the eVRoaming Foundation, promotes direct communication between backend systems of charging point operators (CPOs) and e-mobility service providers (EMSPs) and ensures that data such as availability, tariffs and authentication information is exchanged efficiently and securely. It supports flexible tariff models and enables the direct exchange of billing information without intermediate instances. In contrast, OICP was developed by Hubject to facilitate collaboration between CPOs and EMSPs by defining standardized interfaces for data exchange. OICP is used in particular by Hubject for their market-leading eRoaming platform in Europe and facilitates the exchange of information such as charging point availability, prices and billing data between different systems. In summary: OCPI is primarily used for direct communication between CPOs and EMSPs, while OICP was developed for use by platforms such as Hubject to standardize data exchange in the eRoaming sector.
A charging process via Hubject
What happens when charging in the backend with RFID (Hubject/OICP)?
Imagine Lisa, an e-car driver, arrives at a public charging station and wants to charge her vehicle. It starts charging by holding its RFID card to the charging station. The charging station communicates with the Charge Point Operator (CPO) backend via Open Charge Point Protocol (OCPP) to initiate the charging process.
The CPO backend then sends a request via Open Intercharge Protocol (OICP) to the Hubject roaming platform to authorize the charging process. Hubject reviews the request and, if no clear attribution is possible, sends a request for authorization to all EMSPs who are in contract with the CPO.
Lisa is a customer at an e-mobility service provider (EMSP) who processes the authorization request. The EMSP sends the authorization to start the charging process back to Hubject. If the EMSP responds to Hubject with a successful response, the CPO is notified and Lisa can start the actual loading process.
Loading via app (Hubject)
Another time, Lisa decides to use our mobile app to charge her vehicle. Charging via a mobile app is more complex, as some basic requirements must be met for a good user experience. This includes current information about available charging points, such as the available plugs, the type of plug and the charging capacity. It is crucial that the exact position (latitude, longitude) of each loading location is stored in a format that enables high-performance queries on a specific grid.
In addition, general charging point information should be updated at appropriate intervals, ideally daily, to ensure that users always have the latest information at their fingertips. The availability of charging points, which is decisive for the display as “Available” or “Busy” in the app, should be queried every 5 minutes, as recommended by Hubject. This regular query ensures that users are always up to date and do not have to accept unnecessary waiting times.
This creates a considerable amount of data throughout the day, which must not only be stored but also processed efficiently. This requires a robust backend infrastructure that is able to process and update large amounts of data in real time. This is the only way to ensure a smooth and satisfying user experience that meets the requirements of modern e-mobility.
In order to be able to show the user a price before charging when searching for charging points in the app, it must be possible to derive this price from the data in our backend for all charging points at the charging point. Hubject offers CPOs several, very different pricing models. The simplest is standard pricing, with all EVSEs being assigned the same price (kWh and/or price per minute). There is also dynamic pricing, which allows prices to be within agreed limits every 24 hours. It is therefore important to regularly update and save the prices that we charge to the end user to avoid billing discrepancies and to enable price transparency.
When Lisa has found a suitable charging point in the mobile app, she can initiate the charging process by pressing the “Start charging” button. After checking the necessary authorizations, a request is sent to Hubject to start a load session, which contains data such as the user's EVSE ID, CPO ID, and EVCO ID. In the case of a valid request, Hubject forwards the request via OICP to the CPO backend, which can either confirm or reject it. If the CPO backend authorizes the request, the actual load is started.
After the car has finished loading, Lisa manually ends the charging process in the app, which sends a request to Hubject to stop the session, which is forwarded to the CPO backend. If the CPO can successfully process this request, a so-called CDR (Charge Detail Record) should be issued, which contains information such as the kWh consumed. With this CDR, we as an EMP can now calculate the price that we charge Lisa via her connected credit card.
Next steps
In order to support the public charging sector even better and to integrate CPOs who are not on the Hubject roaming platform, we are planning to fully implement the necessary OCPI functionality. This implementation allows us to integrate a wider range of providers and thus significantly expand the flexibility and reach of our service.