Bring your own credentials
For channels where identity matters — WhatsApp, Messenger, Instagram, voice — partners bring their own credentials. Keys are stored encrypted and never displayed back.
YourTripDesk is delivered as a managed SaaS application on a battle-tested LAMP stack with a modern modular codebase. Every layer was chosen for operational maturity, talent availability, and cost-efficient horizontal scaling.
No JavaScript framework du jour. No bleeding-edge dependency that breaks at 3 AM. Every layer here has been operated at scale for a decade or more.
| Layer | Technology | Why |
|---|---|---|
| Application runtime | PHP 8.4 · strict typing on hot paths | Mature, fast, ubiquitous hosting; OPcache-friendly; trivial to add capacity. |
| Web server | Apache 2.4 · mod_rewrite, mod_headers, mod_deflate, mod_expires | Stable, well-understood request handling; clean URL routing via .htaccess. |
| Database | MySQL 8.4 · InnoDB · utf8mb4 | Transactional integrity, point-in-time recovery, native JSON, emoji-safe. |
| Frontend | Server-rendered HTML · inline CSS/JS | No build pipeline, no SPA hydration cost; instantly visible to search engines and AI crawlers. |
| Object storage | Cloudflare R2 (CDN-fronted) | Edge-cached delivery; egress-free; geographically distributed. |
| Background workers | Cron-driven PHP · idempotent claim/retry | Simple to operate; survives PHP-FPM restarts; auto-recovers from stuck rows. |
| Email transport | AWS SES · SendGrid · Mailgun · Postmark · SMTP | Provider-agnostic; switch carriers without code changes. |
| Voice transport | SIP trunking · WSS browser softphone | Bring your own carrier or use a managed trunk; in-browser dialer. |
Every record is scoped to a Partner — the platform's tenancy unit. Not a column added later; the shape of every query.
For channels where identity matters — WhatsApp, Messenger, Instagram, voice — partners bring their own credentials. Keys are stored encrypted and never displayed back.
For channels where economy-of-scale wins — SMS, email — platform operators provision shared gateways that any partner can use. Cost-aware routing picks the cheapest provider per destination.
Each partner contains users, channels, wallets, subscriptions, invoices, and conversation history. Platform operators see everything. Partners see only what's theirs.
Subscription billing, partner approval workflows, audit logging, system-health dashboards, and webhook routing — every primitive an enterprise messaging platform needs, already wired.
Threaded view per contact across every channel they've used. Assignment to agents, with read/unread, status (open / blocked / archived). Window-policy awareness for 24-hour WhatsApp and 7-day Messenger windows.
Synchronous send for the admin "Send Now" flow. Asynchronous queue with exponential backoff, dead-letter, and auto-refund of cost when retries exhaust. Idempotency keys prevent duplicate sends on retries.
Per-partner gateway preference: partner-owned first, then shared platform pool. Automatic failover when the primary gateway is paused, inactive, or over daily quota. Active-only resolution at send time.
Around 30 live probes covering DB connection, schema drift, ENUM consistency, time drift between PHP and MySQL, character-set sanity, php.ini limits, .htaccess sanity, HTTPS posture, and disk space.
On every request, a startup helper reads INFORMATION_SCHEMA once and ALTERs in any columns the application needs. Static-cached. Means code can evolve faster than migration scripts ship.
Every settings change, every credential rotation, every partner action recorded with user, timestamp, IP, entity affected, and the action taken. Searchable from the admin UI; filterable by user, entity, or time range.
Cron-driven background sender with claim, dispatch, and refund lifecycle. Records start, end, duration, plus succeeded, failed, and permanent-fail counts. Sweeper resets rows that workers claimed but never finished — crashed workers recover without intervention.
Inbound webhook routing for every provider that supports it: Meta (WhatsApp/Messenger/Instagram), Twilio (SMS + voice), SES (email events), WeChat callback shape. Verification token round-trip and signed-request verification (x-hub-signature, X-Twilio-Signature) handled per channel.
Joint architecture session in week one. We map your existing channels, partner topology, expected message volumes, and integration touchpoints — and produce a written deployment plan with milestones, owners, and a risk register.