B2C multi-channel platform for the world’s largest independent hotel alliance
Client
Global Hotel Alliance (GHA) unites 45 independent hotel brands and 850+ hotels across 100 countries under one loyalty program — GHA DISCOVERY.
Over 30 million members earn Discovery Dollars, get room upgrades, and access exclusive local experiences, with Visa and Mastercard partnerships adding even more value.
Milestones
Monthly visits 750,000+
Content editors 1,000+
Hotels worldwideHotels 850+
Loyalty members 30M+
Goal
Create a multi-channel B2C platform that gives each brand freedom to maintain its own voice — while powering the main platform, brand channels, and mobile apps from a single content source.
Our input
We built the GHA Discovery front-end in React and Next.js, with Ibexa CMS running headless behind it.
Front-end development
One build, every channel. Nothing published twice
A team of 4 built the complete Next.js application with SSR. Multi-channel architecture means content flows to web, mobile, and partner platforms without duplication. Docker configs ensure consistent environments across dev, staging, and production.
CMS integration
Editors see the page as guests will, before it goes live
Ibexa CMS didn’t have native preview for Next.js. So we built our own proxying CMS admin pages through React SSR so editors see exactly how content blocks will render before publishing.
Payment integration
Three gateways in one flow. A fourth without reworking it
We integrated three gateways (Adyen, IOL, credit card guarantee). And built a plug-and-play solution — adding or swapping a provider doesn’t require reworking the booking flow now.
External services integration
Dozens of systems, one platform keeping them in step
GHA’s ecosystem includes numerous external services that needed to connect with the platform. We integrated them using REST API, GraphQL, and file export. The complexity wasn’t in any single integration, but in orchestrating all of them to work together.
Ongoing CMS support
Still the same team on it, from Ibexa v3 to v5
Our current team of 2 back-end developers handles custom import/export modules for content migration, reporting dashboards for content performance and system integrations with other GHA platforms — and the major upgrade from Ibexa DXP v3 to v5.
Challenge
- Multi-service orchestration The platform connects to numerous external services, each with its own integration method. REST API for some, GraphQL for others, file export for legacy systems. Getting them all to communicate reliably — and fail gracefully when they don’t — required careful architecture.
- Headless CMS preview Standard Ibexa CMS preview doesn’t work with headless front-ends. We built a proxy solution that routes preview requests through Next.js SSR, giving editors real-time previews of their content blocks without leaving the CMS admin interface.
- Complex payment flow Three payment gateways, one booking flow. Each gateway handles authentication, error states, and confirmation differently. We abstracted these into a plug-and-play architecture — flexible enough to add new providers without touching the core booking logic.
Results
- 11 million hits on production servers monthly
- Editors across 45 brands manage content independently while staying within quality standards
- Plug-and-play payment architecture ready for new providers
- Real-time preview for content editors
- Multi-channel distribution without duplication