The outright variant of bookmakerOddsComparison renders a tournament winner market (e.g. the Premier League Winner): one row per outcome (the competing clubs or nations) and one column per configured brand, each cell holding that bookmaker’s price for that outcome, served from the outright snapshot pre-aggregated by the odds-pipeline-worker. The best price in a row is highlighted, brand logos head the columns and a BET NOW button closes each column.
The variant is selected by the config record: a Sanity Bookmaker Odds document with Market = Outright, referenced by configid — the recommended setup and the one every example below uses. market, internalEventId and brands come from the record; the tag carries only the slug plus the top-level display attributes. (An inline configuration JSON with "market":"outright" works the same way; see the Bookmaker Odds Comparison page for that form.)
Everything else is identical to the 1x2 variant: ctakey / ctatext, ctacolors / ctahovercolors, tlTarget, rel / target and per-brand legacyId behave exactly the same. The header text has its own attributes instead of the 1x2 eventsubtitle / competitionsubtitle:
markettitle (a literal) if set; otherwise markettitlekey, a translation key resolved through the translations KV for the page language exactly like ctakey; otherwise the market name from the odds data (e.g. Premier League 2026/27 - Winner) – so it is never empty, and an unknown key never renders as raw text. marketsubtitle is the optional one-liner under it (e.g. Outright odds across bookmakers), empty when absent – the outright counterpart of the 1x2 competitionsubtitle. Neither the config record nor the Sanity document carries a title or subtitle: a heading above the widget is page content.market is case- and whitespace-insensitive – "Outright", " outright " and "outright" are equivalent; absent or empty means "1x2". Any other value (e.g. "btts") renders an explicit unsupported market error instead of an empty widget.rel / target apply to every outright anchor (brand-logo headers, odds cells, footer BET NOW) with the same rules as 1x2: rel accepts only nofollow / follow (else nofollow), target a standard anchor target (else _blank).Note: Delasport does not offer outright markets, so outright documents map brands to Altenar and Bahigo. Some outrights are carried by one provider only (the English Championship, League One / League Two, National League, FA Cup and EFL Cup winners come from Bahigo alone); a configured brand whose provider has no price for that outright still renders its column, with a dash in every cell.
Every top-level attribute the outright variant reads, on the Premier League 2026/27 Winner document. markettitle overrides the headline (so markettitlekey is not consulted here); marketsubtitle is the line under it. maxrows="100" is a deliberately large cap so the outcome list is not restricted in practice.
The same document without markettitle / markettitlekey: the headline is the market name carried by the odds data, Premier League 2026/27 - Winner, and marketsubtitle supplies the line under it.
Only the slug and the locale. Headline = market name from the odds data, no subtitle, the BET NOW label from the default translation key bookmaker-odds-cta-bet-now (localized for the page language), default colours, Vulcan links, rel="nofollow", target="_blank". Shown on the MLS 2026 Winner document.
maxrows)maxrows caps how many outcomes the table displays; the odds data keeps every outcome and rows are already ordered by best price, so maxrows="5" shows the five favourites.
tlTarget="rbo")Set tlTarget="rbo": every affiliate link in the outright table – the brand-logo column headers, every odds cell, and the footer BET NOW buttons – is then built as /go/<legacyId>.html instead of the Vulcan /go/<cloakedLink> form. With configid there is no brands[] JSON on the tag, so each brand’s legacyId comes from its Sanity brand reference; a brand without one falls back to the Vulcan form.