Small travel agencies in India have a problem: they can't afford custom booking websites (costs ₹5-10 lakhs), but using platforms like MakeMyTrip B2B means paying 25-30% commission on every booking.
So I built rayds.org - a white label solution where agencies get their own branded portal for a flat monthly fee.
Here's what I learned building it.
The Big Technical Challenges
Every Agency Needs Their Own Website
The Problem:
Each agency wanted their own subdomain like agency-name.rayds.org with their logo, colors, and branding - but I couldn't build 100 separate websites.
The Solution:
Built one application that automatically customizes itself based on which subdomain someone visits. Used Redis to cache each agency's settings so the site loads fast.
Result: One codebase serves 50+ agencies, each thinking they have their own custom site.Flight APIs Are a Nightmare
The Problem:
I needed to show flights from multiple suppliers (Amadeus, Sabre, TBO, etc.) but each API speaks a different language. One returns JSON, another returns XML (yes, in 2024!), and they all structure data completely differently.
The Solution:
Built "adapters" - small translators for each API that convert their unique format into one standard format my app understands. Then I could compare prices and show the cheapest options.
Result: Users see flights from 5 different sources, sorted by price, without knowing the chaos behind the scenes.Indian Payments Are Different
The Problem:
International payment gateways don't work well in India. I needed Razorpay, UPI, Paytm integration. Plus, Indian tax law requires automatic GST invoice generation for every booking.
The Solution:
Integrated all three payment methods and built an automated GST invoice generator that creates proper invoices with HSN codes, GSTIN, and all required fields.
Result: Agents can accept any payment method their customers prefer, and they get compliant invoices automatically.WhatsApp > Email in India
The Problem:
I built a beautiful email confirmation system. Nobody cared. Agents kept asking "can you send booking confirmations on WhatsApp?"
The Solution:
Integrated WhatsApp Business API. Now booking confirmations go directly to customer's WhatsApp with flight details, PNR, and ticket link.
Result: This single feature got more signups than anything else. Lesson: know your market.Making It Fast
The Problem:
With 50+ agencies using the platform, things got slow. Searching 5 flight APIs for every query meant users waited 8-10 seconds.
The Solution:
Cached flight search results (prices don't change every second anyway)
Showed results from the fastest API first, then loaded others in background
Stored agency settings in memory so they don't hit the database every time
Result: Page loads in under 100ms. Search results appear in 2 seconds instead of 10.
Tech Stack Choices
Frontend: React + Next.js
Why: Each agency's site needs good SEO to rank on Google. Next.js does server-side rendering automatically.
Backend: Node.js
Why: Fast, handles multiple API calls well, lots of libraries for payment gateways.
Database: PostgreSQL
Why: Reliable, has security features for keeping each agency's data separate.
Caching: Redis
Why: Makes everything lightning fast. Cache flight results, agency settings, user sessions.
Deployment: Docker + Google Cloud Run
Why: Easy to deploy, scales automatically when traffic increases.
Current Status
50+ agencies using the platform
200+ bookings per day
99.8% uptime
Response time: Under 100ms
Average setup time: 24 hours (agency provides logo, we handle the rest)
What I'm Still Figuring Out
Refund handling - When a booking needs refund, each API has different processes
Pricing model - Should I charge monthly subscription, per-booking fee, or hybrid?
Scaling - When should I give big agencies their own separate instance?
Mobile app - Many agents work entirely from phones, might need native apps
Biggest Lessons
- Cache Everything 90% of my performance improvements came from caching. Don't hit databases or APIs unless you absolutely have to.
- Know Your Market I spent weeks on email notifications. Nobody used them. WhatsApp took 2 days to integrate and became the #1 requested feature.
- Start Simple I over-engineered the multi-tenant architecture initially. Could have started with a much simpler version.
- One Small Feature Can Sell Everything The WhatsApp booking confirmation is technically trivial but it's what most agencies mention when they sign up.
- B2B SaaS in India is Different
Payment preferences are different (UPI, Paytm matter more than credit cards)
WhatsApp > Email for communication
GST compliance isn't optional
Mobile-first is critical (most small agencies work from phones)
The Business Model
Traditional Model (what agencies pay now):
25-30% commission per booking to aggregators
No branding
No control over prices
Our Model:
₹5,000-10,000/month flat fee
Agencies keep all margin
Their brand, their domain
Access to wholesale rates (5-7% markup instead of 30%)
The Math:
If an agency does 50 bookings/month at ₹10,000 average, they save ₹1.25 lakhs/month in commission fees. Our ₹10K fee pays for itself 12x over.
What's Next
Hotel booking module (currently only flights)
Bus booking integration
Mobile apps for iOS and Android
Automated marketing tools for agencies
Analytics dashboard to help agencies see which routes are profitable
Open for Feedback
This has been a solo journey so far. If you're building something similar or have experience in:
Travel tech
Multi-tenant SaaS
B2B marketplace dynamics
Indian payment systems
I'd love to hear your thoughts!
Check it out: rayds.org
Top comments (0)