Communications & Customer Alerts Module

The Communications module (/comms) coordinates all customer touchpoints across SMS, email, and printed notices. It automates transactional receipts, dispatches repayment reminders, alerts guarantors, and powers segmented marketing campaigns.


1. Key Definitions & Concepts

ConceptExplanation
Transactional SMSHigh-priority automated messages dispatched in real time upon a database event (e.g., payment receipt, loan disbursement, PIN verification).
Installment Due Reminder (T-2)An automated reminder sent 2 business days prior to an installment’s due date to prompt timely payment.
Arrears Escalation NoticesProgressively firmer notifications sent as an unpaid loan ages: Early Alert (T+3), Formal Demand (T+15), and Final Legal Warning (T+30).
Guarantor AlertAn urgent notification sent to listed guarantors when the primary borrower fails to pay their scheduled installment.
Delivery Receipt (DLR)Network-level confirmation from telecommunications carriers indicating whether an SMS reached the recipient’s handset.
SMS Segment MathStandard GSM 7-bit encoding allows 160 characters per SMS. Messages longer than 160 characters are split into concatenated segments (153 characters each) and bill as multiple credits.
Broadcast CampaignA bulk messaging blast sent to a filtered group of borrowers (e.g., seasonal holiday greetings, new loan product announcements).

2. Automated Event Triggers & Templates

BiiTrust triggers messages automatically at critical milestones in the credit lifecycle:

Trigger EventTimingDefault Message ContentDynamic Placeholders
Loan DisbursedInstant upon disbursement“Dear {{name}}, your loan of KES {{amount}} has been disbursed to your account. First installment is due on {{first_due}}. Thank you for choosing BiiTrust.”{{name}}
{{amount}}
{{first_due}}
Payment ReceiptInstant upon payment commit“Received KES {{amount}} for loan {{loan}}. Remaining balance: KES {{balance}}. Ref: {{receipt}}. Settle next installment by {{next_due}}.”{{name}}
{{amount}}
{{loan}}
{{balance}}
{{receipt}}
{{next_due}}
Installment Reminder2 days before due date ($T-2$)“Dear {{name}}, your loan installment of KES {{amount}} is due on {{due}}. Pay via Paybill {{paybill}}, Account: {{loan}}.”{{name}}
{{amount}}
{{due}}
{{paybill}}
{{loan}}
Grace Period Alert1 day after due date ($T+1$)“Dear {{name}}, your installment of KES {{amount}} was due on {{due}}. Please pay today to avoid late penalty charges.”{{name}}
{{amount}}
{{due}}
Arrears Warning7 days past due ($T+7$)“URGENT: Loan {{loan}} is 7 days in arrears (KES {{overdue}}). Contact your Loan Officer {{officer_name}} on {{officer_phone}} immediately.”{{loan}}
{{overdue}}
{{officer_name}}
{{officer_phone}}
Guarantor Call-Up15 days past due ($T+15$)“Dear {{guarantor_name}}, your guaranteed borrower {{borrower_name}} has defaulted on loan {{loan}} by KES {{overdue}}. You are legally liable. Contact us on {{branch_phone}}.”{{guarantor_name}}
{{borrower_name}}
{{loan}}
{{overdue}}
{{branch_phone}}

3. Customizing Message Templates (/comms/templates)

Authorized managers can modify template copy to suit local vernacular or branding:

  1. Open Communications $\to$ Templates (/comms/templates).
  2. Select the template to customize (e.g., payment_receipt_sms).
  3. Edit the text in the message editor:
    • Use standard curly brace syntax: {{name}}, {{amount}}, {{balance}}, {{loan}}, {{due}}.
    • The editor includes a live Character & Segment Counter:
      • Length: 142 / 160 characters (1 SMS segment per recipient).
      • Keeping templates under 160 characters halves telecommunication carrier costs.
  4. Click Preview with Live Sample:
    • The system pulls an actual recent client record and previews the rendered text exactly as it will appear on a mobile screen.
  5. Click Save Template. Changes take effect immediately for all subsequent automated dispatches.

4. Bulk Marketing Campaigns (/comms/campaigns/new)

To announce new loan terms, seasonal interest discounts, or branch holiday schedules:

┌─────────────────────────────────────────────────────────────────────────────────────────────────┐
│ New Broadcast Campaign                                                  [ Send Campaign ]       │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Campaign Title: [ Festive Season Top-Up Campaign 2026 ]                                         │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Target Audience Filters:                                                                        │
│ • Branch:           [ All Branches ▼ ]                                                          │
│ • Client Status:    [ Active Borrowers with Zero Arrears ▼ ]                                    │
│ • Completed Cycles: [ At least 2 prior cycles completed ▼ ]                                     │
│ ──► Matched Recipients: 1,420 Clients | Estimated Cost: 1,420 SMS Credits (KES 1,136.00)       │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Message Body:                                                                                   │
│ Dear {{name}}, thank you for your perfect repayment record! You qualify for an instant         │
│ festive top-up of up to KES 100,000. Visit your branch or call {{officer_phone}} today!         │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Schedule: (•) Send Immediately       ( ) Schedule for: [ 2026-12-01 09:00 ]                     │
└─────────────────────────────────────────────────────────────────────────────────────────────────┘

Campaign Execution Controls:

  1. Audience Filtering: Filter strictly by repayment history to avoid offering top-ups to delinquent borrowers.
  2. Quiet Hours Protection: The system enforces regulatory quiet hours (no non-transactional marketing messages between 8:00 PM and 7:00 AM). Scheduled campaigns automatically defer until the morning window.
  3. Opt-Out Compliance: Marketing messages automatically append “Reply STOP to opt out”. Opted-out clients are excluded from future marketing broadcasts while still receiving transactional receipts.

5. Message Delivery Logs & Troubleshooting (/comms/messages)

If a customer claims they did not receive their payment receipt or disbursement confirmation:

  1. Open Communications $\to$ Message Log (/comms/messages).
  2. Search by the customer’s phone number (07...) or name.
  3. Review the status badge:
    • 🟢 Delivered: Handset acknowledged receipt.
    • 🟡 Sent / Pending: Dispatched to cellular carrier, awaiting delivery receipt.
    • 🔴 Failed: Undelivered (e.g., Number Out of Service, Handset Memory Full, or SIM Inactive).
  4. Click Resend SMS to immediately retry transmission over an alternate telecom gateway.