Application
Java / Spring Boot microservices and Node.js services for ATM driving, the NDC codec and the switch — containerised, on RHEL or Ubuntu LTS.
Gen ATM / Platform
Gen ATM NGK 2.0 is the layer between your terminals and everything else: it speaks NDC to the machine, REST and ISO 8583 to the platform, and configuration to the people who run the estate.
7.1 · Functional specification
| Capability | Specification |
|---|---|
| ATM driving | NDC-based driving with state-machine execution, configurable English and Arabic screen flows, supervisor operations, parameter and configuration download. |
| ATM Service | Handles ON-US continuation to CARD PRIME D 3.0; forwards OFF-US outgoing authorizations directly to T-NET; consults the CMS laterally for cardholder data, status and controls. |
| Estate management | Terminal master data, grouping by region and branch, in and out-of-service control, software and configuration distribution. |
| Device & cash monitoring | XFS-level status per device; per-cassette currency, denomination and thresholds for withdrawal, depositor and recycler units. |
| Electronic journal | EJ synchronisation, central text and card search, retention policy, replenishment recognition. |
| Alerts, SLA & reports | Threshold and event rules with severity, routing and escalation; availability excluding planned maintenance; scheduled report pack. |
Estate
Everything the console does — grouping, distribution, thresholds, screen flows, currency — hangs off terminal master data. Get that right and the rest is configuration.
Currency
The base currency is the Yemeni Rial, with SAR and USD supported across the platform. Dispense is different: each terminal is provisioned with exactly one currency, and mixed-currency dispense from a single ATM is disabled by design rather than by policy.
| Item | Profile |
|---|---|
| Base currency | USD — Yemeni Rial |
| Multi-currency | USD, SAR, USD |
| ATM dispense model | One provisioned dispense currency per ATM. A single ATM dispensing multiple currencies is strictly disabled. |
| FX | Applied on OFF-US outgoing per scheme or network rates; core banking posting converted per bank policy. |
| Languages | English and Arabic on ATM screens, KIOSK, back office and notifications. |
4.3 · Technology baseline
Java / Spring Boot microservices and Node.js services for ATM driving, the NDC codec and the switch — containerised, on RHEL or Ubuntu LTS.
PostgreSQL 16 by default, Oracle 19c supported. Separate schemas for card, customer and access, transactions and switching, terminal management and audit.
Kafka carries terminal status, events and monitoring. Redis holds sessions and fast-cache lookups on the authorization path.
REST over HTTPS with OpenAPI, and ISO 8583. The API reference and data dictionary are issued as companion volumes.
Next step
Send us your terminal mix, cassette configuration and per-ATM currency plan. We will come back with a driving and monitoring design, a sizing note and a delivery schedule.