Quote Journey
Quote Journey shows how often a searchable hotel option still quotes cleanly, and what changed when it did not. It is not a booking P&L screen — use Business Analytics for GMV — and it is not a single-error debugger — use API Performance and Transactions.
Open: app.bundleport.com/connect/quote-journey (connect.read). The screen may appear under preview visibility until the rollout criteria are met.
How to read it
- Each quote attempt keeps several independent change flags (price, cancellation, surcharges, …). Charts also show one primary outcome so the mix is easy to scan.
- Rates default to first attempt per option. Retries of the same sold-out option are labelled separately so they do not inflate “new” inventory failures.
- Language is association, not cause. A higher book rate after a clean quote does not prove the outcome caused the booking.
- Stamp coverage is data quality: until a connection writes authenticated search baselines, many quotes show “no baseline” and rate denominators shrink.
Filters
- Date preset: 24 hours, 7 days, 30 days, or custom (default 24 hours)
- Environment (
prod,test, or all) - Provider (both modes): the providers with quotes in the selected range; in seller mode, only the providers your organization owns
- Buyer mode: connection
- Seller mode: no connection filter; data covers the providers your organization owns
Hotel, destination country, and search age are grouping dimensions on the Changes tab, not page filters.
Freshness (not real-time)
Quote Journey is built from pre-aggregated analytics, not a live query on every request. Those aggregates refresh about every 15 minutes, with a fuller nightly rebuild. Prefer the 24h window for a stable picture; shorter ranges can look thin until the next refresh. Conversion still uses matured cohorts (recent days excluded so late books can land).
Tabs
Overview
Buyer
- Clean quote, price change (with a “> 2%” sub-line), cancellation change, surcharge change, sold-out on first attempt, replay ratio
- Daily stacked mix of primary outcomes
- “What changed” — flag rates independent of the primary label (one quote can have several)
- Exposure by currency, one row per currency and never converted: cumulative sell-price increase, provider net increase, and pay-at-hotel mandatory fees not included in the rate
Seller
- Availability accuracy, rate accuracy, policy stability, fee transparency
- Primary outcome mix on the provider-net side
- Exposure by currency: provider net increase and pay-at-hotel fees
- Aggregates across buyers; buyers and connections are never shown
Changes
Group by connection (buyer only), provider, hotel, destination country, search age, or currency. Buyers see change rates; sellers see the four accuracy indices. Each row also shows the median (p50) and p90 price delta among quotes whose price changed (sell price for buyers, provider net for sellers), the price increase and the pay-at-hotel fees, one amount per currency.
Rows are ranked by the 95% interval, not the raw point estimate, so a small sample does not outrank a reliable problem: change rates by their lower bound (highest first), seller accuracy indices by their upper bound (lowest first). Rows with an insufficient sample (fewer than 20) show a dash, are dimmed, and go last.
In seller mode, hotels with fewer than 10 first attempts or a single buyer over the selected range appear as _other for privacy; buyers always see every hotel of their own traffic. Export CSV from the table. The search-age chart shows buckets from newest (under 5 minutes) to oldest (over 24 hours).
Conversion (buyer only)
Quote-to-book rates by primary outcome and by flag, for matured cohorts only (recent days are excluded so late books can land). A dashed line marks the overall rate, so each bar reads as above or below it. Treat the rates as association. If book-link coverage is below 95%, the tab warns that the conversion rate may be understated.
Data quality
Stamp coverage, link coverage, book-link rate (buyer), classifier version, and when the derived data was last computed (data_as_of). That timestamp reflects the last pipeline run (~15 minutes cadence), not “now”. Low stamp coverage for a few hours after a connection is enabled is expected. If a request fails, the tab shows an error with a retry button instead of an empty chart.
Buyer tips
- Always inspect
surchargesthat are mandatory and not included, andcancelPenalties, even when the primary label is OK or cancellation-changed. - A surcharge category of
OTHERwith a descriptive fallback is still a tax or fee; the provider did not send a typed category. - Forward availability
searchIdascriteria.search_idon quote so the journey can link search→quote. See Observability.
Seller tips
- Indices measure whether what search showed can still be quoted (availability), whether provider net stayed stable (rate), whether cancellation terms drifted (policy), and whether surcharge sets drifted (fees).
- You never see buyer organization or connection identifiers.
- A hotel cell may appear as
_otherwhen volume is low or only one buyer contributed — that is intentional privacy aggregation.