# Amba Agent App – UI Plan (Phase 1, UI-Only) ## 1. Purpose The Amba Agent app provides agents with a platform to: - Manage multiple clients’ payment accounts. - Schedule reminders and manage payment-related events. - Communicate and act on client payments through a streamlined UI. This phase focuses **only on UI/flows**, with dummy data and no real backend integration. --- ## 2. Scope (Phase 1) From the SRS: - **Multi-client management** - Each agent manages multiple client profiles. - Each client can have multiple linked payment accounts. - **Transaction management** - Agents can initiate payments on behalf of clients. - Transactions are displayed and tracked in a list view. - **Scheduling & reminders** - Simple UI to show upcoming reminders. - Scheduling controls are UI-only for now. - **Notifications** - UI toggles for SMS, in-app, email notifications (no real sending yet). - **Localization** - English-first UI with a language selector prepared for Arabic and others. - No full RTL logic in this phase, only the settings hooks. - **Security** - Login screen + simulated biometric toggle (UI-only). - **Reporting** - Transactions list and basic summary cards (dummy data). --- ## 3. Navigation Structure ### Bottom Tabs (Agent App) 1. **Home** 2. **Recipients** 3. **Requests** 4. **Transactions** 5. **Profile** From these tabs we navigate to: - Recipient Detail - Pay (Payment initiation) Screen - Request Detail (bottom sheet) - Optional “Reports” placeholder (or reuse Transactions) --- ## 4. Screens and UI Details ### 4.1 Login (Agent Login) **Goal:** Basic auth + prompt for biometrics after first login. - Fields: - Email / Phone - Password - Buttons: - Primary: **Sign In** - Secondary: **Forgot password?** - After first successful login (simulated): - Show a card or bottom sheet: - Title: “Enable biometric login” - Buttons: **Enable Face ID / Fingerprint**, **Not now** - For Phase 1, this just flips a local toggle (no OS integration). --- ### 4.2 Home **From flow:** - Login → Home → Decision (to Profile / Recipients / Transactions / Requests / Pay). - “On this page he can show the amount of credits he has on the application.” **UI Sections:** - **TopBar** - Greeting (“Hi, [Agent Name]”) - Notification bell - Agent avatar - **Credits Card** - Large amount: “Available Credits” - Subtitle: “Balance usable for client payments” - Optional “Last updated” label (dummy) - **Quick Actions Row** - Buttons to navigate: - Recipients - Requests - Transactions - Pay - **Upcoming Reminders** - Vertical list with: - Client name - Due date / time - Small status pill (e.g. “Upcoming”) - All populated with dummy items. --- ### 4.3 Recipients (Client Management) **From doc:** - “Recipient list including account associated with detail page also showing the schedule for when they want payments.” - “Multi-client management; associate multiple accounts per client.” #### Recipients List Screen - **Search bar**: “Search recipients” - Optional filter icon on the right. - **Recipient Card** per client: - Name (Individual / Business) - Tag pill: `Individual` or `Business` - Short line: e.g. “3 accounts” or main account alias - Small “Next payment” label if schedule exists - On tap → Recipient Detail #### Recipient Detail Screen - **Header** - Name, avatar/initials - Client type pill - **Accounts Section** - Card or list: bank name + account number for each linked account - “Add Account” button: - Opens bottom sheet similar to Edit Profile’s multi-account UI: - Bank selector - Account number input - Save (dummy only) - **Schedules Section** - List of schedules: - e.g. “Every Monday 10:00”, “Monthly, 1st at 09:00” - Button: **Manage Schedules**: - Opens UI-only bottom sheet with: - Frequency selector (Daily / Weekly / Monthly / Custom) - Time selector (simple text field for now) - Save (no backend) - **Actions** - **Pay Now** → navigates to Pay screen with this recipient preselected. - **View Transactions** → navigates to Transactions with a client filter preset (UI-only). --- ### 4.4 Transactions **From doc:** - “All the transaction he has processed.” - Reporting & tracking. #### Transactions Screen - **Filter/Search Bar** - Text input: “Search by client or reference” - Filter chips: - All - Success - Pending - Failed - **Summary Row (Optional)** - Today’s total - This week’s total - Total transactions - All dummy data. - **Transactions List** - Each row: - Amount + currency - Status pill: Success/Pending/Failed - Client name - Date and time - Small method icon (Telebirr/Chapa/etc., static icon) For Phase 1, the list is fed by a mocked array. --- ### 4.5 Requests **From flow:** - “Every book now request for the agent himself stands here. With the person, time, and date.” #### Requests Screen - List of **Request Cards**: - Client name - Scheduled date & time - Requested amount (optional) - Status: Pending / Accepted / Completed (local state only) - Buttons: - **View Details** - **Pay Now** - **Request Detail Bottom Sheet** - Client info - Requested schedule - Notes/description (dummy) - Actions: - **Mark as Accepted** - **Mark as Done** - All actions affect only in-memory state. - **Pay Now** from a request: - Opens Pay screen with recipient + amount pre-filled (no real payment). --- ### 4.6 Pay **From flow:** - “Where he can make the payment same flow as per usual.” #### Pay Screen - **Context** - If navigated from Recipient: - Recipient field is pre-filled and locked. - If from Home: - Recipient selector row: “Select Recipient” → bottom-sheet list. - **Fields** - Amount input - Payment method dropdown: - Telebirr - Chapa - Other methods (dummy options) - Optional note / description - **Actions** - Primary: **Review & Confirm** - Opens bottom sheet: - Shows summary: recipient, amount, method - Button: **Confirm (UI only)**: - Closes sheet and maybe sets a local “Success” toast. - No network calls in Phase 1. --- ### 4.7 Profile (Agent Profile) **From doc:** - Multi-level access, notification channels, localization, etc. #### Profile Screen - **Agent Info Card** - Name - Role: Agent - Agent ID or code - **Sections** 1. **Account & Security** - `Change Password` row (placeholder screen) - `Biometric Login` toggle (ties to login biometric prompt state) 2. **Notifications** - Toggles: - SMS notifications - In-app notifications - Email notifications - All stored in local state only. 3. **Localization** - Language selector row: - English - Arabic - Other supported languages (am, fr, om, ti) - For Phase 1, dont do anything on localization. 4. **Reports** - Row: **View Reports** - Navigates to Transactions screen or a placeholder “Reports coming soon” screen. 5. **Logout** - Simple button that routes back to Login screen (no token logic yet). --- ## 5. Implementation Notes (Phase 1) - **No backend calls**: - All screens use mocked arrays/state. - No SMS, email, or payment gateway calls. - **Biometrics** - Only UI affordances (prompt, toggle). - Underlying OS integration is future work. - **Localization** - This file is stored under [locales/en](cci:7://file:///Users/user/PROJECTS/NOVEMBER/amba/locales/en:0:0-0:0) as a reference for future translation. - Actual text keys (i18n) can be extracted later. - **Design** - Reuse existing Amba components where possible: - `ScreenWrapper`, [TopBar](cci:1://file:///Users/user/PROJECTS/NOVEMBER/amba/components/ui/topBar.tsx:10:0-55:1), `Input`, `Button`, `BottomSheet`, cards, etc. - Stick to the existing Amba color palette and typography. --- Overall structure Goal: Agent can log in, see credits, manage recipients/clients, see transactions, handle “book now” requests, and trigger payments. For this phase we: Keep Amba look & feel (colors, typography, cards). Build new agent-focused screens and navigation. Use static/dummy data only, no real payment/notification backend yet. 2. Navigation proposal Bottom tabs for Agent app: Home Recipients Requests Transactions Profile From these, we can navigate to: Recipient Detail (per client) Pay flow (can be reached from Home or Recipient Detail) Maybe a Calendar/Reminders view later (for now: simple section in Home / Recipient Detail). 3. Screen-by-screen UI plan 3.1 Login (Agent Login) From doc: “Login should promote for biometric access as well rather than password after first login.” UI changes: Login Screen Email / Phone input. Password field. Primary CTA: Sign In. Secondary: Forgot password?. After first successful login (simulated via local state for now), show: Bottom sheet or inline card: “Enable biometric login” with Enable Face ID / Fingerprint button and Not now. Next phase we only simulate biometrics (no real OS-level integration yet, just toggle state). 3.2 Home From doc + flow: Show agent credits. Entry point to other flows. UI: Top bar: TopBar -style with: Greeting (“Hi, [Agent Name]”). Notification bell. Agent avatar. Credits Card: Big number: “Available Credits”. Subtitle: “Balance usable for client payments”. Quick Actions Row (buttons/cards): Recipients Requests Transactions Pay Upcoming Reminders (for scheduling feature, UI-only): List of “Next payment reminders” with: Client name. Due date/time. Small status pill (e.g. “Pending”). All dummy data for now. 3.3 Recipients (Client Management) From doc + post-it: “This will have the recipient list including account associated with detail page also showing the schedule for when they want payments.” “Multi-client management, multiple accounts per client.” List Screen UI: Search bar: Search recipients. Filters (optional for now, icon only). List of Recipient Cards: Name (person or business). Tags: Individual / Business. Short info: main account or “3 accounts”. Next scheduled payment date (if any). Tap → Recipient Detail. Recipient Detail UI: Header: Name, avatar/initial icon. Client type pill. Accounts section: Card listing linked accounts (bank name, account number). “Add Account” button (UI only; bottom sheet like Edit Profile multi-account). Schedule section (reminders): List of schedules: “Every Monday 10:00”, “Monthly 1st at 9:00”. Button: Manage Schedules (for now shows bottom sheet with dummy options). Actions: Pay Now button (goes to Pay UI with recipient preselected). View Transactions (filter Transactions screen by this recipient – UI-only filter). 3.4 Transactions From doc: “All the transaction he has processed.” Reporting & tracking. UI: Search / filter bar: Search by client. Filter chip row: All, Success, Pending, Failed. Transactions list: Each row: amount, status pill, client name, date/time, small method icon. Optional summary at top: Today’s total, This week, etc. (dummy numbers). No real data, just static mocked list. 3.5 Requests From flow note: “Every book now request for the agent himself stands here. With the person, time, and date.” This is basically a queue of incoming scheduled “Book Now” / payment requests. UI: List of Request Cards: Client name. Requested date & time. Amount (if part of the request). Status: Pending, Accepted, Completed (UI-only). CTA buttons: View Details → Request Detail bottom sheet. Pay Now → Pay screen with details pre-filled. Request Detail (BottomSheet): Client info. Requested schedule. Notes. UI-only actions: Mark as Accepted, Mark as Done (just local state change). 3.6 Pay From flow note: “Where he can make the payment same flow as per usual.” This is the payment initiation screen. UI: If navigated from Recipient / Request: Recipient pre-filled and locked. If from Home: Recipient picker at top (Select Recipient row → bottom sheet list). Fields: Amount. Payment method (dropdown: Telebirr, Chapa, etc). Optional note / description. CTA: Review & Confirm (UI-only): Opens confirmation bottom sheet showing summary, “Confirm (UI only)” button. We won’t hit any gateway APIs yet; we just simulate the flow. 3.7 Profile (Agent Profile) From doc: Multi-level access, localization, notification channels, etc. UI: Agent info card: name, role (Agent), ID. Sections: Account & Security: Change password (UI-only). Biometric login toggle (syncs with Login prompt state). Notifications: Toggles for SMS, In-app, Email (UI-only). Localization: Language selector (English / Arabic; no real RTL yet in phase 1, just selection). Reports: “View Reports” → for now goes to Transactions screen pre-filtered or a placeholder “coming soon” page. Logout button. 4. Phase 1 implementation plan (UI-only) Once you confirm the above direction, I’ll: Set up Agent navigation: New or modified tabs for Home , Recipients, Requests, Transactions, Profile. Create minimal versions of: AgentHomeScreen AgentRecipientsScreen + RecipientDetail AgentTransactionsScreen AgentRequestsScreen AgentPayScreen AgentProfileScreen Wire in dummy data for: Recipients (with multiple accounts & schedules). Transactions. Requests (bookings). Keep everything UI-only: No real payment, no SMS/email sending, no real biometrics or gateway calls.