Skip to content
Good to know:Every point on this page links to the place you can verify it. Several of them describe modules in design-partner preview rather than in production across many customers — the badge on each linked page says which. A differentiator you cannot check is a slogan, so if any link here stops proving its claim, the claim should be deleted rather than reworded.

Honesty

The claims we refuse to make. This is the category most travel platforms compete in by exaggerating; we compete in it by not.

Every capability carries its real stage

Live, design-partner preview or roadmap is printed on every module, API and template across the site — including the ones that are not built.

Why it matters
You find out what is missing on the marketing site instead of during integration, which is the most expensive moment for both sides.
Instead of
Feature grids where a shipped feature and a slide look identical until an engineer tries to call it.
Check it: Platform maturity

We publish a status page that admits what is not live

Flights, transfers, activities and payments are listed as 'not live' on our own status page, and we explain why no uptime chart is published yet.

Why it matters
A status page that only ever shows green is a marketing asset. One that shows gaps is an operational commitment.
Instead of
A fabricated 99.99% badge measured against no traffic.
Check it: Service status

No certification badges we have not earned

Our security page names what we do not hold — no SOC 2, no ISO 27001, no completed penetration test — in the same list as what we do.

Why it matters
If a certificate is a hard requirement for you, you can disqualify us in thirty seconds instead of three months.
Instead of
A wall of compliance logos that turn out to belong to a subprocessor.
Check it: Security

Coverage is stated as your contracts, never as our number

We do not publish a hotel count. Coverage is the union of the suppliers you are contracted with, and market figures are attributed to the aggregators who publish them.

Why it matters
A borrowed inventory number is the single most common overclaim in travel technology, and it collapses the first time a customer searches a secondary city.
Instead of
'Access 2 million hotels' printed above a footnote nobody reads.
Check it: Hotel API coverage

Case studies are labelled as scenarios, because we have no customers to name yet

Our build scenarios say plainly that they are illustrative and that no reference customer exists.

Why it matters
You can weigh our claims correctly instead of assuming a track record that is not there.
Instead of
Anonymous 'a leading OTA' stories with invented percentage uplifts.
Check it: Build scenarios

Distribution

What happens between your search box and seven supplier APIs that each behave differently.

A slow supplier degrades a result set, never a page

Searches fan out in parallel with a per-supplier time budget. Suppliers that miss it are reported by name in the response and the result is marked `partial: true`.

Why it matters
Your conversion stops being hostage to your worst supplier's worst day, and you can attribute a coverage gap to the exact connector that caused it.
Instead of
A spinner that waits for the slowest integration, then fails the whole search.
Check it: Break a supplier yourself

Uncertain hotel matches go to a human, not to a guess

Property matching scores candidates into three bands — auto-merge, reject, and a review queue for the uncertain middle — and the engine runs live on our own site, so you can move the thresholds and watch the bands change.

Why it matters
A wrong merge sells a room in the wrong building. That costs far more than the review does, so the uncertain band is never resolved by rounding.
Instead of
A similarity threshold that silently merges whatever clears it.
Check it: Run the matcher yourself

Room mapping is treated as its own problem

Agreeing on the hotel does not mean agreeing on the room. Room descriptors run through a separate matching stage with its own attributes, its own hard conflicts — a king is never a twin, an accessible room is never a standard one — and its own review queue.

Why it matters
'Deluxe King City View' and 'Superior Double, City Facing' may not be the same product, and a guest arriving to the wrong room is a refund plus a review.
Instead of
Property-level mapping presented as if it solved room-level ambiguity.
Check it: Hotel mapping

Every connector has an error budget and can be shed automatically

When a supplier burns through its budget, the platform drops it from the search fan-out rather than letting it drag every search down.

Why it matters
One misbehaving integration stops being a platform-wide latency tax, and the decision is a rule instead of an argument.
Instead of
A supplier that stays in the rotation until somebody notices the conversion drop.
Check it: Watch a connector get shed

Supplier reporting is percentiles, not averages

p50, p95 and p99 per supplier, plus the share of searches each one actually answered in time.

Why it matters
An average response time hides exactly the tail that loses bookings. Percentiles let you argue with a supplier using numbers they cannot wave away.
Instead of
A single 'average response: 1.2s' tile that is true and useless.
Check it: See real percentiles

Correctness

The failure modes that cost real money — duplicate bookings, phantom bookings, repriced rates — and how each one is closed.

A supplier timeout is an unknown outcome, not a failure

Booking intent is journalled before the supplier is contacted, then reconciled by querying with your client reference until the true state is known.

Why it matters
Treating a timeout as failure creates duplicate bookings; treating it as success creates phantom ones. Both are paid for by your operations team.
Instead of
A try/catch that decides your customer's reservation does not exist.
Check it: Break a supplier yourself

Re-validating the rate before payment is mandatory, not optional

There is a required call that re-checks the chosen rate against the supplier immediately before money moves, and it tells you whether the price held.

Why it matters
Suppliers reprice between search and booking. This is where you find out — before the card is charged rather than after.
Instead of
Trusting the searched price and absorbing the difference, or failing post-capture.
Check it: Idempotency and errors

Every state-changing call requires an idempotency key

Not offered, required. Replaying a key returns the original booking with an explicit `X-Idempotent-Replay` header instead of creating a second one.

Why it matters
The dangerous request is not the one that fails cleanly, it is the one whose response you never received. This makes retrying safe by default.
Instead of
An optional idempotency header that half of integrations forget to send.
Check it: Idempotency

Cancellation policies are structured data, not prose

A policy is an array of absolute deadlines and amounts, not a sentence for your front end to parse.

Why it matters
You can render an honest countdown, automate refunds correctly, and stop arguing with customers about what a supplier's paragraph meant.
Instead of
A free-text `cancellationPolicy` string that every integrator regexes differently.
Check it: Hotel API

Commercial

Margin, credit and price, treated as data you can audit rather than logic you deploy.

Your margin is data, and it can be explained six months later

Markup, commission, tax and fees are rules with versions and effective dates. The computed breakdown is stored on the booking, not recomputed on read.

Why it matters
A commission dispute is settled by looking at what the engine decided at the time, instead of re-running today's rules against an old booking.
Instead of
Margin logic in the storefront, where a commercial change needs a release.
Check it: Run the pricing engine

Agent credit is enforced before the supplier is contacted

An agent at its limit is stopped at the point of sale. The check happens in the booking path, not in a monthly review.

Why it matters
Credit exposure stops being something you discover after the loss.
Instead of
A credit limit tracked in a spreadsheet and reconciled at month end.
Check it: B2B platform

We quote prices instead of publishing a number we would renegotiate

No price list. We name the three variables that actually move your cost — look-to-book, supplier mix and surface area — and quote against them.

Why it matters
A headline price chosen to look attractive is renegotiated the moment the first invoice lands. Showing the working is faster than that.
Instead of
$39/mo on the pricing page and a very different number on the contract.
Check it: Pricing

Region

The Middle East and North Africa as the first market, not as a localisation ticket.

Arabic is authored right-to-left, not mirrored

Our RTL templates are laid out right-to-left from the grid up — search panel, price alignment, icon direction, form flow — then work in LTR. Not the reverse.

Why it matters
A mirrored English layout reads like a translation, and buyers in this market notice within seconds. This is the difference between selling in the region and shipping into it.
Instead of
`direction: rtl` applied to a layout designed in English.
Check it: Souk template

Umrah and Hajj are a modelled product shape, not a re-skinned hotel

Dated programmes, fixed departures, distance to the Haram as a first-class attribute, visa and document checklists, family booking as the default path.

Why it matters
The largest travel product in this region does not fit a hotel search box, and every platform that pretends otherwise loses the operator's real catalogue.
Instead of
A hotel template with a different photograph on the hero.
Check it: Ihram template

Design

What you are actually shown before you buy.

The design marketplace renders live, with no screenshots and no stock photos

Fourteen templates are real components reading theme variables, which is why one palette click repaints all of them at once — by the same mechanism that themes a real tenant.

Why it matters
You are judging the layout and the logic, which is what we are responsible for, instead of a photographer's work. And your own brand is simply a ninth palette.
Instead of
A gallery of JPEGs that will never look like the thing you are sold.
Check it: Design marketplace

The twenty-first

We will tell you when the answer is no

If what you need is on our roadmap, or if you would be better served building it yourself, you will hear that on the first call. It is the cheapest thing we can give you and the rarest thing in this category.