The customer journey

Who owns which screen

Both applications draw on the same screen, so from the customer's side this is one continuous
journey. From yours it is a handover: your FCS app owns ten of the twelve screens. The
payment app comes forward twice, for the card and the result, and is otherwise not visible.

ScreenOwner
Language selectionFCS app
Amount selection — presets, other, full tankFCS app
Numeric keypad and amount validationFCS app
Present card, showing the amountPayment app
Authorisation result and receipt choicePayment app
Lift nozzle to start, with countdownFCS app
Fuelling in progressFCS app
Capture result — the amount actually deliveredFCS app
Void resultFCS app
Decline resultFCS app

So the build is mostly your app. The payment app already provides the two screens in bold, and
you neither draw them nor style them — they appear when you hand over and disappear when it
hands back.

The screens in order

Diagrams for each screen are in docs/afd-screens/en/ and docs/afd-screens/ar/ as SVG,
same filenames in both, numbered in flow order and ready to upload. 00-flow.svg is the
branch above as a diagram.

The Arabic carries the SAMA framework's audited wording verbatim; the interface labels around it
were written for this document and want a native reviewer before they face a customer.

They are greyscale wireframes, and that is not a shortcut. The screens they describe
belong to a customer, and the palette and visual design are theirs; what is generic - and
what a specification is actually for - is the content of each screen, the controls on it,
and the order they come in. Hierarchy is carried by weight, size and border rather than
colour, and outcomes are distinguished by glyph rather than green or red, so they also
survive being printed in black and white.

Generic copy, taken from a working implementation. Wording that is audited is marked; the rest
is one vendor's realisation and can be adapted.

1 — Language. Two buttons, Arabic and English, each in its own language. Everything after

01-language FCS app English Arabic SELF SERVICESelect language عربي ENGLISHEach option in its own language. FCS app الخدمة الذاتيةاختر اللغة عربي ENGLISHكل خيار مكتوب بلغته. FCS app

this point is in the language chosen.

**2 — Amount. This is the only branch in the journey, and it decides two things at once:

02-amount FCS app English Arabic < BACKSELECT AMOUNTChoose how much to fill: 10 50 100 OTHER FULL TANKThree paths lead out of this screen.Only OTHER shows another screen first. FCS app رجوعاختر قيمة التعبئةاختر قيمة التعبئة التي ترغب بها: 10 50 100 مبلغ آخر كامل الخزانثلاثة مسارات تخرج من هذه الشاشة.خيار «مبلغ آخر» وحده يعرض شاشة إضافية. FCS app

what the customer sees next, and what the payment app is asked to hold.**

Where the amount comes fromAmount screenFULL TANKSAR 30010 / 50 / 100the presetOTHERPayment app opensKeypad screenthe typed amountOnly OTHER inserts a screen. The other two open the payment app immediately.
ChosenNext screenAmount authorised
Full tankNone - the payment app opens immediatelySAR 300
A presetNone - the payment app opens immediatelyThe preset
Other amountThe keypad, screen 3Whatever was entered

Two of the three paths have no intermediate screen at all. Only Other amount inserts one,
and its only job is to settle the figure before anything is authorised.

Select the amount in (SAR) to fill:

  [  10  ]  [  50  ]
  [ 100  ]  [ OTHER AMOUNT ]

  [        FULL TANK        ]

Full tank is visually distinct from the presets — it is the option that maps to the SAR 300
ceiling rather than to a figure the customer chose.

3 — Other amount. A numeric keypad with DEL, CANCEL and OK, the running value shown

03-other-amount FCS app English Arabic < BACKEnter amount:75.00 1 2 3 4 5 6 7 8 9 0 . OK DEL CANCELShown only when OTHER is chosen.Amounts above 300 SAR are refused here, before the hold. FCS app - OTHER AMOUNT branch only رجوعأدخل المبلغ:75.00 1 2 3 4 5 6 7 8 9 0 . موافق حذف إلغاءتظهر عند اختيار «مبلغ آخر» فقط.المبالغ فوق ٣٠٠ ريال تُرفض هنا قبل الحجز. FCS app - OTHER AMOUNT branch only

large. Over the limit, a dialog rather than a silent rejection:

Please enter an amount below 300 SAR.

The customer stays on the keypad with their digits intact. Validate before the
pre-authorisation, not after
— a decline for exceeding a scheme limit is a bad way to tell
someone the maximum.

4 — Present card (payment app). Shows the amount about to be held, in both languages, with a

04-present-card Payment app English Arabic PAYMENT APPAuthorizationPresent card or deviceTotal amountSAR 300.00 ENTER CARD DETAILSSays Authorization, not purchase.Opens straight after the amount is chosen. payment app تطبيق الدفعتفويضاستخدم البطاقة او الجهازالمبلغ الإجماليSAR 300.00 ادخل معلومات البطاقةتقول «تفويض» وليس «شراء».تفتح مباشرة بعد اختيار المبلغ. payment app

progress indicator for the stages of the transaction:

Authorization / تفويض
Present Card or Device / استخدم البطاقة او الجهاز
Total Amount / المبلغ الإجمالي
SAR 50.00

Note the heading: this is an authorisation, and the screen says so rather than implying a
purchase.

5 — Result (payment app). The outcome over the receipt, then the receipt choice:

05-authorised Payment app English Arabic PAYMENT APPAuthorizationAPPROVEDSAR 50.00 heldWould you like a receipt? QR CODE NO RECEIPTThe terminal has no printer.The QR is the receipt. payment app تطبيق الدفعتفويضمقبولةتم حجز ٥٠٫٠٠ ريالهل ترغب في الحصول على إيصال؟ رمز الاستجابة السريع بدون إيصاللا توجد طابعة في الجهاز.رمز الاستجابة هو الإيصال. payment app

✓ AUTHORIZATION / مقبولة / APPROVED

then QR CODE or NO RECEIPT. The terminal has no printer, so the QR is the receipt.

6 — Lift the nozzle. Countdown, the amount held, and the sentence that does the most work

06-lift-nozzle FCS app English Arabic 15sSAR 50.00Please lift nozzle to start fuelling.Please note: when fuelling with a lesser amount is complete, the remaining amount will be released to your account. CANCELThe note is audited wording.The countdown is the void timer, made visible. FCS app 15sSAR 50.00الرجاء سحب المضخة للبدء بتعبئة الوقود.يرجى ملاحظة: عند اكتمال التعبئة بقيمة أقل من المبلغ المحدد سيتم إعادة المبلغ المتبقي إلى رصيد حسابكم. إلغاءالنص أعلاه نص معتمد.العدّاد هو مؤقت الإلغاء، ظاهرًا للعميل. FCS app

on the whole forecourt:

SAR 50.00
Please lift nozzle to start fuelling.

Please note: When fuelling with a less amount is complete, the remaining amount will be
released to your account.

That note is audited wording and it is the answer to the only question a customer has when
they see 50.00 held for a 30.00 fill. A CANCEL button releases the hold before any fuel moves.

The countdown is the void timer from the matrix in section 7, The scenario matrices made visible — the customer can
see how long they have before the hold is released automatically.

7 — Fuelling.

07-fuelling FCS app English Arabic Fuelling in progress...Return the fuel nozzle once fuelling is complete. CANCELCancel stops the pump and captures whatwas delivered. It does not void the hold. FCS app جاري التعبئة…الرجاء إعادة المضخة عند اكتمال التعبئة. إلغاء«إلغاء» يوقف المضخة ويحصّل ما تم صرفه.لا يُلغي الحجز بالكامل. FCS app

Fuelling in progress…
Return the fuel nozzle once fuelling is complete.

Cancel here is not the cancel on the previous screen, and that is worth being careful about.
Before any fuel moves, cancel voids the authorisation and the customer is charged nothing. Once
fuel is flowing there is nothing to void — the fuel is in the tank. Cancel stops the pump and
the transaction settles as a capture for the amount already delivered, which is the Finish
user action in the capture matrix in section 7, The scenario matrices.

So the customer is charged either way; the button decides how much, not whether. If your copy
implies otherwise, someone who presses it at forty riyals will expect to pay nothing and will
call to say so.

8 — Capture result. What the customer is told depends on the row of the capture matrix.

08-capture-full FCS app English Arabic 15sPlease return the nozzleFuelling completed by SAR xxx. OK FCS app 15sالرجاء إعادة المضخةتم التعبئة بنجاح بمبلغ ××× ريال. موافق FCS app
09-capture-partial FCS app English Arabic 15sFuelling completed by SAR xxx.The remaining amount will be released to your account. OK FCS app 15sتم التعبئة بنجاح بمبلغ ××× ريال،سيتم إعادة المبلغ المتبقي إلى رصيد حسابكم. موافق FCS app
10-capture-fault FCS app English Arabic 15sTechnical issue, please return the nozzle.Fuelling completed by SAR xxx. The remaining amount will be released to your account. OK FCS app 15sخلل تقني، الرجاء إعادة المضخة.تم التعبئة بنجاح بمبلغ ××× ريال، سيتم إعادة المبلغ المتبقي إلى رصيد حسابكم. موافق FCS app

Full amount delivered:

Please return the Nozzle
Fueling is completed by SAR ×××.

Less than authorised — the common case:

Fueling is completed by SAR ×××, The remaining amount will be released to your account.

Pump fault:

Technical issue, Please return the Nozzle.
Fueling is completed by SAR ×××, The remaining amount will be released to your account.

Each carries a countdown and an OK, so the customer can dismiss it rather than wait.

9 — Void result.

11-void FCS app English Arabic TRANSACTION VOIDNo fuelling happened, full amount will be released to your account. FCS app تم إلغاء العمليةلم تتم التعبئة، سيتم إعادة كامل المبلغ إلى رصيد حسابكم. FCS app

Transaction Void
No fueling happened, full amount will be released to your account.

10 — Decline.

12-declined FCS app English Arabic DECLINEDSorry, you cannot complete the fuelling due to [the decline reason].The nozzle must not release. That is the terminal's job, not the pump's. FCS app - audited behaviour مرفوضةنعتذر لعدم إتمام عملية تعبئة الوقود نظرًا لـ «سبب رفض العملية».يجب ألا يتم تحرير المضخة. هذه مسؤولية الجهاز وليست مسؤولية المضخة. FCS app - audited behaviour

Declined
Sorry, you cannot complete the fuelling due to the declined reason of the transaction.

And the nozzle must not release. That is the audited part, and it is the terminal's
responsibility rather than the pump's.

Certified wording

The SAMA framework fixes the copy for the main journey in both languages. This is what an audit
checks against:

#EnglishArabic
1Choose the languageاختر اللغة
2Determine the amount of fueling: Fueling Full Tank (up to SAR 300) / Fueling with predefined amount (SAR 10, SAR 50, SAR 100) / Fueling Other Amount (up to SAR 300)اختر قيمة التعبئة التي ترغب بها: تعبئة كامل الخزان (بحد أقصى 300 ريال) / التعبئة بقيمة مُحددة (10 ريال، 50 ريال، 100 ريال) / التعبئة بمبلغ آخر (بحد أقصى 300 ريال)
3Wave payment methodمرر وسيلة الدفع
4Please left the nozzle and start fueling. Please note: When fulling with a less amount is complete, the remaining amount will be released to your account. Fueling in progress…الرجاء سحب المضخة للبدء بتعبئة الوقود. يرجى ملاحظة: عند اكتمال التعبئة بقيمة أقل من المبلغ المحدد سيتم إعادة المبلغ المتبقي إلى رصيد حسابكم. جاري التعبئة…
5Would you like a receipt? 1. Scan QR code to obtain Digital receipt. 2. No receipt.هل ترغب في الحصول على إيصال؟ 1. إيصال إلكتروني من خلال مسح رمز الاستجابة السريع 2. لا أرغب في الحصول على إيصال
6Thank you for visiting us.شكرًا لزيارتكم

A declined pre-authorisation:

Sorry, you cannot complete the fueling due to 'the declined reason of the transaction'.
نعتذر لعدم إتمام عملية تعبئة الوقود نظرًا لـ "سبب رفض العملية والظاهر على الإيصال"

Four things worth copying

Every terminal screen has a countdown. Nothing on a forecourt waits indefinitely for a
customer who has walked away, and showing the timer is kinder than a screen that changes without
warning.

Every result screen has an OK. The customer dismisses it; the timer is the fallback, not the
mechanism.

The amount is repeated at every step — on the card prompt, on the lift-nozzle screen, on the
result. On a hold that can be three times the final charge, silence about the figure is what
generates the support call.

Say what happens to the difference, early and twice. The remaining-amount sentence appears
before fuelling starts and again when it finishes. It is audited wording for good reason.


← The amounts  ·  Contents  ·  The scenario matrices →


Did this page help you?