Enforcement Export
Introduction
entervo infinite provides ticketless free-flow parking solutions. It supplies information that enables operators to enforce unpaid exit transactions. The enforcement process itself is carried out by a third-party enforcement agency/application. entervo acts solely as an enforcement data supplier. For this purpose, entervo infinite provides a file export interface, which is described in this document. The document contains:
- General information about the interface
- Explanations of the data contained in the exported files
The interface operates in automated mode: all unpaid customer transactions are collected and exported together in a single cyclic (nightly) export.
With each cyclic export, the following files are exported for each car park:
| / | Enforcement details | Enforcement images |
|---|---|---|
| Enforcement file name | 20251110000000_CP9763070_enfo.zip | 20251110000000_CP9763070_pict.zip |
| Naming convention | YYYYMMDDHHMMSS_CARPARKID_Filetype.zip | YYYYMMDDHHMMSS_CARPARKID_Filetype.zip |
Within the ZIP file the following files are included per car park:
| / | Enforcement details | Enforcement images |
|---|---|---|
| Enforcement file name | ENFO-CP9763070-20251110000000.xml | c5c500c3-8231-41a2-874d-ca8d86fc479b_77adc2e4-b9e0-33b0-a1bf-94201ff94902_2025-21-10T11-20-12.8Z.jpg |
| Naming convention | ENFO-CARPARKID-YYYYMMDDHHMMSS.xml | Sensor ID_BTID_Date/Time stamp |
Enforcement File Interface
The export files are transfered via SFTP push from entervo infinite to the 3rd party enforcement agency/ application.
Supported Product Types
The enforcement interface supports the following type of product:
- Short-term parker
Data Description
Each enforcement record consists of the following information:
- General
- Entry
- Payment
- Exit
Nested areas are not supported!
Structure of XML
The XML is described in the following chapters. The head of the XML file begins with:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
The whole body is enclosed in:
<parkingTransaction>
<transaction>
<generalData>
</generalData>
<entryData>
</entryData>
<paymentData>
</paymentData>
<exitData>
</exitData>
</transaction>
<transaction>
<generalData>
</generalData>
<entryData>
</entryData>
<paymentData>
</paymentData>
<exitData>
</exitData>
</transaction>
</parkingTransaction>
Every single parking transaction is enclosed in a
transactiontag.
General Data
Example Request Body (XML)
<generalData>
<recordExportId>12345</recordExportID>
<exportDate>2025-11-10T00:00:00</exportDate>
<instanceID>CP9763070</instanceID>
<facilityID>FC3439563</facilityID>
<operatorID>premiumparking</operatorID>
<taxID>DE47113265</taxID>
<currency>EUR</currency>
</generalData>
Variables
| Variable | Short description | Format | Possible values | Required |
|---|---|---|---|---|
| recordExportID | Unique export ID per export record | Mandatory | ||
| exportDate | Date/time | ISO 8601 format (e.g. YYYY-MM-DDThh:mm:ss) | Mandatory | |
| instanceID | Configured car park ID | string | e.g. CP9763070 | Mandatory |
| facilityID | Configured facility ID | string | e.g. FC3439563 | Mandatory |
| operatorID | Configured Tenant name | string | e.g. premiumparking | Mandatory |
| taxID | Tax or VAT ID of the operator (if configured in entervo; optional; country-specific) | Optional | ||
| currency | entervo system configured currency (ISO 4217) | string | e.g. EUR, GBP, NOK | Mandatory |
Entry-specific Data
Example Request Body (XML)
<entryData>
<dateTime>2025-10-21T11:20:13</dateTime>
<device>lane-device-bi-directional-entry</device>
<epan>SC_0000000000000002981</epan>
<customerType>PP000075</customerType>
<companyID/>
<participantID/>
<lpnCountryID>DEU</lpnCountryID>
<lpnStateID/>
<lpnRegionID></lpnRegionID>
<lpnType>LICENSEPLATE</lpnType>
<lpnString>VEN2</lpnString>
<lpnStringSep/>
<image1>
<imageData/>
<imageFileName>c5c500c3-8231-41a2-874d-ca8d86fc479b_77adc2e4-b9e0-33b0-a1bf-94201ff94902_2025-21-10T11-20-12.8Z.jpg</imageFileName>
</image1>
<image2/>
<image3/>
<carType/>
<carColour>
<red/>
<green/>
<blue/>
</carColour>
</entryData>
Variables
| Variable | Short description | Format | Possible values | Required |
|---|---|---|---|---|
| dateTime | Date/time | ISO 8601 | e.g. 2018-01-01T12:00:00 | Mandatory |
| device | Configured device name | string | lane-device-bi-directional-entry | Mandatory |
| epan | Unique cart ID | string | e.g. SC_0000000000000002981 | Mandatory |
| customerType | Assigned Product ID | string | e.g. PP000075 | Mandatory |
| companyID | Assigned company ID of registered user | string | e.g. C2024CxUd9H9 | Optional |
| participantID | Assigned consumer ID of registered user | string | e.g. N2024BLlNrz4I | Optional |
| lpnCountryID | Country information provided by the LPR system; format may vary based on chosen LPR vendor | string ISO 3166-1 ALPHA-3 format | e.g. DEU - Germany, NLD - Netherlands | Mandatory |
| lpnStateID | State information in case provided by the LPR system, format may vary based on chosen LPR vendor | string | Samples: Switzerland LPN "BE" (Bern) Austrian LPN "W" (Vienna) | Optional |
| lpnRegionID | Region information in case provided by the LPR system; format may vary based on chosen LPR vendor | string | Optional | |
| lpnType | LPN type information in case provided by the LPR system | string | e.g. DIPLOMATIC, MILITARY, POLICE, etc. | Optional |
| lpnString | Complete LPN string provided by LPR camera; normalized without separator | string | e.g. "MGSB1872" | Mandatory |
| lpnStringSep | LPN string with separators | string | Samples: LPR system provided fpr Germany MG_SB_1872, LPR provided for Switzerland BE_124872 | Optional |
| image1 | Full view image from LPR camera | imageType | Mandatory | |
| image2 | Detailed view of number plate | imageType | Mandatory | |
| image3 | Full view from second camera in case the lane is equipped with two cameras | imageType | Mandatory | |
| imageData | Not supported | string (Base64 decoded) | Optional | |
| imageFileName | File name of license plate image provided | string | e.g. c5c500c3-8231-41a2-874d-ca8d86fc479b_77adc2e4-b9e0-33b0-a1bf-94201ff94902_2025-21-10T11-20-12.8Z.jpg Format: businessTransactionId_sensorId_datetime.jpg | Optional |
| carType | In case 3rd party LPR system provides car type | string | e.g. CAR, BUS, CAR WITH TRAILER, MOTORCYCLE, etc. | Optional |
| carColour | Tag for carColour In case 3rd party provides car colour | Colour Type | Optional | |
| red | Intensity of red colour | integer | 0–255 | Optional |
| green | Intensity of green colour | integer | 0–255 | Optional |
| blue | Intensity of blue colour | integer | 0–255 | Optional |
The content of the "image…" tags can be "(-)". This means that the tag is empty. This is the case if the picture is generated as file or if there is no picture of LPN stored in database.
Payment-specific Data
Example Request Body (XML)
<paymentData>
<paymentCount>0</paymentCount>
<dateTime>1970-01-01T00:00:00</dateTime>
<device>0</device>
<epan>SC_0000000000000002981</epan>
<amountGross>0</amountGross>
<amountNet>0</amountNet>
<vatAmount>0</vatAmount>
<vatAmount2>0</vatAmount2>
<paidTime>1970-01-01T00:00:00</paidTime>
</paymentData>
For each payment a <paymentData>...</paymentData> element is provided.
Variables
| Variable | Short description | Format | Possible values | Required |
|---|---|---|---|---|
| paymentCount | Sequential counter for payment transaction made by a customer; per payment a customer made during his stay one payment specific data block | number | 0-... | Mandatory |
| dateTime | Date/time | dateTime | No payment: 1970-01-01T00:00:00 | Mandatory |
| device | 'location of payment'; Note: customer can do payment via several devices | string | No payment: 0 Payment: Configured device name | Mandatory |
| epan | Unique cart ID | string | e.g. SC_00000000000000002981 | Mandatory |
| amountGross | Amount (gross value) paid by customer | number | Mandatory | |
| amountNet | Amount (net value) paid by customer | number | Mandatory | |
| vatAmount | VAT / TAX amount | number | Mandatory | |
| vatAmount2 | VAT / TAX amount, e.g. second TAX amount for Canada | number | Optional | |
| paidTime | Payment relevant time till when the paid ticket had been encoded to be paid. | dateTime | No payment: 1970-01-01T00:00:00 | Mandatory |
The content of the "image…" tags can be "(-)". This means that the tag is empty. This is the case if the picture is generated as file or if there is no picture of LPN stored in database.
Exit-specific Data
Example Request Body (XML)
<exitData>
<dateTime>2025-11-09T12:34:18</dateTime>
<device>exit-free-flow</device>
<epan>SC_0000000000000002981</epan>
<customerType>PP000075</customerType>
<companyID/>
<participantID/>
<lpnCountryID>DEU</lpnCountryID>
<lpnStateID/>
<lpnRegionID></lpnRegionID>
<lpnType>LICENSEPLATE</lpnType>
<lpnString>VEN2</lpnString>
<lpnStringSep/>
<image1>
<imageData/>
<imageFileName>c5c500c3-8231-41a2-874d-ca8d86fc479b_545eb93a-537d-3135-bc90-e7bd80b7ca50_2025-09-11T12-34-18.8Z.jpg</imageFileName>
</image1>
<image2/>
<image3/>
<amountGross>762</amountGross>
<amountNet>630</amountNet>
<vatAmount>132</vatAmount>
<vatAmount2>0</vatAmount2>
<carType/>
<carColour>
<red/>
<green/>
<blue/>
</carColour>
<nonPaidTimePeriod>1646045</nonPaidTimePeriod>
<commentCode/>
<commentText/>
</exitData>
Variables
| Variable | Short description | Format | Possible values | Required |
|---|---|---|---|---|
| dateTime | Date/time | ISO 8601, e.g. YYYY-MM-DDThh:mm:ss | e.g. 2025-11-09T12:34:18 | Mandatory |
| device | Configured device name | string | exit-free-flow | Mandatory |
| epan | Unique card ID | string | e.g. SC_0000000000000002981 | Mandatory |
| customerType | Assigned Prduct ID | string | e.g. PP000075 | Mandatory |
| companyID | Assigned company ID of registered user | string | e.g. C2024CxUd9H9 | Optional |
| participantID | Assigned consumer ID of registered user | string | e.g. N2024BLlNrz4I | Optional |
| lpnCountryID | Country information provided by the LPR system; Format may vary based on chosen LPR vendor | string ISO 3166-1 ALPHA-3 format | e.g. DEU-Germany, NLD-Netherlands | Mandatory |
| lpnStateID | State information provided by the LPR system; Format may vary based on chosen LPR vendor | string | e.g. Switzerland LPN “BE” (Bern) Austria LPN “W” (Vienna) | Optional |
| lpnRegionID | Region information provided by the LPR system; Format may vary based on chosen LPR vendor | string | Optional | |
| lpnType | LPN type information provided by the LPR system | string | e.g. DIPLOMATIC, MILITARY, POLICE, etc. | Optional |
| lpnString | Complete LPN string provided by LPR camera; normalized without separator | string | e.g. for Germany “MGSB1872” | Mandatory |
| lpnStringSep | In case the LPR system provides a LPN string with separators, first part of LPN string | string | Samples: LPR system provides for Germany “MG_SB_1872” LPR system provides for Switzerland “BE_124872” | Optional |
| image1 | Tag for image 1 Full view image provided by LPR camera | imageType | Mandatory | |
| image2 | Tag for image 2 Detailed view of number plate | imageType | Mandatory | |
| image3 | Tag for image 3 Full view image of second camera in case the lane is equipped with two cameras | imageType | Mandatory | |
| imageData | - Not supported - | string (Base64 decoded) | Optional | |
| imageFileName | File name of license plate image provided | string | e.g. c5c500c3-8231-41a2-874d-ca8d86fc479b_545eb93a-537d-3135-bc90-e7bd80b7ca50_2025-09-11T12-34-18.8Z.jpg Format: businessTransactionId_sensorId_datetime.jpg | Optional |
| amountGross | Amount (gross value) due; Parking fee based on calculation that took place at the exit taking into account previous payment a customer potentially did before; Amount that needs to be enforced | number | Mandatory | |
| amountNet | Amount (net value) due,net amount to be enforced | number | Mandatory | |
| vatAmount | VAT / TAX amount due | number | Mandatory | |
| vatAmount2 | Second TAX amount, e.g. second TAX amount for Canada | number | Optional | |
| carType | In case 3rd party LPR system pprovides car type | string | e.g. CAR, BUS, CAR WITH TRAILER, MOTORCYCLE, etc. | Optional |
| carColour | Tag for carColour In case 3rd party LPR system provides car type | ColourType | Optional | |
| red | Intensity of red colour | integer | 0–255 | Optional |
| green | Intensity of green colour | integer | 0–255 | Optional |
| blue | Intensity of blue colour | integer | 0–255 | Optional |
| nonPaidTimeperiod | Time which had not been paid Remark: GraceTime for non enforced time has to be separately defined in the grace time table in entervo (ID100) For Transacions w/o any Payment calculation rule is: ExitTime-EntryTime-GraceEnforcement For Transactions which have partial payment rule is: ExitTime-PaidTime TIME in seconds | number | Calculation rules apply | Mandatory |
| commentCode | Code for special evaluations and messages between entervo and enforcement | string | Optional | |
| commentText | DefaultText for comment based on code | string | Optional |
The content of the "image…" tags can be "(-)". This means that the tag is empty. This is the case if the picture is generate as file or if there is no pic-ture of LPN stored in database.
Example
XML file "ENFO-CP9763070-20251110000000.xml"
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<parkingTransaction>
<transaction>
<generalData>
<recordExportID>19</recordExportID>
<exportDate>2025-12-08T09:32:35</exportDate>
<instanceID>CP5802558</instanceID>
<facilityID>FC5802558</facilityID>
<operatorID>premiumparking</operatorID>
<taxID/>
<currency>EUR</currency>
</generalData>
<entryData>
<dateTime>2025-10-21T11:20:13</dateTime>
<device>lane-device-bi-directional-entry</device>
<epan>SC_0000000000000002981</epan>
<customerType>PP000075</customerType>
<companyID/>
<participantID/>
<lpnCountryID>DEU</lpnCountryID>
<lpnStateID/>
<lpnRegionID></lpnRegionID>
<lpnType>LICENSEPLATE</lpnType>
<lpnString>VEN2</lpnString>
<lpnStringSep/>
<image1>
<imageData/>
<imageFileName>c5c500c3-8231-41a2-874d-ca8d86fc479b_77adc2e4-b9e0-33b0-a1bf-94201ff94902_2025-21-10T11-20-12.8Z.jpg</imageFileName>
</image1>
<image2/>
<image3/>
<carType/>
<carColour>
<red/>
<green/>
<blue/>
</carColour>
</entryData>
<paymentData>
<paymentCount>0</paymentCount>
<dateTime>1970-01-01T00:00:00</dateTime>
<device>0</device>
<epan>SC_0000000000000002981</epan>
<amountGross>0</amountGross>
<amountNet>0</amountNet>
<vatAmount>0</vatAmount>
<vatAmount2>0</vatAmount2>
<paidTime>1970-01-01T00:00:00</paidTime>
</paymentData>
<exitData>
<dateTime>2025-11-09T12:34:18</dateTime>
<device>exit-free-flow</device>
<epan>SC_0000000000000002981</epan>
<customerType>PP000075</customerType>
<companyID/>
<participantID/>
<lpnCountryID>DEU</lpnCountryID>
<lpnStateID/>
<lpnRegionID></lpnRegionID>
<lpnType>LICENSEPLATE</lpnType>
<lpnString>VEN2</lpnString>
<lpnStringSep/>
<image1>
<imageData/>
<imageFileName>c5c500c3-8231-41a2-874d-ca8d86fc479b_545eb93a-537d-3135-bc90-e7bd80b7ca50_2025-09-11T12-34-18.8Z.jpg</imageFileName>
</image1>
<image2/>
<image3/>
<amountGross>762</amountGross>
<amountNet>630</amountNet>
<vatAmount>132</vatAmount>
<vatAmount2>0</vatAmount2>
<carType/>
<carColour>
<red/>
<green/>
<blue/>
</carColour>
<nonPaidTimePeriod>1646045</nonPaidTimePeriod>
<commentCode/>
<commentText/>
</exitData>
</transaction>
</parkingTransaction>