Skip to main content

Go-Live Audit — Slice E: CRM · Master Data · Integrations

Date: 2026-04-25 Domains: 10. CRM & Loyalty · 14. Master Data · 15. Integrations Total checks: 84

Scorecard​

StatusCount%
✅ Done3845 %
⚠️ Partial2530 %
🔴 Stub1417 %
❌ Missing78 %

Verdict: 🔴 NOT GO-LIVE READY — sound architecture, but tenant-isolation and integration gaps block live operation.

Critical P0 Blockers​

#ItemDomainIssue
1CRM tenant isolationCRMCampaigns / Loyalty / Feedback / Revenue controllers lack @CurrentTenant() guards — any auth user can read/modify other tenants
2Master-data tenant scopingMaster DataProperty / Room / Rate Plan endpoints don't validate tenant ownership
3Razorpay LIVE not stagedIntegrationsAdapter only supports SANDBOX; LIVE credentials not configured — no real payments at go-live
4Email / SMS in simulator modeIntegrationsSendGrid + Twilio fall back to fake sends because credentials missing — no guest communication
5Missing gateway routesCRM/chain-loyalty, /crm/dedup, /crm/loyalty/partners controllers unreachable through gateway
6Guest dedupe leaks across tenantsCRMNightly duplicate-detection scan returns guest data from all tenants
7WhatsApp Business not stagedIntegrationsMeta flows not created; credentials not configured

P1 Should-Fix​

  • Pricing rules stored only in memory — lost on restart
  • Drip-campaign steps in memory — scheduled emails lost
  • Feedback trigger queue in memory — post-stay surveys lost
  • Email bounce / complaint webhook not implemented
  • xPrisma cross-service DB access will crash at runtime on some field access
  • Birthday / anniversary automation incomplete (read-model sync missing fields)

Stub / TODO Register​

(populated from agent's findings — to be expanded with file:line during stitching)

Integration readiness matrix​

IntegrationProviderSandboxLIVETested
Payment gatewayRazorpay✅❌❌
EmailSendGrid⚠️ simulator❌❌
SMSTwilio⚠️ simulator❌❌
WhatsAppMeta Business⚠️ simulator❌❌
TRAI DNDTRAI⚠️ simulator❌❌
E-invoiceNIC / GSTN❌ missing❌❌
Hardwareall vendors🔴 stubs❌❌

Positive findings​

  • Comprehensive Prisma schemas for master data (Property, RoomType, Room, RatePlan, TaxConfig …)
  • Well-structured CRM service modules (Loyalty, Campaigns, Feedback, Revenue, Dedup)
  • Multi-channel notification infrastructure with service-mode abstraction
  • Modular payment-gateway adapter pattern (Razorpay + mock + sandbox/live modes)
  • GDPR/DPDP framework in guest-service (erasure, DSAR tracking)
  • Guest profile coverage (basic, identity, preferences, communication log, NPS)

Recommendations​

Week 1 (go-live critical path):

  1. Add @CurrentTenant() decorators on all CRM controllers
  2. Validate property ownership in property-service controllers
  3. Stage Razorpay LIVE credentials + end-to-end payment + refund + webhook test
  4. Configure SendGrid + Twilio production credentials
  5. Add 3 missing gateway routes
  6. Fix guest dedupe scan to respect tenant boundaries

Week 2 (hardening):

  1. Persist pricing / drip rules to Prisma / Redis
  2. SendGrid bounce + complaint webhook handler
  3. WhatsApp flows in Meta Business Platform
  4. Replace xPrisma with typed service clients
  5. Complete DPDP DSAR flow

Week 3 (load testing):

  • 10 K guest segmentation + concurrent email send
  • 100 + simultaneous Razorpay payment orders
  • 1 K loyalty point earn / redeem transactions