CDRs module

Roam OCPI implementation of OCPI 2.2.1 CDRs module

CDRs module adjustments

DeviationRoam OCPI solution
PULL not supportedOnly PUSH, Plugsurfing will push the CDRs to the EMP
CDR field validationsRelaxed validations, as specified below, to accept locations that are not fully OCPI compliant

CDR field validations

Plugsurfing is a bit more lenient than the OCPI specification for a set of properties when receiving CDRs from CPOs. This means outgoing CDRs from Plugsurfing will also not fully comply with the OCPI specification for these fields.

FieldOCPI specificationPlugsurfing implementation
cdr_location.addressstring(45)string(200)
cdr_location.postal_codestring(10) (optional)string(50) (optional)

CDR push retry logic

If the EMP partner doesn't respond with 200 (and an OCPI success code: 1000), or doesn't respond in time, the request will be retried: the CDR will be resent every night for 7 days.


CDR example

{
  "country_code": "GB",
  "party_id": "EVC",
  "id": "cAmK3kVovbA",
  "start_date_time": "2025-09-22T18:57:12Z",
  "end_date_time": "2025-09-23T00:05:22Z",
  "session_id": "cAmK3kVovbA",
  "cdr_token": {
    "country_code": "DE",
    "party_id": "EMP",
    "uid": "32435435",
    "type": "RFID",
    "contract_id": "DE-EMP-CR2012345-9"
  },
  "auth_method": "AUTH_REQUEST",
  "cdr_location": {
    "id": "el0021a5bf9603f7499e838b5d626712345",
    "name": "Royal Garden",
    "address": "Royal Garden Street 1",
    "city": "London",
    "postal_code": "12345",
    "country": "GBR",
    "coordinates": {
      "latitude": "50.500708",
      "longitude": "1.02942"
    },
    "evse_uid": "ee000a5810f8f1474b49948a8353779ac123",
    "connector_id": "ec00d160596701464df68b78c0fc17297123",
    "connector_standard": "IEC_62196_T2",
    "connector_format": "SOCKET",
    "connector_power_type": "AC_3_PHASE"
  },
  "currency": "GBP",
  "charging_periods": [
    {
      "start_date_time": "2025-09-22T18:57:12Z",
      "dimensions": [
        {
          "type": "ENERGY",
          "volume": 17.268
        }
      ]
    }
  ],
  "total_cost": {
    "excl_vat": 5.61,
    "incl_vat": 6.73
  },
  "total_fixed_cost": {
    "excl_vat": 5.61,
    "incl_vat": 6.73
  },
  "total_energy": 17.268,
  "total_time": 5.136,
  "total_parking_time": 0,
  "credit": false,
  "home_charging_compensation": false,
  "last_updated": "2025-09-23T06:58:22Z"
}