Ocean - Release notes 1.222.4

New Features

New Feature: Pay Now for Monthly Post Paid Users (available on native apps)
We’re excited to introduce the new »Pay Now« feature for your Monthly Post Paid users. This feature allows users to conveniently pay their invoices directly from the app. Here’s what you need to know:

  • Integrated Payment: Users can now pay for their charging sessions performed in the last month using the integrated Payment Service Provider (PSP) functionality. Payment uses the deposit funds functionality, which was previously used for top-up contract types.

  • Invoice Generation: At the end of each month, an Ocean-auto-generated invoice will be issued to EV drivers for all of their charging sessions performed in the past month. This invoice can be paid by the EV driver using the Pay Now functionality in the native app.

  • Notifications: Users will be notified both in-app push notifications and via email about the new invoice. Additionally in the app, an exclamation point will be displayed in the menu to draw attention to the unpaid invoice.

  • Payment Status: Unpaid invoices will be marked with the status “Not Paid”. Users can easily settle these invoices by clicking on the “Pay Now” button.

  • Additional options for you:

    • Several partners wanted to introduce Post Payment option to enable EV drivers to pay their invoices from the app;

    • By consolidating multiple credit card transactions into a single monthly payment, you’re reducing PSP fees. This means cost savings for you, and potentially for your EV drivers too.

    • Simplified User Experience: by reducing the frequency of payments to just once a month, you’re simplifying the payment & charging process. This means less time spent on managing payments and more time for our EV drivers to enjoy their charging journey.

    • Charging for Apartment buildings is often desired to be offered on Post-paid basis


  • Previously Pay Now functionality was limited to only several payment providers and is now available for all payment providers integrated with the Ocean. Meaning that the functionality can also be utilized by your adhoc user.


  • Operator Portal - Roaming - OCPI 2.2 CPO role: Integration with Deftpower EMSP customers is now available for all partners. Deftpower EMSP is one of the freshest new EMSP system providers on the market & we have completed interoperability OCPI 2.2. tests with them to enable our CPO partner's infrastructure to connect with Deftpower EMSP customers enabling charging of their EV drivers on your Ocean CPO infrastructure. OC-9048

  • UrchinAPI - Urchin API for adding/removing locations from the tariff's conditions was created. Two new APIs were added:

    • POST [Route("api/{version}/billing/tariffs/{tariffId}/conditions/location/{locationId}")]

    • DELETE [Route("api/{version}/billing/tariffs/{tariffId}/conditions/location/{locationId}")]

  • OC-9126 - Urchin API - New group of UrchinAPIs were developed that allow operators to manage contract types in the similar wave you are able to do this via Ocean UI. Newly created APIs are in the list below:

    • GET: api/{version}/crm/user-contract-types

    • GET: api/{version}/crm/user-contract-type/id

    • POST: api/{version}/crm/user-contract-type

    • PUT: api/{version}/crm/user-contract-type/id

    • DELETE: api/{version}/crm/user-contract-type/id

    • PUT: api/{version}/crm/user-contract-type/{userContractTypeId}/invoicing/invoicingId

    • GET: api/{version}/crm/user-contract-type/{userContractTypeId}/fixed-monthly-costs

    • POST: api/{version}/crm/user-contract-type/{userContractTypeId}/fixed-monthly-costs

    • PUT: api/{version}/crm/user-contract-type/{userContractTypeId}/fixed-monthly-costs

    • DELETE: api/{version}/crm/user-contract-type/{userContractTypeId}/fixed-monthly-costs/fixedMonthlyCostsId


  • OC-6704 - Operator portal - Billing and payment - Tariffs - "Manually update prices" to process tariffs defined in the future. Before this release when the operator pressed Manually update prices only prices that were already valid became active on the charging station. Now operator will be able to press "Manually update prices" as soon as the price is set even if it is not valid yet. It will automatically become active once the validity time is reached.

  • OC-6758 - Operator portal - CRM - Users: The operator now has ability to search for users based on their telephone/GSM number using the "Phone number" filter

  • OC-9123 UrchinAPI - Urchin API GetTariffs (GET [Route("api/{version}/billing/detailed-tariffs")]) now includes detailed information on each tariff

  • OC-9128 - MQ - MQ includes asset status changes in existing routes: location.inserted, location.updated, chargepoint.inserted and chargepoint.updated

    • Send MQ message when the Location changes its asset status. It is also sent when a new Location is created for the initial status.

    • Send MQ message when the Charge point changes its asset status. It is also sent when a new Charge point is created for the initial status.

  • OC-9181 - MQ - Extend MQ object ChargingSession by new property ChargingSessionStopReasonId

  • OC-9215 - MQ - Added MQ message for changes to User and Payer data. MQ message is sent whenever user/payer changes its data including when user/payer is created and deleted.

  • OC-9372 - Operator portal - Support - Firmware versions - Added Search/Filter feature

  • OC-9351 - Operator portal - Date picker: Improvement in the date picker throughout the Ocean

  • OC-9408 - Operator portal - CRM - Users - Contract: Added the ability for EMP to authorize users who don't have a payer and a contract assigned. This functionality is useful for EMSPs that are using external EMP systems. There will be no need in the Ocean anymore for users to have a payer and contract to start the session.

  • OC-9436 - UrchinAPI - New Urchin api was created that allows moving a charger to another location. POST {{URL}}/api/v1.0/assets/charging-stations/{{ChargePointId}}/change-location/{{Locationid}}

Fixed Bugs

  • OC-6276 - Operator portal - Roaming - Setting: Upload certificate to roaming connection does not work

  • OC-6377 - SubCPO portal - Support module menu is always expanded

  • OC-7084 - Driver portal - Payment - My Payment Cards - Can not remove the expired card

  • OC-7769 - Operator portal - Settings - Email templates - When a new internal comment is posted into the 2nd level support task, the operator with a template for this event doesn't receive an email

  • OC-9144 - Operator portal - CRM - Identifications: Issue where RFID is doubled when API for adding RFIDs to the system is called multiple times in the span of a few ms. This was fixed by adding a rate limit, which allows one request per second.

  • OC-9159 - Operator and Fleet portal - Group invoice functionality was not working properly when the Payer/Fleet operator had users with different contract types

  • OC-9182 - Driver portal - Limits applied before the session don't stop the active session for subscribers type users

  • OC-9187 - Operator portal - Authorization: End of working time approaching error is triggered wrongly. The system is checking UTC time instead of local time

  • OC-9206 - UrchinAPI - GET user list:"showBlocked" field doesn't work on the User List endpoint

  • OC-9245 - Operator portal - CRM - User - Contract: Discount limits table is badly formatted

  • OC-9251 - Operator portal - Settings - Translations: When searching for a translation by a keyword that doesn`t exist wrong error is displayed

  • OC-9269 - Operator portal - Roaming module - Hubject 2.3: Unsuccessful authorization, but the session was still started. Resulting in failed CDRs

  • OC-9275 - Operator Portal - Billing and payment - Purchase: The user was charged twice for one session due to a communication problem between Ocean and the payment provider (Eservice).

  • OC-9374 - Operator portal - Security - Security logs: Operators with role BO Accountant have their password exposed to Operator Admins in the Security logs

  • OC-9478 - Operator portal - Roaming - OCPI 2.2: CDR module incorrectly implemented cdr_token object.

  • OC-9493 - Operator portal - CRM - Contract: Disable adding discounts in the past date

  • OC-9532 - Operator portal - Charging sessions table: Unable to select date/time in filters