What's simulated (and why)
I don't have bKash merchant API access, so the payment step uses a sandbox I built to mimic the real bKash flow (number, OTP, PIN, with test values shown on screen). WhatsApp, SMS, and calendar sync run through mock connectors that log each action in the admin panel. The flows and data model are production-shaped, so going live means swapping in the real bKash, WhatsApp Business, SMS gateway, and Google Calendar APIs, not rebuilding.