Designed to connect with the services BPTC’s scope names. Providers marked “e.g.” are examples — selection follows BPTC procurement.

BPTC platform connects to 8 external services (SOW Sections 10 and 13): Payment gateway (BENEFIT), Acquiring bank, Licensed payment provider, SMS aggregator & push, Mobile device management, Timetable (GTFS), Journey planners, Maps & navigation provider. Not connected: Existing fare collection and Existing vehicle location.
Purchase, top-up, refunds and settlement files
Certified card-tap component · settlement reporting
Funds-holding structure (PAY-06)
Two-way. Stored-value funds held and settled through a licensed payment provider structure (PAY-06). The licensed provider structure is subject to BPTC’s legal confirmation.One-time passwords, receipts and alerts
Enrolment, kiosk mode, attestation, remote wipe
Import from BPTC's published timetable
Real-time feed, where BPTC chooses to publish
Driver navigation with offline map data
Any limited data exchange with these systems, such as for reporting or reconciliation, would be specified by BPTC (§1).
Examples for illustration; provider selection is pending and subject to BPTC procurement. No commercial relationship is implied. Integrations per SOW Sections 10 (PAY-06) and 13; existing fare collection and vehicle location systems need no integration.
Four layers, one source of truth. Channels reach the core only through the edge; data services stay private.
Passengers and staff come in through a WAF-protected edge, validators through mutual TLS per device. Behind it, fifteen backend services and fraud detection share an append-only ledger in PostgreSQL, standard messaging, a reporting replica and hardware-backed keys.
Arrow keys move between services. Enter, Space, a click or a tap pins a service and shows its details; Escape clears it.
Tap a service for its details and the services it talks to.
Apps and portals (§2)
WAF, DDoS, mutual TLS, versioned APIs (SEC-03, SEC-04, BE-16)
Backend services BE-01 – BE-15 and fraud detection (§5, §6)
PostgreSQL, messaging, reporting replica, HSM, logging (NFR-09, SEC-01/02/09/10)
Services map to SOW Section 5 (BE-01 – BE-16) and Section 6 (fraud detection, which never makes a boarding or payment decision on its own). Hosting per NFR-07 – NFR-09.
Follow a tap, a top-up or a timetable through every service it touches.
Pick a flow and watch its path light up step by step. Each step names the requirement it meets, and the ledger postings are the ones the prototype's back office shows.
A passenger adds BHD 5.000 to the wallet. Card details stay with the gateway; the wallet is credited only when the gateway confirms server to server.
Top-up via the payment gateway
01 / 09The app sends the amount with an idempotency key, so a retry can never charge or credit twice.
Outcome: Balance credited exactly once, receipt sent, and a fresh signed balance credential on the phone.
Top up in the passenger appFare collection never stops because of a connectivity failure.
Validators decide against cached keys, lists and BPTC's offline policy, keep working for at least 72 hours without connectivity with no transaction loss, and reconcile each queued event exactly once when signal returns.
- Live event
- Decision
- Queued (encrypted)
- Fraud check
- 01OnlineOnline
- 02OfflineValidator offline
- 03Signal backSignal returns
Simulated. Stored value is deducted offline against a signed balance credential, within a per-account offline spending limit (prototype default BHD 1.500, configurable under OFF-01). Bank card taps need signal: the bank authorises each tap.
Required behaviour in each condition
SOW §7- Passenger offline, validator online
Full online validation. Passenger data is never required at boarding.
Online - Validator offline
Validate against cached keys, lists and the approved offline policy; queue events encrypted on the device; reconcile on reconnection.
Offline mode - Stored-value deduction offline
Deduct against a signed balance credential, within a configurable per-account offline spending limit; any resulting shortfall recovered at the next top-up, subject to BPTC policy.
Offline mode - Single trips offline
Accepted only within policy limits, and checked against the cached consumed single-trip list.
Offline mode - Bank card tap without signal
Not available, as the bank authorises each tap. QR, NFC wallet and cash remain available.
Not available - Backend unavailable
Validators continue in offline mode; queued events reconcile once service is restored.
Offline mode - Counter and admin portals
Online only.
Online only
Offline requirements
OFF-01 – OFF-04- OFF-01
Offline duration, permitted products and spending limits configurable by BPTC.
Prototype default: 72 h offlineBHD 1.500 spending limit - OFF-02at least72h
Validators tolerate at least 72 hours without connectivity with no transaction loss.
- OFF-03
Validators synchronise opportunistically whenever signal is available, not only at the depot.
- OFF-04
Alerting when a validator has been offline beyond a configurable threshold.
Hosted in Azure UAE North, recoverable from Europe and secured end to end.
Infrastructure as code for development, test and production. Containers, PostgreSQL and standard messaging keep the core portable; keys stay in hardware; every validator has its own mutual-TLS identity; and an independent third-party penetration test runs before go-live and annually.
Encrypted, immutable backup copies replicate from Azure UAE North, the primary region, to the recovery region, Azure region in Europe.
Azure UAE North
Primary regionSubject to BPTC's data residency confirmation.
NFR-07Azure region in Europe
Recovery regionRecovery copies and immutable backups outside the Gulf, with agreed RPO and RTO.
NFR-07SEC-10Recovery objectives
RPO data that could be lost; RTO time to restore service.
The SOW specifies Microsoft Azure, with UAE North as the primary region subject to BPTC’s data residency confirmation, and recovery copies in Europe (NFR-07, SEC-10). Service and product names marked “e.g.” are examples for illustration; selection is pending and subject to BPTC procurement. No commercial relationship is implied.
Thirteen security controls, each traceable to SEC-01 – SEC-13.
SOW Section 11 · every control is a Must
Data & keys
- SEC-01
TLS 1.2+ in transit; encryption at rest with customer-managed keys
- SEC-02
Credential signing keys in hardware-backed storage, rotated on a schedule
Devices & apps
- SEC-03
Mutual TLS for each validator, individually revocable
- SEC-06
App hardening, tamper and root/jailbreak detection, certificate pinning
- SEC-07
MDM with kiosk lockdown, remote wipe and attestation
Access & privacy
- SEC-05
Role-based access, MFA and managed identities; no shared or embedded credentials
- SEC-12
Bahrain Personal Data Protection Law: minimisation, retention, data subject rights
- SEC-13
No developer access to production data
Platform & resilience
- SEC-04
Private endpoints for data services; WAF; DDoS protection appropriate to a single-region workload
- SEC-09
Centralised logging and security monitoring, with detection rules for Section 6 cases
- SEC-10
Immutable backups and a recovery region outside the Gulf, with agreed RPO and RTO
Assurance
- SEC-08
Threat modelling, static and dynamic testing, dependency and container scanning, SBOM, signed builds
- SEC-11
Independent third-party penetration test before go-live and annually
Acceptance targets
SOW §12§7- NFR-01
<0.5s
Median QR recognition on the reference device in daylight (99% within 1.0 s)
- NFR-02
<0.5s
Median NFC wallet tap decision
- NFR-03
<1.5s
Online validation, end to end (p95)
- NFR-04
99.9%
Monthly availability of validation and purchase
- NFR-05
50,000
Boardings a day on 100 vehicles, with ≥ 3× peak headroom
- NFR-06
2.1AA
WCAG accessibility for apps and portals
- OFF-02
72h
Validator operation without connectivity, no loss
Built alongside what already works. Cash and GO Card continue unchanged.
BPTC's scope leaves these out. The platform runs alongside the existing fare collection and vehicle location systems, from the pilot on 5 to 10 buses through fleet rollout.
Replacement of, or integration with, BPTC's existing fare collection and vehicle location systems
Out of scopeEngine or vehicle telematics, and driver behaviour scoring
Out of scopePassenger information displays at bus stops
Out of scopeOpen-loop account-based bank card ticketing with fare capping
Bank card tap is for single trips only (DV-05).
Out of scopeStorage, processing or transmission of card data by BPTC systems
Cards stay with the gateway and the certified component (PAY-02, PAY-05).
Out of scopeReading existing GO Cards on the validator
Unless addressed as a clarification under Section 16.
Out of scope
From SOW Section 2.1. Any limited data exchange with existing systems, for example for reporting or reconciliation, would be specified by BPTC (Section 1).