The revenue system is the product.
Ask a hotel group who owns revenue and you will get three answers, delivered with equal confidence by three people who each believe they are the one telling the truth. Revenue management owns the rate, set nightly in IDeaS or Duetto against a forecast nobody outside the team has ever fully audited. Distribution owns the channel, tuned in a channel manager and reconciled against Booking.com and Expedia extranets by a person who has never met the revenue manager in person. Loyalty owns the guest, guarding a member database in a CRM that neither of the other two systems reads from in real time. All three report to different EVPs. All three run on different systems, on different contracts, renewed on different anniversaries. All three optimise a different objective, and none of the three objectives is the same objective the guest experiences.
The result is a business that competes on price against itself, cannibalises its own direct channel to satisfy an OTA's rate parity rule, and cannot explain to a loyalty member why the app quoted twelve pounds more than the price Skyscanner surfaced from a wholesaler forty minutes earlier. Every hotel group we have advised has some version of this story, and almost none of them think of it as an architecture problem. They think of it as a coordination problem, solvable with a weekly meeting between the three department heads. It is not a coordination problem. It is three pieces of software that were never designed to agree with each other, staffed by three careers built on keeping it that way.
Three departments, one guest
The guest does not know which department owns which lever, and has no reason to care. The guest sees one number, on one screen, at one moment: the rate quoted when they open the app on a Tuesday evening to book a weekend away. When that number is wrong, or worse, is one figure in the loyalty app and a different, lower figure on a metasearch page like Google Hotels five minutes later, the guest does not conclude that a distribution analyst has misconfigured a rate parity rule against a wholesale channel. The guest concludes that the brand's app cannot be trusted, and books the wholesale rate instead, taking the margin difference with them and leaving the brand to pay the OTA's commission on its own inventory.
This is not a hypothetical. Rate parity breaches, where the price on a hotel's own channel is undercut by a third-party channel for the identical room and dates, are one of the most persistent sources of margin leakage in the industry, and almost never caused by bad intent. They are caused by three systems updating on three different cadences: the revenue management system repricing hourly, the channel manager pushing updates to OTAs on a slower batch cycle, and the loyalty engine calculating a member discount off a rate cached at check-in that morning. Nobody designed the mismatch. Nobody owns fixing it end to end, because no single role has visibility across all three systems at once.
Airlines have the same structure under a different vocabulary. Revenue management sets the fare class inventory. Distribution manages the GDS feed, direct connects, and NDC channels, often through Sabre or Amadeus infrastructure that predates the airline's loyalty programme by two decades. Loyalty manages miles, tier benefits, and increasingly a co-brand credit card portfolio that generates steadier margin than the flights themselves. A member who redeems miles for a seat revenue management would have sold for cash at a higher yield is a daily, silent disagreement between two systems never asked to reconcile with each other in real time.
The pattern generalises to tour operators and OTAs, where a supply team negotiates net rates, a merchandising team decides what to show and in what order, and a loyalty team decides who gets a better price for repeat custom, again on three different data models. Wherever the industry has organised pricing, distribution, and loyalty as separate functions, it has also organised them as separate systems, and the guest pays the coordination cost every separation creates.
Why the org chart made sense in 2005
In 2005, the systems that ran pricing, distribution, and loyalty were bought from three different vendors, on three different contracts, running on three different databases. A hotel group's revenue management system might have been an early IDeaS or a homegrown spreadsheet model. Distribution ran through a channel manager wired into a GDS and a handful of early OTA connections. Loyalty sat in a Siebel or homegrown CRM instance the marketing department guarded jealously. It was cheaper and faster to organise the humans to match the software than to ask three vendors to integrate on anyone's timeline but their own.
That organisational choice was rational in 2005. The technology genuinely could not support a unified view, integration standards were primitive, and the cost of building a shared data layer across three vendor platforms would have dwarfed the cost of three separate teams managing three separate systems. The org chart was a sensible response to a real technical constraint.
Twenty years on, the technical constraint has substantially disappeared. Modern data platforms and API-first vendors, including newer entrants in the PMS and revenue management space built on open schemas, make a shared data plane a realistic eighteen-month programme rather than a five-year fantasy. What has not disappeared is the organisational structure built around the old constraint. The software could now be unified. The humans have spent two decades building careers and political capital on the separation, and organisations do not surrender structures that took twenty years to build just because the excuse for them expired quietly around 2018.
This is why so many unification initiatives stall at the technology layer and never reach the org chart. A CIO commissions a data lake that ingests feeds from all three systems, declares victory, and the three departments continue operating exactly as before, now with an expensive read-only mirror of their disagreement sitting in cloud storage. The technology got modernised. The decision-making did not move an inch, because nobody touched the reporting lines or the incentive structure that the reporting lines protect.
What a revenue system actually looks like
A genuine revenue system starts with one data plane. Every rate, every stay, every point, every channel, every guest interaction, in a single, current warehouse that the pricing model, the distribution router, and the loyalty engine all read from and write to, in something close to real time rather than nightly batch. Not three systems periodically synchronising snapshots of each other's state and hoping the snapshots do not drift apart between syncs. One authoritative record of what is true right now, queried by all three functions simultaneously.
On top of that data plane sits one decision layer. When a member opens the app, the system already knows, in the same moment, what room to show, at what price, on what channel, with what offer attached, because pricing, availability, and loyalty status are being evaluated together, not as three separate systems phoning each other over an API at request time and hoping none of the three calls times out. This is the architectural difference that actually matters: not three systems talking to each other faster, but one system that never had to ask three questions in the first place because it already held the answer to all three.
The practical shape of this, for a hotel group, usually involves retiring or radically narrowing at least one legacy platform. A group moving toward a unified revenue system typically keeps a strong pricing engine, something in the IDeaS or Duetto category, as the forecasting brain, but strips out the standalone loyalty rules engine and channel manager decision logic, replacing both with services that read from and write to the shared data plane rather than keeping their own shadow copies of guest and rate data. The PMS, whether Oracle Opera, Cloudbeds, or Mews, becomes a system of record for stays and folios, feeding the plane rather than sitting beside it as a fourth island.
For airlines, the equivalent move links fare class inventory management directly to loyalty redemption logic, so that a seat is evaluated once, against both cash and miles demand simultaneously, rather than revenue management setting inventory first and loyalty being handed whatever is left over. It also means distribution, whether through NDC-based direct connects or traditional GDS channels via Sabre or Amadeus, draws from the same live inventory and pricing state that a direct booking on the airline's own site draws from, closing the gap that lets a GDS-sourced fare undercut the airline's own channel by a currency rounding error nobody intended.
The organisational reshape that follows
You cannot ship a unified revenue system with three separate teams and three separate roadmaps defending their remit in the same planning cycle. The technology change and the organisational change have to land together, or the technology change will be quietly resisted into irrelevance. This is the step most transformation programmes skip, because it is the step that makes enemies.
The reshape, in the groups that have actually pulled this off, tends to converge on a single accountable owner, often titled something like VP of Revenue Systems or Chief Commercial Officer depending on the group's size, with pricing, distribution, and loyalty reporting into that one seat rather than three peers negotiating across a conference table. It also tends to converge on a single engineering organisation that owns the data plane and the decision layer as shared infrastructure, rather than three engineering teams each maintaining their own integration code against the other two.
The metric that has to change alongside the org chart is total revenue per available guest, or an equivalent blended figure, replacing channel margin, RevPAR, and loyalty cost-to-serve as three separately incentivised numbers. As long as a distribution team is bonused on direct channel mix alone, it will make decisions that protect that number even when they cost more in loyalty goodwill or yield than they save in OTA commission. Aligning the metric is what aligns the behaviour; aligning the org chart alone just changes who sits in which meeting.
This is uncomfortable in a way that buying new software never is. Software procurement does not require anyone to give up a direct report or admit that their function duplicates another's. Org redesign does. That discomfort is precisely why most attempts at a unified revenue system quietly become a data integration project instead, since one can be delivered without anyone losing a title.
The mistake to avoid
The most common mistake is buying a fourth system, calling it a customer data platform or a decision engine, and layering it on top of the three systems already in place, leaving pricing, distribution, and loyalty exactly where they were. That is not a revenue system. That is an expensive report. It gives the organisation a single dashboard to look at while three separate systems continue making three separate, uncoordinated decisions underneath it.
Data warehouses are inventory. A revenue system is a nervous system: one decision, on one data plane, in real time.
The tell is straightforward and worth writing down before any transformation roadmap is approved: a genuine revenue system replaces or radically narrows the scope of at least one of the three legacy platforms it touches. If a roadmap for a unified revenue programme does not name the specific system being retired, and the specific quarter it goes dark, the initiative is a data project wearing a strategy deck's clothing. Ask the question in the steering committee directly. The answer, or the silence that follows it, tells you whether the programme will change anything.
A second, related mistake is sequencing the organisational change after the technology change, on the theory that people will naturally reorganise once the old structure looks obviously redundant. They do not. Departments defend budget lines and headcount long after the technical justification has expired; we have watched groups run duplicate reconciliation processes for over a year after a unified data plane went live, purely because nobody had formally stood down the manual process. The organisational decision has to be made alongside the technical cutover, not after it.
A third, smaller mistake is treating this as a one-off programme rather than an operating model change. Groups that succeed do not run an eighteen-month unification project and return to business as usual, with three departments slowly re-diverging over the following five years. They change how pricing, distribution, and loyalty decisions get made permanently, with a standing forum and a standing engineering team, not a project team that disbands at go-live. Our capabilities work in this area is built around that distinction, and it is also the throughline in why the RFP is broken for travel technology: a system this consequential has to be built by people who will still be accountable for it in year three, not people optimising for a signature.
The three tests for whether your revenue system is real
Boards and CIOs asking whether a revenue transformation programme is a genuine architectural change or a relabelled reporting project can apply three tests, in order, before approving the next tranche of budget.
1. The retirement test. Name the legacy system, by product name, that will be switched off or reduced to a narrow system-of-record role within the programme's timeline. If the answer is none, or if the answer is vague about timing, the programme is additive rather than unifying, and it will add cost without removing the coordination failure that caused the problem in the first place. 2. The single-query test. Ask whether a single query against the data plane can return, in one call and in under a second, the current rate, current availability, and current loyalty status for a specific guest on a specific date. If the honest answer requires calling three different systems and reconciling the results in application code, the data plane is a mirror, not a source of truth, no matter what the architecture diagram claims. 3. The incentive test. Check whether the people running pricing, distribution, and loyalty are bonused, even partially, on a shared, blended revenue metric rather than three separate departmental numbers. If the three functions still have three separate targets that can each be hit while the other two are missed, the organisational reshape has not actually happened, regardless of what the org chart says on paper.
These three tests are deliberately hard to fake. A vendor slide can claim unification. A retirement date, a query that either works or does not, and a compensation plan that either shares a metric or does not, cannot be talked around in the same steering committee meeting where the claim was made. Apply all three before the next funding tranche, not after the department heads have quietly rebuilt their old boundaries inside the new software.
What this looks like in practice
A regional hotel group with around forty properties across two countries came to the view, after a bruising rate parity dispute with its largest OTA partner, that its problem was not the OTA relationship but its own internal plumbing. Revenue management ran a well-regarded pricing tool that produced strong forecasts. Distribution ran a separate channel manager pushing those forecasts to twelve channels on a schedule the pricing team did not control. Loyalty ran a member database of roughly a quarter of a million active members with no real-time visibility into either of the other two systems.
The group's first instinct was to buy a business intelligence layer pulling nightly extracts from all three systems into a single dashboard for the executive committee. We argued against it. A nightly dashboard would have told the committee, twelve hours late, that a parity breach had happened. It would not have stopped the breach, and it would have cost eight months to build something that functioned as an expensive incident report.
Instead, the programme centred on a shared data plane fed in near-real time by the pricing engine, the channel manager, and the loyalty platform, with a single decision service resolving rate, availability, and member status together before any channel, direct or OTA, was shown a price. The channel manager's own rate-push logic was narrowed to a pure distribution function; that decision now lived in one place. The loyalty platform stopped keeping its own cached rate table and began querying the shared plane live the moment a member opened the app.
Eleven months in, the group retired the standalone channel manager's decisioning module entirely, keeping only its connectivity layer to the OTAs, and folded distribution reporting into the same team that owned pricing, under a newly created revenue systems lead reporting to the chief commercial officer. Rate parity breaches, tracked weekly, fell by roughly seventy per cent within two quarters of cutover, and the loyalty team could finally explain to a member exactly why a price differed across channels, because there was one true answer to look up rather than three systems to reconcile by hand.
We have helped travel businesses collapse three revenue teams into one and retire the legacy systems that held them apart. If that is the roadmap on your desk, we should talk.