# Event Map

## Direct answer

Only events with system impact are included. Cosmetic hover/focus events are excluded. No independent queue worker or scheduled background job was found; overdue queues and savings progress are calculated/read during requests.

| Event | Trigger / route | Impact | Tables or storage | Resulting state / next event |
|---|---|---|---|---|
| Staff login | POST staff login | Authentication, abuse protection, session token issuance | employees, roles, auth-failure metadata | authenticated backoffice session |
| Customer login/register | customer auth POST routes | Authentication/account creation | customers, profile/referral/auth metadata | customer portal session |
| Password change/reset | change-password or reset route | Credential metadata change | customers | mandatory-change cleared/set |
| Customer profile/KYC write | customer POST/PUT | Customer master/profile update | customer profile tables | contract eligibility changes |
| Customer delete | DELETE customer | Controlled data removal if eligible | customer and related nonfinancial rows | customer unavailable |
| Payment-slip upload | POST payment-slips | Validated image write outside DB | managed payment-slip directory | slip path available to intent |
| Savings-account creation | POST savings accounts | Financial plan creation | savings account/period/promotion tables | `SAVING`, first `OPEN` period |
| Savings deposit | POST savings transaction | Financial transaction pending verification | savings_transactions | `PENDING` |
| Savings verification/rejection | POST savings verify | Financial approval and ledger allocation | transactions, allocations, periods, account | `VERIFIED`/`REJECTED`; `PARTIAL`/`PAID`; maybe `READY_FOR_CONTRACT` |
| Savings conversion | POST savings convert | Transfers verified savings into contract terms | savings_accounts, contracts | `CONVERTED`, contract `PENDING_APPROVAL` |
| Contract creation/update | contract POST/PUT | Contract and promotion/financial state writes | contracts, schedules, promotion/benefit tables | pending lifecycle state |
| Contract activation | POST activate | Validates and starts installment lifecycle | contracts, payment_schedules | `ACTIVE`; schedules available |
| Payment-intent submission | POST contract payment-intents | Financial request write with idempotency | contract_payment_intents | `PENDING` verification |
| Payment-intent decision | POST verify | Financial transaction, schedule/contract mutation, audit | intents, payments, schedules, contracts, audit | `VERIFIED`/`REJECTED`; schedule paid or contract closed |
| Payoff quote | GET/POST payoff-quote | Read-only financial calculation | contracts, schedules | quote returned; no write |
| Contract cancellation | POST cancel | Lifecycle status and audit write | contracts, audit_logs | `CANCELED` |
| Cash sale | POST cash-sales | Financial sale write | cash_sales, promotion tables | posted sale status |
| Cash-sale void | POST void | Financial reversal/status and audit/idempotency | cash_sales and helpers | `VOIDED` |
| Cash-sale refund | POST refund | Financial refund write | cash_sales, cash_sale_refunds and helpers | refunded state/amount |
| Promotion claim/application | eligible + claim + business creation | Qualification and reward reservation/application | promotion event/application/redemption tables | `CLAIMED` then `APPLIED` |
| Promotion administration | campaign/package/benefit mutation | Commercial-rule configuration | promotion tables | active/inactive campaign hierarchy |
| Product creation | POST products | Catalogue write | products | product selectable |
| Employee create/toggle | employee POST/PATCH | Access-control write | employees, roles | account active/suspended |
| Collection/satisfaction follow-up | follow-up POST | Workflow history write | follow_up_logs | result and next-action state |
| Customer payment-pause request | support POST | Support workflow request | follow_up_logs | `PAYMENT_PAUSE` + `PENDING` |
| Dashboard/follow-up queue load | GET summary/today/satisfaction | Read-time aggregation/navigation | financial/customer/follow-up tables | operator navigates to detail |

## Automated/background jobs

No callable background worker, cron handler, or queue consumer was found for savings reminders, missed savings periods, notifications, contract overdue state mutation, or automatic collections. The follow-up endpoints derive queues at request time. Any future job would be a new implementation and is deliberately not described as current behavior.

