Alternative Odds Integration
This part of the document aims to provide an overview of Alternative Odds and its integration. Alternative Odds is a feature whereby players who wish to bet amounts higher than the liability limit allows, are still allowed to do so but at a lower odds than the original price.
For example:
A player wishes to bet 50k€ on Sinner to beat Alcaraz at odds of 2.2 but the liability for this kind of bet is too high.
Normally this bet would simply be rejected and a high value player could be lost, but with Alternative Odds, we offer the player 2.1 odds instead.
With Alternative Odds - the wagered amount will stay the same, but the odds price will be lowered.
This means when the player tries to place the bet but the liability is too high - the player should be given an option to accept or decline the alternative odds.
Alternative odds is only triggered after any “odds change” during the bet placement, which means bet will still be accepted as normal if, for example, the player has “Accept all odds changes” enabled and odds change to a price which has been set up in the alternative odds configuration.
The BetPlacement flow with Alternative odds works as follows:
The player chooses the wager amount and presses the button for the bet placement process to begin.
We check if the wagered amount exceeds the liability limit on the selected price:
Liability limit is not exceeded the bet is accepted
Liability limit is exceeded:
We will return a rejection with the corresponding reason- PlayerBetLimitExceeded
The rejection will contain 2 parameters:
AlternativeOddsId (String) - Unique Key
AlternativePrice (Decimal) - Adjusted odds price
Player is presented with the option to either accept or decline the alternative odds:
If it is declined - the bet placement flow ends and the bet is not placed
If the player agrees to the new price, we need to receive a new BetPlacement request which contains the parameters corresponding to those previously sent in the rejection and the bet will be placed.
New properties: On BetPlacement.BetRequestViewModel:
alternativeOddsId (String) - Unique Key
alternativePrice (Decimal) - Adjusted odds price
On BetPlacement.RejectInfoViewModel:
Alternative odds specific rejection reasons:
62 = AlternativeOddsExpired (Alternative odds is expired or not available)
63 = AlternativeOddsPriceInvalid (Alternative odds price is invalid)
64 = AlternativeOddsBetItemsInvalid (Alternative odds bet item(s) are invalid)
65 = AlternativeOddsBetAmountInvalid (Alternative odds bet amount is invalid)
betItem[]
alternativePrice(Decimal)
alternativeOdds[]
id(String)
alternativePrice(Decimal)
createdAt(String) - Timestamp the offer was created
expiredAt(String) - Timestamp the offer expires
Bets placed with Alternative Odds are still sent via the betplacement endpoint. It is only required to add the 2 additional parameters specified in the limit exceeded rejection.
Last updated