Verticals
Translator note: machine-translated baseline. Needs human review by a native UK speaker. EN source is canonical.
Vertical — це категорія casino product — casino, sportsbook, lottery, poker, esports, virtual_sports, bingo. Tenant config обирає, які verticals активні; effective capabilities перетинають tenant config з adapter support.
Чому verticals мають значення
Різні verticals мають:
- Різні канонічні події. Casino settle-ить миттєво (
bet_placed+bet_settled); sportsbook settle-ить години-до-днів пізніше (sport_bet_placed→sport_bet_settledабоsport_bet_voidedабоsport_cashout). - Різні reporting axes. Sportsbook GGR pivot-ить по sport + bet_type; casino — по game category.
- Різні player profiles. Деякі гравці casino-only, деякі sportsbook-only, більшість змішані.
Канонічні події per vertical
Casino
bet_placed, bet_settled, bet_won, bet_lost
bet_settled — це канонічна подія, яку рахуємо для GGR + wagering progress; інші — допоміжні. properties.amount (ставка), properties.payout (виграш), properties.game_id, properties.game_category (slots / live / table / crash / dice / sports / other).
Sportsbook
sport_bet_placed, sport_bet_settled, sport_bet_voided, sport_cashout
Двофазовий lifecycle: sport_bet_placed, потім один з sport_bet_settled / sport_bet_voided / sport_cashout. properties.sport (football / basketball / tennis / hockey / mma), properties.bet_type (single / accumulator / system), properties.odds (decimal), properties.event_ref (ідентифікатор матчу).
Player vertical activity
players.vertical_activity — це JSONB rollup keyed по vertical:
{
"casino": { "first_at": "2026-01-15T...", "last_at": "2026-05-08T...", "bet_count": 142 },
"sportsbook": { "first_at": "2026-03-02T...", "last_at": "2026-05-07T...", "bet_count": 18 }
}
Stream-processor підтримує це на кожному bet_settled / sport_bet_settled. Admin UI використовує key presence для рендерингу "casino-only / sportsbook-only / mixed" badges на player row.
UI gating
Admin Sidebar отримує tenant.verticals з layout. Items з requires predicate фільтрують динамічно:
- Sportsbook nav item з'являється тільки коли
tenant.verticalsміститьsportsbook. - Той самий pattern для майбутніх per-vertical reports / segments.
Якщо ви оперуєте casino-only сьогодні + додаєте sportsbook завтра, просто відкрийте Settings → Tenant configuration + поставте галочку. Sidebar оновлюється миттєво; existing journeys/segments недоторкані.