Industry
Travel & hospitality software: inventory, suppliers and the truth about availability
Systems that hold up when twelve suppliers disagree about what is available.
Common challenges
What tends to go wrong
-
<strong>Multi-supplier aggregation.</strong> A single search may need to query a channel manager, two bed banks, a DMC contract, an airline consolidator and a car supplier — each with different latency, different response shapes, different failure modes, and different definitions of what "available" means. The slowest partner sets your page speed unless the architecture says otherwise, and one partner returning nonsense must not empty the whole results page.
-
<strong>Rate parity and dynamic pricing.</strong> Contractual parity obligations mean the price on your site and the price on an OTA have to stay in a defined relationship, while both move constantly. Static markup rules break the first time a supplier runs a flash promotion; the system has to reason about the rule, not just apply the last number it saw.
-
<strong>Availability that is never quite current.</strong> Inventory pushed to a dozen channels is stale in every one of them the moment a booking lands anywhere. Overbooking is expected within tolerances, so the design question is not preventing it but detecting it fast, resolving it gracefully, and never letting the same physical room be confirmed twice by two different systems.
-
<strong>The cancellation cascade.</strong> A single cancellation triggers a chain: release inventory, reverse supplier bookings, apply the correct policy from a contract that may differ per rate plan and per season, calculate a refund net of non-refundable components, process the payment reversal, adjust commission, and notify everyone. Getting any step wrong costs real money and produces a dispute months later.
-
<strong>Seasonality that is genuinely extreme.</strong> Traffic during a wedding season, a festival window or a fare sale can be twenty times an ordinary Tuesday, and it arrives within an hour. Systems sized for the average fail exactly when the year's revenue is being made.
-
<strong>Payments and settlement complexity.</strong> Multi-currency pricing, partial payments and deposits, pay-at-hotel versus prepaid, supplier settlement in a different cycle from customer collection, chargebacks against bookings already consumed, and commission reconciliation across agents and OTAs — all of which have to add up at month end.
-
<strong>Legacy protocols that will not be replaced.</strong> GDS and older supplier interfaces are not going away, do not offer test environments worth the name, and behave differently in production than in documentation. Anything built on them has to be defensive by default.
How we address it
What we build instead
-
<strong>Aggregation with per-supplier isolation.</strong> Every supplier gets its own adapter, its own timeout budget and its own circuit breaker. Searches fan out in parallel and return what has arrived when the budget expires, so a slow bed bank costs you its results rather than the entire page. A supplier failing repeatedly is taken out of rotation automatically and reported, rather than degrading every search silently.
-
<strong>A rate engine that models rules, not numbers.</strong> Markups, commissions, contracted nets, seasonal overrides and parity constraints are stored as rules and evaluated at quote time, with the resulting price snapshotted onto the booking. That snapshot is what makes a dispute answerable six months later: you can show exactly which rule produced which number on which day.
-
<strong>Booking as a saga, not a transaction.</strong> A multi-supplier booking cannot be one database transaction, so it is modelled as a sequence of steps with explicit compensation. If the hotel confirms and the transfer fails, the system releases the hotel rather than leaving a customer with half a holiday and an operator with a manual mess. Every step is idempotent, because suppliers retry and duplicate.
-
<strong>Availability treated as a cache with a confidence level.</strong> Inventory is pushed and pulled continuously, with the system distinguishing between what it believes is available and what has been confirmed. Confirmation happens at the last possible moment, and the interface tells the truth when it changes — a clear, immediate "this just went" beats a confident booking that fails at the supplier.
-
<strong>Cancellation policy as data.</strong> Policies are structured per rate plan and season, with the applicable terms captured onto the booking at the time of sale. Refund calculations, supplier reversals and commission adjustments then follow deterministically instead of being re-derived by a human under time pressure.
-
<strong>Built for the peak, not the average.</strong> Search results and static content are cached aggressively, expensive work is queued, and rate limits sit at the edge. Load testing targets last year's busiest hour, because that is the hour the system is actually for.
-
<strong>Reconciliation as a first-class module.</strong> Supplier statements, OTA commission reports, payment gateway settlements and your own bookings are matched automatically, with the exceptions surfaced for a human. Most travel operators do this in spreadsheets; it is the single highest-value thing we automate for them.
Outcomes
What typically improves
- What changes in practice: search results stop being hostage to the slowest supplier, and a partner outage stops taking the site down with it. Failed bookings stop leaving orphaned supplier reservations that somebody discovers on a statement weeks later.
- Rate changes propagate from one place rather than being repeated across channels by hand, and parity questions have an auditable answer. Cancellations resolve on policy rather than on judgement, which removes both the disputes and the evenings spent settling them.
- And month-end reconciliation stops being a week of spreadsheet archaeology: what matched, matched automatically, and what did not is a short list of genuine exceptions with the evidence attached.
Frequently asked questions
Can you integrate with our channel manager or PMS?
Can you integrate with our channel manager and PMS?
How do you handle peak booking periods?
How do you handle a supplier being down during a search?
Can we take direct bookings alongside the OTAs?
What happens when a booking half-succeeds?
Can you build a B2B agent portal as well as a consumer site?
How do you deal with rate parity obligations?
Our peak is twenty times our average. Can the system cope?
Do you work with GDS and older supplier protocols?
Can you automate our commission reconciliation?
Building for travel & hospitality?
Tell us how the operation runs today. We will tell you where software would actually help.