01Whose rooms are these — do we own any inventory?
None — every room belongs to an independent supplier hotel that also sells through its own site and rival channels, so our availability data is a cache of someone else’s truth and is stale the moment we write it.
02What does a guest search actually return?
City plus dates plus guests returns ranked hotels with price and availability served entirely from our cached snapshot — fresh enough to browse and compare, never trusted enough on its own to take money against.
03What exactly happens when the guest clicks book?
The system re-asks the real supplier before committing: revalidate availability and price live, reserve with the supplier, charge the guest, then confirm — a saga where the supplier’s answer at each step, not our cache, is the truth.
04How do thousands of different hotel systems feed us their rooms and prices?
One integration layer normalizes heterogeneous channel-manager and PMS (property management system — the hotel’s own front-desk software) APIs into a single internal availability-and-rate model, taking push webhooks from suppliers that support them and scheduling polling for the long tail that do not.
05The cache said available but the hotel says no — then what?
A rejected booking is a designed flow, not an error page: tell the guest honestly, correct the cache immediately so the same lie is not shown again, and offer comparable rooms at a similar price in one tap.
06Can guests cancel, and whose rules apply?
Yes, under the rate’s own cancellation policy: cancel runs as another saga leg — cancel with the supplier first, refund second — because the supplier’s books are the system of record and our booking row only mirrors them.