Sports Bet Lifecycle Events

Three events define the lifetime of a bet and are used to drive sportsbook use cases

Sports bets typically move through a defined lifecycle:

  • Bet Placement
  • Add to Betslip
  • Bet Settlement

Sports events are usually consistent between the three different stages of the bet lifecycle (add to the bet slip, bet placement, and settlement). Some events may need to be sourced from multiple systems to have a complete view of the bet lifecycle. Bet Placement is mandatory for general recommendations—other use cases, such as Bet_Abandonment, may require the addition of Add to Bet Slip and Bet Settlement events.


Bet Placement (Mandatory event)

A bet is placed with the operator and accepted as valid

Event setup:

Event KeyEvent NameType
bet_placeBet PlaceSimple event

Event's Parameters:

optional fields are marked with *

Parameter keyTypeExampleDescription
num_selnsNumber2Number of selections in the bet (e.g. a Double = 2, Single bet = 1)
uuid*Stringuuidv4 valueUnique ID for the record
useridString1234567Customer ID
contextid*Stringuuidv4 valuePersistent anonymous user ID
ccy_code*StringGBPISO currency code
betslip_keyString6784329678Identifier for the betslip (group of bets) transaction
betslip_statusStringOpen/ClosedAre there outstanding bets?
bet_date_timeTimestamp2024-05-01T16:05:00ZPlaced/captured time of the bet
bet_action_timeTimestamp2024-05-01T16:05:00ZTimestamp of the relevant life stage (add, place, settled)
channel*StringWebPlacement channel
regulation*StringGibraltarLicense/regulation
bet_keyString12345632467Identifier for the bet
bet_stakeNumber10.00Stake/wager amount for the whole bet
bet_bonus*Number2.00Bonus amount (e.g. free bet) for the whole bet (included in Stake)
bet_sel_stake*Number5.00bet_stake / num_selns
bet_sel_bonus*Number1.00bet_bonus / num_selns
bir_flagStringY/NWas the selection in play/in running at time of bet placement?
odds_num*Number5Fractional numerator for the selection odds
odds_den*Number1Fractional denominator for the selection odds
dec_priceNumber6.00Decimal (European) price for the selection odds
american_price*Number-120American odds (NB one or more of the odds types should be specified)
leg_type*StringWinTo win / Handicap / Outright
selection_keyString3647893264Unique ID for the selection in the operator's database
selection_nameStringMan UtdName of the chosen selection
market_keyString679677893Unique ID for the market in the operator's database
market_nameStringMatch ResultName of the chosen market
event_date_timeTimestamp2024-05-03T12:00:00ZUTC timestamp of the planned event start time
event_keyString67967899Unique ID for the event in the operator's database
event_nameStringMan Utd v LiverpoolName of the chosen event
type_keyString67839642Unique ID for the competition in the operator's database
type_nameStringPremier LeagueName of the competition
class_keyString27834Unique ID for the country/competition category in the operator's database
class_nameStringEnglishName of the country/competition category
category_keyString13Unique ID for the sport in the operator's database
category_nameStringFootballSport name
bet_typeStringMultiple/Single/Bet BuilderType of bet placed
leg_numNumber1Number of the leg (e.g. is it the 1st selection in a treble)
each_way*StringY/NIs the bet to win or each way?
skinid*StringBrand AName of the brand

Add to Betslip

As a customer chooses a selection to bet on they typically add it to a betslip (a virtual version of a traditional betting slip) where they can then decide how much to wager and how it combines with other selections

Event setup:

Event KeyEvent NameType
add_to_betslipAdd To BetslipSimple event

Event's Parameters:

optional fields are marked with *

Parameter keyTypeExampleDescription
num_selnsNumber2Number of selections in the bet (e.g. a Double = 2, Single bet = 1)
uuid*Stringuuidv4 valueUnique ID for the record
useridString1234567Customer ID
contextid*Stringuuidv4 valuePersistent anonymous user ID
bet_action_timeTimestamp2024-05-01T16:05:00ZTimestamp of the relevant life stage (add, place, settled)
betslip_keyString6784329678Identifier for the betslip (group of bets) transaction
bet_keyString1234567890Identifier of the bet
channel*StringWebPlacement channel
ccy_code*StringGBPISO currency code
regulation*StringGibraltarLicense/regulation
bir_flagStringY/NWas the selection in play/in running at time of bet placement?
odds_num*Number5Fractional numerator for the selection odds
odds_den*Number1Fractional denominator for the selection odds
dec_priceNumber6.00Decimal (European) price for the selection odds
american_price*Number-120American odds (NB one or more of the odds types should be specified)
leg_type*StringWinTo win / Handicap / Outright
selection_keyString3647893264Unique ID for the selection in the operator's database
selection_nameStringMan UtdName of the chosen selection
market_keyString679677893Unique ID for the market in the operator's database
market_nameStringMatch ResultName of the chosen market
event_date_timeTimestamp2024-05-03T12:00:00ZUTC timestamp of the planned event start time
event_keyString67967899Unique ID for the event in the operator's database
event_nameStringMan Utd v LiverpoolName of the chosen event
type_keyString67839642Unique ID for the competition in the operator's database
type_nameStringPremier LeagueName of the competition
class_keyString27834Unique ID for the country/competition category in the operator's database
class_nameStringEnglishName of the country/competition category
category_keyString13Unique ID for the sport in the operator's database
category_nameStringFootballSport name
bet_typeStringMultiple/Single/Bet BuilderType of bet placed
leg_numNumber1Number of the leg (e.g. is it the 1st selection in a treble)
each_way*StringY/NIs the bet to win or each way?
skinid*StringBrand AName of the brand

Bet Settled

Generally initiated by the operator after the result of a selection is known (for example at the final whistle of a match) although could include bets that are cashed out early by the customer

Event setup:

Event KeyEvent NameType
bet_settledBet SettledSimple event

Event's Parameters:

optional fields are marked with *

Parameter keyTypeExampleDescription
num_selnsNumber2Number of selections in the bet (e.g. a Double = 2, Single bet = 1)
uuid*Stringuuidv4 valueUnique ID for the record
useridString1234567Customer ID
contextid*Stringuuidv4 valuePersistent anonymous user ID
ccy_code*StringGBPISO currency code
betslip_keyString6784329678Identifier for the betslip (group of bets) transaction
betslip_statusStringOpen/ClosedAre there outstanding bets?
bet_date_timeTimestamp2024-05-01T13:20:00ZPlaced/captured time of the bet
settled_date_timeTimestamp2024-05-03T16:05:00ZSettlement time
bet_action_timeTimestamp2024-05-03T16:05:00ZTimestamp of the relevant life stage (add, place, settled)
channel*StringWebPlacement channel
regulation*StringGibraltarLicense/regulation
bet_keyString12345632467Identifier for the bet
leg_statusStringWon/Lost/CashOutHas the leg won or lost?
bet_stakeNumber10.00Stake/wager amount for the whole bet
bet_payout*Number15.00Payout amount for the whole bet
bet_bonus*Number2.00Bonus amount (e.g. free bet) for the whole bet (included in Stake)
bet_sel_stakeNumber5.00bet_stake / num_selns
bet_sel_payout*Number7.50bet_payout / num_selns
bet_sel_bonus*Number1.00bet_bonus / num_selns
bir_flagStringY/NWas the selection in play/in running at time of bet placement?
odds_num*Number5Fractional numerator for the selection odds
odds_den*Number1Fractional denominator for the selection odds
dec_priceNumber6.00Decimal (European) price for the selection odds
american_price*Number-120American odds (NB one or more of the odds types should be specified)
leg_type*StringWinTo win / Handicap / Outright
selection_keyString3647893264Unique ID for the selection in the operator's database
selection_nameStringMan UtdName of the chosen selection
market_keyString679677893Unique ID for the market in the operator's database
market_nameStringMatch ResultName of the chosen market
event_date_timeTimestamp2024-05-03T12:00:00ZUTC timestamp of the planned event start time
event_keyString67967899Unique ID for the event in the operator's database
event_nameStringMan Utd v LiverpoolName of the chosen event
type_keyString67839642Unique ID for the competition in the operator's database
type_nameStringPremier LeagueName of the competition
class_keyString27834Unique ID for the country/competition category in the operator's database
class_nameStringEnglishName of the country/competition category
category_keyString13Unique ID for the sport in the operator's database
category_nameStringFootballSport name
bet_typeStringMultiple/Single/Bet BuilderType of bet placed
leg_numNumber1Number of the leg (e.g. is it the 1st selection in a treble)
each_way*StringY/NIs the bet to win or each way?
skinid*StringBrand AName of the brand