2.1 KiB
Financing
Aggregates financing products across banks — MIB promotional deals and BML loan details — in a single screen.
Fragment — FinancingFragment
Observes HomeViewModel.financing (MIB deals) and HomeViewModel.bmlLoanDetails.
MIB deals carry no login tag, so the two sections are ordered as blocks: MIB first if the first MIB login ranks above the first BML login in the user's login order, otherwise BML first. BML loans within their section follow HomeViewModel.accounts, which is already in login order.
MIB Deals Section
Displays current MIB promotional financing offers fetched from the MIB API. Each deal card shows:
- Deal name / product title
- Key terms (profit rate, tenure, minimum/maximum amount)
- A Learn More action that opens the deal detail in an in-app WebView or external browser
Data is loaded once on fragment creation and refreshed on pull-to-refresh.
BML Loans Section
Displays the user's active BML loan/financing accounts. Each card shows:
- Loan product name
- Outstanding balance
- Next instalment amount and due date
- Loan account number
Data comes from HomeViewModel.bmlLoanDetails, which is fetched from the BML loans API using the active BML session.
Foreign Spend Limits (BML)
HomeViewModel.bmlLimits (List<BmlForeignLimit>) provides foreign-currency spend limits per BML card — these are MMA-imposed travel/online caps, not credit-card credit limits. Displayed alongside the loan section:
- Card / profile name
- ECOM remaining / cap (always visible)
- General remaining / cap (always visible)
- ATM, POS and Medical remaining / cap (expandable)
- "Disabled" flags for ATM / POS where applicable
Pull-to-Refresh
Refreshes both MIB deals and BML loan/limit data independently. Each section shows its own loading indicator.
Empty State
If no MIB session is active or no BML financing accounts exist, the respective section shows an empty-state message with a prompt to add the corresponding bank account.
← BML QR Pay Next → Settings