Skip to main content

Proxima

An AFC (automated fare collection) platform for public transport: fare and access rule engines, products and tariffs, customers and media, device fleet configuration and software distribution, transaction ingestion and settlement.

4 of 19 active components are documented so far. All 22 are listed below, including the legacy and dead ones worth recognising — the traps are the point. The repository holds 307 project files, of which 257 are first-party; see the inventory for a mechanical verdict on each, or how to tell them apart by hand.

How it fits together

Three IIS tiers plus a set of Windows services, all against one SQL Server. Every service finds its configuration by walking up the directory tree to a single Proxima.config.json.

Components

Filtered to active by default. Switch to dead to see the traps — projects that look central and are not.

19 of 22 components

activenet8.0

Proxima.Ext.Service

Service/Proxima.Ext.Service

Customer-facing External API. 21 controllers. Where refresh-token authentication landed. The most actively developed service in the repo.

Kind
HTTP API
Served at
/services/external/
Used by
App/WebshopAngularNew, inspection devices, POS
Ships as
Proxima_External_Service
Read the docs →
activenet8.0

Proxima.Web.Service

Service/Proxima.Web.Service

Main back-office API and the largest surface in the system: 67 controllers over devices, products, fare/access/price rules, customers, media, publication, reporting.

Kind
HTTP API
Served at
/services/web/
Used by
App/ProximaAngularWeb
Ships as
Proxima_Web_Service
Read the docs →
activenet48

Proxima.ActionList.Service

Service/Proxima.ActionList.Service

Device command queue. The ONLY live .NET Framework 4.8 web service — classic ASP.NET Web API with Global.asax and Unity DI. Proof that the V1 retirement is incomplete.

Kind
HTTP API
Served at
/services/afc/ActionList
Used by
device fleet
Ships as
Proxima_Actionlist_Service
Not documented yet
activenet8.0

Proxima.ExternalPayment.ServiceV2

Service/Proxima.ExternalPayment.ServiceV2

Payment-provider integration API. Thin — the logic sits in the provider-specific Business projects: LittlePay, EuPlatesc, Hubtel, PSP, Bytemark.

Kind
HTTP API
Served at
/services/afc/ExternalPayment
Used by
Proxima.Ext.Service, Proxima.FO.Service
Ships as
Proxima_ExternalPayment_Service
Not documented yet
activenet8.0

Proxima.ExtMonitoring.Service

Service/Proxima.ExtMonitoring.Service

External monitoring API exposing device and system health. Two publish profiles disagree on its target folder.

Kind
HTTP API
Served at
/services/webshop or /ExtMonitoring
Used by
monitoring / Zabbix
Ships as
Proxima_ExtMonitoring_Service
Not documented yet
activenet8.0

Proxima.FO.Service

Service/Proxima.FO.Service

Front-office API that on-vehicle validators, POS and inspection devices talk to. Registers 9 DbContexts and also fans out to six AgentV2 HTTP clients. Hosts SignalR.

Kind
HTTP API
Served at
/services/afc/frontoffice/
Used by
validators, POS, inspection devices, App/ProximaAngularWeb (SignalR)
Ships as
Proxima_FrontOffice_Service
Not documented yet
activenet8.0

Proxima.Replicator.ServiceV2

Service/Proxima.Replicator.ServiceV2

Pushes reference data down to the device fleet — one controller per replicated artifact: dataset, denylist, acceptance list, binlist, CD settings, assets, software, GTFS, monitoring.

Kind
HTTP API
Served at
/services/afc/replicator/ (own IIS tier)
Used by
device fleet
Ships as
Proxima_Replicator_Service
Not documented yet
activenet8.0

Proxima.TrxStorage.ServiceV2

Service/Proxima.TrxStorage.ServiceV2

Transaction storage and ingest API. Receives transaction records from devices and from other services.

Kind
HTTP API
Served at
/services/afc/TrxStorageService/
Used by
Proxima.Web.Service, devices
Ships as
Proxima_TrxStorage_Service
Not documented yet
activenet8.0

Proxima.DaylightSavingsTime.ServiceV2

Service/Proxima.DaylightSavingsTime.ServiceV2

Windows service refreshing timezone and DST data from timeapi.io every 12 hours so devices apply correct local time.

Kind
Windows service
Not documented yet
activenet8.0

Proxima.FileCopy.Service

Service/Proxima.FileCopy.Service

Windows service moving uploaded dataset and software archives between staging folders. Current generation despite having no V2 suffix.

Kind
Windows service
Not documented yet
activenet8.0

Proxima.GTFS.ServiceV2

Service/Proxima.GTFS.ServiceV2

Windows service that polls and ingests GTFS and GTFS-Realtime transit feeds on a timer.

Kind
Windows service
Not documented yet
activenet8.0

Proxima.Trx.ServiceV2

Service/Proxima.Trx.ServiceV2

Windows service 'Proxima Trx Service'. Zero controllers — a file-drop batch processor for transaction files and monitoring events. If you want a Trx HTTP API you want TrxStorage.ServiceV2.

Kind
Windows service
Not documented yet
activeAngular 19 / PrimeNG / Leaflet

ProximaAngularWeb

App/ProximaAngularWeb

Back office / TMS: network modelling, products and fares, the rule engine, publication and distribution to the fleet, live monitoring, reporting, user administration, and operator tools for issuing tickets. Served under base href /tms/.

Kind
Frontend
Served at
/tms/
Ships as
Proxima_Angular_Web
Read the docs →
activeAngular 19 / Ionic / Capacitor

WebshopAngularNew (ProxyMobi)

App/WebshopAngularNew

Customer web shop and iOS/Android app from one codebase, one live project config (ppt) in -projects/, with operators selected at runtime. Buy tickets, top up, show QR codes, link cards, plan trips.

Kind
Frontend
Ships as
ships to app stores via Fastlane, not the MSBuild release
Read the docs →
activeWordPress

prodataWordpressLandingPage

App/prodataWordpressLandingPage

Public marketing site. WordPress core plus 17 plugins committed wholesale; the only first-party code is the ppt-landing theme.

Kind
Frontend
Not documented yet
activeASP.NET MVC 5 / net48

ReportsViewer

UI/ReportsViewer

Host for SSRS reports. Deployed as the ReportingUI IIS app — but its solution is commented out of the build script, so someone must build it by hand first.

Kind
Frontend
Served at
/reporting/
Ships as
Proxima_Reporting_Web
Not documented yet
activeSQL Server + RoundHouse

Proxima.Afc.Db

Storage/RoundHouse/Proxima/Proxima.Afc.Db

The main database. Migrations live under Scripts/Up/TMSMilestoneNN and are applied by RoundHouse during install. Connection string name: ProximaDb.

Kind
Database
Used by
every service
Not documented yet
activeSQL Server + RoundHouse

Proxima.Afc.Logging.Db

Storage/RoundHouse/Proxima/Proxima.Afc.Logging.Db

Logging database. Note its migration folder is lower-case 'up' while the other two use 'Up'.

Kind
Database
Not documented yet
activeSQL Server + RoundHouse

Proxima.Afc.Reporting.Db

Storage/RoundHouse/Proxima/Proxima.Afc.Reporting.Db

Reporting database behind SSRS and the reporting endpoints. Connection string name: ProximaReportingDb.

Kind
Database
Used by
Proxima.Web.Service, SSRS
Not documented yet

Start here