Billing & System Integrations
MTM-TRAJECTCONTROLE is engineered with a modular integration engine that bridges with external economy frameworks, banking systems, invoice scripts, and police dispatch networks.
1. Automated Fine Billing & Banking Systems
Section titled “1. Automated Fine Billing & Banking Systems”When a vehicle commits a speeding violation (either through average section speed or an instant gate radar), the system calculates the penalty according to configured fine brackets and dispatches the citation.
Supported Billing & Banking Frameworks
Section titled “Supported Billing & Banking Frameworks”| System | Mode | Key Feature |
|---|---|---|
| Direct Bank Deduction | Direct | Automatically withdraws fine from player bank account via ESX, QBCore, Qbox, or Renewed-Banking. |
okokBilling |
Invoice | Dispatches a formal invoice with reference code into the okokBilling player menu. |
esx_billing |
Invoice | Sends an official unpaid invoice to the player’s ESX billing menu. |
Renewed-Banking |
Direct | Deducts fine balance and logs an itemized transaction statement. |
pefcl |
Direct / Invoice | Dispatches fine notification directly into the PEFCL banking application. |
qb-phone |
Invoice | Sends invoice notification directly to the QB-Core phone invoices app. |
qs-smartphone |
Invoice | Integrates with Quasar Smartphone banking and invoice applications. |
lb-phone |
Invoice | Sends push notifications and invoices directly to LB-Phone. |
codem-billing |
Invoice | Dispatches structured invoice tickets into the Codem billing interface. |
Configuration Modes
Section titled “Configuration Modes”In config.lua, configure your preferred billing behavior:
Config.Billing = { Enabled = true, -- Modes: "direct_bank" (charges bank directly) or "invoice" (creates unpaid bill) Mode = "direct_bank", -- System: "auto", "okokBilling", "esx_billing", "qb-phone", "qs-smartphone", "lb-phone", "Renewed-Banking", "pefcl" System = "auto", -- Society account to receive fine revenues (e.g. police or government fund) SocietyAccount = "society_police", AuthorName = "Centraal Justitieel Incassobureau (CJIB)"}2. Legal Correction & Fine Calculation
Section titled “2. Legal Correction & Fine Calculation”To reflect realistic European traffic enforcement standards, MTM-TRAJECTCONTROLE applies a statutory legal correction margin (Config.LegalCorrection = 3.0 km/h) before calculating fines.
Default Fine Brackets (CJIB Standard)
Section titled “Default Fine Brackets (CJIB Standard)”Fines scale progressively based on the net overspeed (measured speed minus legal correction minus speed limit):
| Net Overspeed | Base Fine (EUR / USD) |
|---|---|
| 1 - 10 km/h | 65 |
| 11 - 15 km/h | 140 |
| 16 - 20 km/h | 210 |
| 21 - 25 km/h | 290 |
| 26 - 30 km/h | 380 |
| 31 - 35 km/h | 490 |
| 36+ km/h | Scales automatically per km/h over limit |
3. MTM-ANPR Surveillance Forwarding
Section titled “3. MTM-ANPR Surveillance Forwarding”MTM-TRAJECTCONTROLE connects directly with the MTM-ANPR law enforcement ecosystem:
- Speeding Violation Forwarding (
Config.SendToANPR = true): When a vehicle commits a speeding infraction, the telemetry is forwarded to MTM-ANPR, logging the record into the vehicle’s dossier for police investigation. - Off-Road Evasion Detection (
Config.AlertPoliceOnEvasion = true): If a speeding vehicle passes the entry portal but leaves the highway via an unmonitored off-ramp, the evasion watchdog marks the vehicle and alerts on-duty officers.
4. MTM-PADUI Tablet Integration
Section titled “4. MTM-PADUI Tablet Integration”MTM-TRAJECTCONTROLE automatically registers itself into the MTM-PADUI tablet system:
- When an officer opens their in-game iPad / tablet, the Section Control icon appears on the home screen.
- Officers can inspect live corridors, monitor active highway speeds, and adjust enforcement toggles directly from their tactical device.
5. Developer Exports Reference
Section titled “5. Developer Exports Reference”Client-Side Exports
Section titled “Client-Side Exports”-- Open, close or toggle tablet mapexports['MTM-TRAJECTCONTROLE']:OpenMap()exports['MTM-TRAJECTCONTROLE']:CloseMap()exports['MTM-TRAJECTCONTROLE']:ToggleMap()local isOpen = exports['MTM-TRAJECTCONTROLE']:IsOpen()
-- Get configured speed unit ("kmh" or "mph")local unit = exports['MTM-TRAJECTCONTROLE']:GetSpeedUnit()
-- Get list of all registered corridorslocal corridors = exports['MTM-TRAJECTCONTROLE']:GetAllTrajecten()
-- Open the 3D in-game creator programmaticallyexports['MTM-TRAJECTCONTROLE']:StartCreator()Server-Side Exports
Section titled “Server-Side Exports”-- Query the effective speed limit for a section (matrix or default)local limit, isMatrix = exports['MTM-TRAJECTCONTROLE']:GetEffectiveSpeedLimit("LSF_NOORD")
-- Get table of all active vehicle passages currently inside sectionslocal activeVehicles = exports['MTM-TRAJECTCONTROLE']:GetActivePassages()
-- Manually issue a fine or invoice through the billing pipelinelocal success, amount, refCode = exports['MTM-TRAJECTCONTROLE']:IssueFine( src, plate, speed, limit, overspeed, violationType, traject)
-- Calculate fine amount based on configured CJIB bracketslocal amount = exports['MTM-TRAJECTCONTROLE']:CalculateFineAmount(overspeed)
-- Detect currently active billing frameworklocal systemName = exports['MTM-TRAJECTCONTROLE']:DetectActiveBillingSystem()