Platform overview

One stack.
One schema.
Every layer chosen on purpose.

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.

01 · Technology stack

Battle-tested. Boringly stable.

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.

LayerTechnologyWhy
Application runtimePHP 8.4 · strict typing on hot pathsMature, fast, ubiquitous hosting; OPcache-friendly; trivial to add capacity.
Web serverApache 2.4 · mod_rewrite, mod_headers, mod_deflate, mod_expiresStable, well-understood request handling; clean URL routing via .htaccess.
DatabaseMySQL 8.4 · InnoDB · utf8mb4Transactional integrity, point-in-time recovery, native JSON, emoji-safe.
FrontendServer-rendered HTML · inline CSS/JSNo build pipeline, no SPA hydration cost; instantly visible to search engines and AI crawlers.
Object storageCloudflare R2 (CDN-fronted)Edge-cached delivery; egress-free; geographically distributed.
Background workersCron-driven PHP · idempotent claim/retrySimple to operate; survives PHP-FPM restarts; auto-recovers from stuck rows.
Email transportAWS SES · SendGrid · Mailgun · Postmark · SMTPProvider-agnostic; switch carriers without code changes.
Voice transportSIP trunking · WSS browser softphoneBring your own carrier or use a managed trunk; in-browser dialer.
02 · Multi-tenant data model

Tenancy wired into the
schema itself.

Every record is scoped to a Partner — the platform's tenancy unit. Not a column added later; the shape of every query.

01 / Partner-owned

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.

02 / Shared pool

Platform-owned gateways

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.

03 / Isolation

Wallets, billing, analytics

Each partner contains users, channels, wallets, subscriptions, invoices, and conversation history. Platform operators see everything. Partners see only what's theirs.

03 · What you get out of the box

Not a starter kit.
A finished platform.

Subscription billing, partner approval workflows, audit logging, system-health dashboards, and webhook routing — every primitive an enterprise messaging platform needs, already wired.

/ 01

Unified inbox

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.

/ 02

Outbound queue

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.

/ 03

Smart routing

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.

/ 04

System health

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.

/ 05

Self-healing schema

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.

/ 06

Audit logging

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.

/ 07

Email queue worker

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.

/ 08

Webhook system

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.

Next step

See it running on
your workload.

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.