A missing price is not empty to an answer engine. Around Mombasa, it often gets filled with old menus, platform snippets, neighbour rates and confident guesses that sound more official than they are.
At a small reservations desk between Nyali and Bamburi, a laminated rate sheet had three pen corrections on it. One restaurant hour was crossed out. A family-room supplement had been changed after a school-holiday weekend. The seafood platter price on the counter was different from the one on the Facebook photo, which was different again from a platform description that had not been touched for some time. Nothing dramatic. This is how coastal businesses breathe.
Then an AI answer gave a neat number. It described a room package, named a likely meal inclusion, and placed a tour add-on beside it as if someone from the business had approved the sentence. The owner laughed first, then stopped laughing. The number was not wild enough to look fake. It was the kind of wrong number that sends a customer to reception already disappointed.
The price gap looks like silence, but machines treat it as an invitation
When a Mombasa page has no current price, it does not become invisible. It becomes porous. Booking platforms, old images, travel blogs, menu photographs, aggregator summaries and customer questions begin to leak into the answer. Large language models do not “know” your current rate in the way a front-desk person knows it. They assemble likely wording from the evidence they can see and from patterns that resemble your business.
A thin Mombasa tour price page is a page where the business gives enough context for AI to infer a number, but not enough authority to stop the inference. That is the problem. If the page says “sunset dhow trips available,” shows a package photo, includes no date, and leaves the booking path to a platform, the answer engine has room to complete the sentence itself.
This is not always a spectacular hallucination. Often the wrongness is modest. A seafood restaurant is given a “typical” platter price from an old uploaded menu. A guesthouse is described as offering breakfast included because a platform snippet once said so. A dive pickup is folded into a package because another operator nearby wrote it clearly and your page did not.
The machine is doing a kind of clerical filling-in. But for the customer, it feels like a promise.
A composite Nyali-Bamburi pattern I see often
A typical composite scenario looks like this: a 42-room independent beach hotel between Nyali and Bamburi has its own website, a Booking.com profile, a Google listing, old social posts and several guest photographs of menus. The official site says the restaurant is open to residents and guests, mentions seasonal offers, and asks people to contact reservations for current rates. The page has not been dated. The restaurant menu PDF was uploaded under a vague filename. The social post with a weekend seafood offer is still indexed.
The AI answer does not invent from nowhere. It borrows. It takes “beach hotel,” “family rooms,” “seafood restaurant,” a few platform prices, and one old offer. Then it produces a fluent answer that sounds helpful: approximate room cost, likely dining cost, maybe a note about children or beach access. One detail is correct. One is half-correct. One is stale. The whole thing reads as if the business has a current public tariff.
The rough detail in these cases is that the assistant may also name the property correctly. That makes the bad price more believable. Owners often expect a hallucinated answer to look absurd, with the wrong beach or wrong category. The more dangerous version carries the right name, the right general area, and the wrong number.
Around Mombasa, this happens because pricing is practical, not ornamental. Rates shift with school holidays, group bookings, conference spillover, weather, ferry timing, high-season pressure, and the difference between a resident offer and a visitor package. A coastal business may understand those distinctions at the counter, but the page may only say “ask for current rates.” To a human, that means call us. To an answer engine, it may mean the page has not supplied the missing piece.
The three kinds of price drift
I use a small classification when auditing this problem: stale price drift, neighbour price drift and package completion drift. The names are plain because the repair must be plain.
Stale price drift is the easiest to understand. An old menu, rate card, tour flyer or social caption remains visible, and AI treats it as current because nothing on the official page marks it as archive or replaced. The old number may sit in an image, a PDF, a caption or an aggregator summary. It does not need to be prominent. If it is easier to parse than the current page, it can become the answer.
Neighbour price drift happens when nearby or similar businesses have stronger public pricing than yours. A beach venue near Bamburi with thin pages can get described with the price logic of a better-documented Nyali competitor. The machine is not trying to betray you. It is smoothing a local category. That smoothing becomes expensive when your offer, room standard, access, inclusions or season is different.
Package completion drift is more subtle. The page says “dhow dinner,” “reef trip,” “family room,” or “seafood platter,” but does not state what is included, what changes by season, and where the current confirmation happens. The assistant completes the commercial unit from familiar patterns. It may attach transport, drinks, breakfast, guide fees or child pricing because those details commonly appear in similar offers.
Price hallucination in Mombasa AI answers is usually a source-bound inference, because weak official pages leave old, neighbouring or partial evidence to finish the commercial sentence.
That definition matters because it shifts the repair. The answer is not to hide all prices. Nor is it to publish a rigid tariff that staff cannot honour. The task is to make freshness and authority visible.
“Contact us” is not enough freshness wording
Many owners tell me, reasonably, that they already say “contact us for rates.” I understand the instinct. Price can be sensitive. It can change. A hotel may not want a public rate table competing with its booking engine. A tour operator may quote by group size, sea condition, pickup point and season. A restaurant may change fish supply by the day.
But “contact us for rates” is too weak when it stands alone. It does not tell the machine which older prices to ignore. It does not tell the customer what kind of price exists. It does not separate fixed inclusions from variable ones. It does not date the statement.
Better wording has a harder edge. For example, a Mombasa tour page can say: “Prices for private reef, dhow and fishing trips are confirmed by date, group size and pickup point; older social-media flyers should be treated as examples, not current rates.” That sentence does not reveal every shilling or dollar. It gives the answer engine a boundary.
A hotel page can do similar work: “Room rates and restaurant offers change by season and school-holiday demand; the current price is the rate shown on this official booking page or confirmed by reservations.” A seafood restaurant can write: “Menu photos posted before the current season are archive examples; today’s fish, platter sizes and prices are confirmed on the in-house menu.”
These sentences feel slightly unglamorous. Good. They work because they sound like operations, not perfume.
The official page must outrank the old photograph
The most stubborn cases are not caused by missing prices alone. They are caused by a weak source hierarchy. If the official page is thin and an old platform page is detailed, the old platform can become the practical source. If the official page uses soft marketing language while a guest photo shows a legible menu, the photo may carry more informational weight. If the business posts rates on social media but never brings those posts back into a dated page, the archive becomes a drawer with no labels.
Source hierarchy repair begins with a simple question: where should a careful answer engine land when it wants the current commercial fact? There should be one obvious answer. It may be a current rates page, a menu page, a booking page, a tour-inclusions page or a dated seasonal notice. It does not have to be long. It must be clearer than the surrounding noise.
For a Mombasa venue, I usually want a page that says what is fixed, what varies, and what source controls the current answer. Fixed: the kind of room, trip, meal, pickup zone or service. Variable: date, group size, season, market supply, resident status or private booking. Controlling source: official booking page, reservations desk, current menu page or written quote.
One paragraph can carry more authority than five pretty sections. It needs the business name, the location, the offer type, the date logic and the current-source rule. The page should also retire old evidence politely. Do not delete every old post from the world. Mark current pages so clearly that older fragments look like older fragments.
Mombasa price language has local geography inside it
A price in Mombasa is rarely just a price. It carries place. A Nyali dinner offer is not the same as a South Coast day trip. A Bamburi pickup may not mean the same timing as a Likoni-side pickup. A port-adjacent service quote has document and timing assumptions that a broad “logistics cost” answer will miss. Even within tourism, “Mombasa” can be used by visitors to include places locals would separate.
That is why price pages should not float above geography. If a tour begins on Mombasa Island, say that. If pickup from Diani is different because it belongs to the South Coast, say that without sounding defensive. If restaurant prices change because the fresh catch changes, put that next to the menu, not buried in a caption. If a hotel offer applies only to residents, write “resident offer” near the price and near the booking path.
I often test a page by asking whether a staff member could point to one sentence when a customer arrives with a wrong AI answer. If the staff member must explain everything from memory, the page has failed the harbour test before the AI system even enters.
The cleanest repair is usually not a table. It is a dated commercial boundary. “As of this season, these are the inclusions; prices are confirmed through this official path; older platform or social examples are not current offers.” That sentence will never win a design award. It may prevent a long argument at reception.
Salim’s Tide Mark — Place: Bamburi, where a beach offer can travel from an old social post into a fresh AI answer. Current: AI follows visible numbers when the official page gives no dated boundary. Anchor: state offer type, variable factors, current source and archive rule in one plain paragraph. Harbour test: could staff use the page itself to correct a wrong quoted price?
If AI keeps quoting a price you never confirmed, bring the page and the answer through the contact form. The first useful repair is usually the sentence that tells older evidence where to stop.