The MOI service stack, including the production dialogue engine, guardrails and policy gates, answers from staging citizen records. Confirmed actions execute against the staging test backend: recorded state stays consistent across sessions until an admin reset. No real money ever moves.
1 · Log in - sign in with your traffic file number or Emirates ID on the temporary sign-in form. Capt. Fahim opens the conversation proactively - greeting you by name and flagging anything on your record worth handling. Tap
Logout (top right) to return to the login screen; the chat answers from the signed-in record.
2 · Chat or talk - try:
"show my fines",
"pay them all",
"renew my license", or Arabic:
«اعرض مخالفاتي». Tap 🎤 to talk (tap ⏹ when done), tap
auto for hands-free, or tap
live for the full conversation mode - the server itself listens, shows your words as you say them, and you can interrupt the bot mid-sentence just by speaking.
3 · Watch the machinery -
SOAP traffic shows every real ADP request with the values sent and the values the response had to return (chips + highlights).
Flow & agentic shows the conversation state machine, the journey, and the documented ADP chains ticking off live.
4 · Show agentic - just TELL Capt. Fahim in chat (typed or spoken, EN/AR/Gulf): "auto-pay my new fines up to 800 AED". It offers a consent card; tap Activate and the real journey evaluates it, asks for approval, then stops at the closed execution gates and names exactly which MOI sign-offs are missing. Ask "what standing orders do I have", "why hasn't it paid", or "cancel the auto-pay" - every button in
Flow & agentic is reachable from the conversation, and the pane mirrors it live. A typed "yes" never activates; only the card button does.
5 · Human in the loop - open the
🛡 Ops console (top bar, or
/ops; admin key) in a second window. It shows every live session with its transcript, the IT logs (turns, errors, SOAP, officer actions) and the voice concurrency gauges. The
👮 Officer Desk (
/officer) is the agent-side workstation: citizens who ask for a human are
routed into a queue with their wait time -
Take next assigns the longest-waiting chat, you respond from the composer, and
Release to AI hands back. From the supervisor console, pick a session and tap
Join: the citizen sees "an MOI officer has joined", the AI yields the conversation, your messages appear as officer bubbles, and
Release hands back to the agent - mid-conversation, no restart. Beyond the voice capacity limit, new users simply don't see the mic icon until a slot frees.