Skip to main content
Contact us

Case study · Property Management & Short Stays

One platform core, four consumer brands, every channel in sync

Luxico and Staylonger run on one Laravel property-management platform that National Digital engineers, synchronised across every booking channel.

  • Laravel
  • PHP 8.3
  • Next.js
  • React
  • TypeScript
  • Terraform
  • Datadog
✓ Verified Review

“Switching to National Digital as our primary development partner was one of the best decisions we've made. Their technical expertise and reliability have been outstanding.”

Alex Ormerod Co-Founder & Managing Director at Luxico

1,200+

Properties under management

4

Consumer brands on one core

10+

Booking channels integrated

Since 2023

Platform partnership

At a glance

Industry
Property Management & Short Stays
Engagement type
Ongoing platform partnership
First release
2024
Team
National Digital engineering team

About the client

Luxico is a booking platform that connects travellers and travel agents with luxury holiday homes, and its local concierge teams manage each booking from start to finish. Staylonger comes from the team behind Luxico and offers fully furnished homes for stays of 30 nights and longer.

The challenge

Running distinct consumer brands on separate codebases would mean building every booking-channel integration, pricing rule and operator feature more than once - and fixing every bug more than once. The platform needed brand-level independence without forked business logic.

What we built

National Digital built a single Laravel PMS core package that owns all shared business logic and deployed it behind a thin wrapper application per brand. Shared services (a React operator dashboard, PDF generation and a generated JavaScript SDK) and per-brand Next.js guest sites complete the platform.

  • Shared Laravel PMS core that holds the business logic for every brand
  • Booking-channel API integrations (Airbnb, Booking.com)
  • Dynamic pricing pipeline via PriceLabs and guest experience via Duve
  • Shared React operator dashboard and PDF document service
  • Generated JavaScript SDK consumed by the brand front-ends
  • Per-brand Next.js guest sites (Luxico, Staylonger)
  • Datadog monitoring across every brand and environment

The stack

The stack is Laravel 10 on PHP 8.3 for the core, brand wrapper apps, a React and TypeScript dashboard monorepo, per-brand Next.js front-ends (Staylonger on the App Router with oRPC), channel integrations with Airbnb, Booking.com, PriceLabs and Duve, and Datadog monitoring across staging and production for each brand.

Channels & edgeAirbnb, Booking.com

Brand experiencesLuxico + Staylonger Next.js sites

API & integrationPriceLabs, Duve, generated JS SDK

OperationsReact dashboard, PDF service

Platform coreOne shared Laravel PMS package

Hosting & deliveryStaging + production per brand, Datadog

The outcome

Property data, pricing and guest communications stay synchronised across every booking channel from one system of record. A fix made in the shared core reaches every brand on the platform. A new brand experience needs only a thin wrapper and a front end.

Where it went next

National Digital started work on the platform in May 2023 and shipped the first release in 2024. New channel integrations, pricing rules and operator features have since gone into the shared core for every brand to use.

This case study describes real work delivered by National Digital across the Luxico and Staylonger brands. Selected figures are indicative and rounded.

Key Takeaways

What a shared platform core actually changes

  • Business logic written once in a shared core ships to every brand, so features and fixes are not rebuilt per brand.Critical

    The Laravel core package holds all shared property, availability and rate logic. Each brand runs a thin wrapper application around it, which means a change to booking rules follows one deployment path for all four consumer brands.

  • Channel integrations built for one brand are inherited by every other brand on the platform.Critical

    Each of the more than ten booking channels is integrated once at the core. A new channel is a single piece of platform work that every current and future brand picks up without its own integration project.

  • Brand independence sits in the front end while the backend stays shared.Important

    Each brand runs its own Next.js guest site against the shared core. That keeps pricing strategy, content and guest journey brand-specific while avoiding the divergent business logic that separate codebases produce over time.

  • Adding a consumer brand takes a wrapper application on the existing platform.Important

    A new brand starts with every channel integration, pricing rule and operator feature already built into the shared Laravel core. Its own work is limited to the wrapper application and a Next.js guest site.

Luxico, Staylonger and two other consumer brands run on one Laravel property-management core. The shared core owns business logic and channel integrations, and each brand owns its own guest experience. Work on the core is done once for all four brands.

Questions decision-makers ask about this build

Why run four consumer brands on one platform core instead of separate codebases?

Separate codebases mean every booking-channel integration, pricing rule and operator feature gets built more than once, and every bug gets fixed more than once. A single Laravel core package holds all shared business logic and each brand runs a thin wrapper around it, so an Airbnb or Booking.com integration is written in the core once and serves every brand on the platform.

How do the brands stay commercially distinct if they share a core?

The shared core owns business logic and leaves presentation to the brands. Each brand fronts it with its own Next.js guest site - Staylonger on the App Router with oRPC - and its own thin wrapper application, so pricing strategy, content and guest journey can diverge per brand while the property model, channel sync and operator tooling stay common.

What keeps property data and pricing consistent across Airbnb, Booking.com and direct bookings?

The core is the single system of record. It holds property data, availability and rates and pushes them to each channel, so no channel becomes a second source of truth. PriceLabs drives dynamic pricing and Duve handles guest experience through the same core. A rate change or a blocked date propagates from that one place, and nobody has to reconcile it by hand across four separate consoles.

What is involved in adding another consumer brand or booking channel?

A new brand needs its own thin wrapper application, a Next.js guest site, and staging and production environments with Datadog monitoring. The property model, channel sync and operator tooling come from the shared core. A new booking channel is one integration in the Laravel core, built against the same system of record that already feeds Airbnb, Booking.com, PriceLabs and Duve. Neither change requires forking the backend.

What does the operator side of the platform look like?

A shared React and TypeScript dashboard, a PDF document service and a generated JavaScript SDK all sit on the same core. The SDK is generated from the platform, and the brand front ends and the operator dashboard build against it. They stay in step with the core API as it changes because the build checks every call against a typed contract.

Would this architecture suit another multi-brand operator?

The code would not transfer as a template. It was built around Luxico and Staylonger, which run largely the same property-management rules over one system of record that National Digital controlled end to end. The design decision transfers: where to draw the line between shared domain logic and brand-specific experience. For another operator, that line depends on how much their brands share.

More client work

What's next

Building a multi-brand platform?

Luxico and Staylonger share one booking and property-management core built by National Digital. If you're weighing a similar consolidation, see how we approach custom booking and scheduling systems and system integration, part of our wider custom software development work.

Want a platform like this for your business?

Tell us what you're building. We'll come back within one business day with what we'd do first and what it would take.