betting

package module
v0.0.0-...-25bb064 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2022 License: MIT Imports: 8 Imported by: 1

README

Betting

GoDoc

It is API wrapper which have
  • Speed
  • Continued support
  • It is working!
Features
  • Full Account API
  • Keep Alive (Session key available for 20 minutes and after you need use this function)
  • Enums (Details)
  • Live Scores API - Tennis
Wrapper based on
  • fasthttp
  • ffjson
Examples
You can find in tests :)

Documentation

Index

Constants

View Source
const (
	EREC_ERROR_IN_MATCHER              EExecutionReportErrorCode = "ERROR_IN_MATCHER"
	EREC_PROCESSED_WITH_ERRORS         EExecutionReportErrorCode = "PROCESSED_WITH_ERRORS"
	EREC_BET_ACTION_ERROR              EExecutionReportErrorCode = "BET_ACTION_ERROR"
	EREC_INVALID_ACCOUNT_STATE         EExecutionReportErrorCode = "INVALID_ACCOUNT_STATE"
	EREC_INVALID_WALLET_STATUS         EExecutionReportErrorCode = "INVALID_WALLET_STATUS"
	EREC_INSUFFICIENT_FUNDS            EExecutionReportErrorCode = "INSUFFICIENT_FUNDS"
	EREC_LOSS_LIMIT_EXCEEDED           EExecutionReportErrorCode = "LOSS_LIMIT_EXCEEDED"
	EREC_MARKET_SUSPENDED              EExecutionReportErrorCode = "MARKET_SUSPENDED"
	EREC_MARKET_NOT_OPEN_FOR_BETTING   EExecutionReportErrorCode = "MARKET_NOT_OPEN_FOR_BETTING"
	EREC_DUPLICATE_TRANSACTION         EExecutionReportErrorCode = "DUPLICATE_TRANSACTION"
	EREC_INVALID_ORDER                 EExecutionReportErrorCode = "INVALID_ORDER"
	EREC_INVALID_MARKET_ID             EExecutionReportErrorCode = "INVALID_MARKET_ID"
	EREC_PERMISSION_DENIED             EExecutionReportErrorCode = "PERMISSION_DENIED"
	EREC_DUPLICATE_BETIDS              EExecutionReportErrorCode = "DUPLICATE_BETIDS"
	EREC_NO_ACTION_REQUIRED            EExecutionReportErrorCode = "NO_ACTION_REQUIRED"
	EREC_SERVICE_UNAVAILABLE           EExecutionReportErrorCode = "SERVICE_UNAVAILABLE"
	EREC_REJECTED_BY_REGULATOR         EExecutionReportErrorCode = "REJECTED_BY_REGULATOR"
	EREC_NO_CHASING                    EExceptionErrorCode       = "NO_CHASING"
	EREC_REGULATOR_IS_NOT_AVAILABLE    EExceptionErrorCode       = "REGULATOR_IS_NOT_AVAILABLE"
	EREC_TOO_MANY_INSTRUCTIONS         EExceptionErrorCode       = "TOO_MANY_INSTRUCTIONS"
	EREC_INVALID_MARKET_VERSION        EExceptionErrorCode       = "INVALID_MARKET_VERSION"
	ErrUnknownExecutionReportErrorCode EExecutionReportErrorCode = "Unknown executionReportErrorCode value"
)
View Source
const (
	IREC_INVALID_BET_SIZE                EInstructionReportErrorCode = "INVALID_BET_SIZE"
	IREC_INVALID_RUNNER                  EInstructionReportErrorCode = "INVALID_RUNNER"
	IREC_BET_TAKEN_OR_LAPSED             EInstructionReportErrorCode = "BET_TAKEN_OR_LAPSED"
	IREC_BET_IN_PROGRESS                 EInstructionReportErrorCode = "BET_IN_PROGRESS"
	IREC_RUNNER_REMOVED                  EInstructionReportErrorCode = "RUNNER_REMOVED"
	IREC_MARKET_NOT_OPEN_FOR_BETTING     EInstructionReportErrorCode = "MARKET_NOT_OPEN_FOR_BETTING"
	IREC_LOSS_LIMIT_EXCEEDED             EInstructionReportErrorCode = "LOSS_LIMIT_EXCEEDED"
	IREC_MARKET_NOT_OPEN_FOR_BSP_BETTING EInstructionReportErrorCode = "MARKET_NOT_OPEN_FOR_BSP_BETTING"
	IREC_INVALID_PRICE_EDIT              EInstructionReportErrorCode = "INVALID_PRICE_EDIT"
	IREC_INVALID_ODDS                    EInstructionReportErrorCode = "INVALID_ODDS"
	IREC_INSUFFICIENT_FUNDS              EInstructionReportErrorCode = "INSUFFICIENT_FUNDS"
	IREC_INVALID_PERSISTENCE_TYPE        EInstructionReportErrorCode = "INVALID_PERSISTENCE_TYPE"
	IREC_ERROR_IN_MATCHER                EInstructionReportErrorCode = "ERROR_IN_MATCHER"
	IREC_INVALID_BACK_LAY_COMBINATION    EInstructionReportErrorCode = "INVALID_BACK_LAY_COMBINATION"
	IREC_ERROR_IN_ORDER                  EInstructionReportErrorCode = "ERROR_IN_ORDER"
	IREC_INVALID_BID_TYPE                EInstructionReportErrorCode = "INVALID_BID_TYPE"
	IREC_INVALID_BET_ID                  EInstructionReportErrorCode = "INVALID_BET_ID"
	IREC_CANCELLED_NOT_PLACED            EInstructionReportErrorCode = "CANCELLED_NOT_PLACED"
	IREC_RELATED_ACTION_FAILED           EInstructionReportErrorCode = "RELATED_ACTION_FAILED"
	IREC_NO_ACTION_REQUIRED              EInstructionReportErrorCode = "NO_ACTION_REQUIRED"
	IREC_TIME_IN_FORCE_CONFLICT          EInstructionReportErrorCode = "TIME_IN_FORCE_CONFLICT"
	IREC_UNEXPECTED_PERSISTENCE_TYPE     EInstructionReportErrorCode = "UNEXPECTED_PERSISTENCE_TYPE"
	IREC_INVALID_ORDER_TYPE              EInstructionReportErrorCode = "INVALID_ORDER_TYPE"
	IREC_UNEXPECTED_MIN_FILL_SIZE        EInstructionReportErrorCode = "UNEXPECTED_MIN_FILL_SIZE"
	IREC_INVALID_CUSTOMER_ORDER_REF      EInstructionReportErrorCode = "INVALID_CUSTOMER_ORDER_REF"
	IREC_INVALID_MIN_FILL_SIZE           EInstructionReportErrorCode = "INVALID_MIN_FILL_SIZE"
	ErrUnknownInstructionReportStatus    EInstructionReportStatus    = "Unknown instructionReportStatus value"
)

Variables

View Source
var NewBet = NewBetfair

TODO: Deprecate

Functions

This section is empty.

Types

type AccountDetails

type AccountDetails struct {
	CurrencyCode  string
	FirstName     string
	LastName      string
	LocaleCode    string
	Region        string
	Timezone      string
	DiscountRate  float64
	PointsBalance int
	CountryCode   string
}

type AccountFunds

type AccountFunds struct {
	AvailableToBetBalance float64
	Exposure              float64
	RetainedCommission    float64
	ExposureLimit         float64
	DiscountRate          float64 `json:"omitempty"`
	PointsBalance         int     `json:"omitempty"`
}

type AccountStatementReport

type AccountStatementReport struct {
	AccountStatement []StatementItem
	MoreAvailable    bool
}

type Betfair

type Betfair struct {
	*Client
	*Betting
}

func NewBetfair

func NewBetfair(apikey string) *Betfair

func NewBetfairWithSpecifiedURLs

func NewBetfairWithSpecifiedURLs(apikey string, urls BetfairRestURLs) *Betfair

type BetfairRestURL

type BetfairRestURL string

BetfairRestURL type of all betfair rest urls

type BetfairRestURLs

type BetfairRestURLs struct {
	AccountURL   BetfairRestURL
	BettingURL   BetfairRestURL
	CertURL      BetfairRestURL
	KeepAliveURL BetfairRestURL
	ScoresURL    BetfairRestURL
}

type Betting

type Betting struct {
	*Client
	BettingURL BetfairRestURL
	AccountURL BetfairRestURL
}

func (*Betting) CancelOrders

func (b *Betting) CancelOrders(filter CancelFilter) (cancelExecutionReport CancelExecutionReport, err error)

CancelOrders to place new orders into market.

func (*Betting) CreateAppKeys

func (b *Betting) CreateAppKeys() (developAppKeys []DeveloperAppKey, err error)

CreateAppKeys for create new developer app keys in account

func (*Betting) GetAccountDetails

func (b *Betting) GetAccountDetails() (accountDetails AccountDetails, err error)

GetAccountDetails like get account details :)

func (*Betting) GetAccountFunds

func (b *Betting) GetAccountFunds(filter Filter) (accountFunds AccountFunds, err error)

GetAccountFunds for getting balances of account

func (*Betting) GetAccountStatement

func (b *Betting) GetAccountStatement(filter Filter) (accountStatementReport AccountStatementReport, err error)

GetAccountStatement about get account statements for 90 days

func (*Betting) GetAppKeys

func (b *Betting) GetAppKeys() (developAppKeys []DeveloperAppKey, err error)

GetAppKeys for getting all developer keys from account

func (*Betting) GetListCurrencyRates

func (b *Betting) GetListCurrencyRates(filter Filter) (currencyRate []CurrencyRate, err error)

GetListCurrencyRates for get currency rates for hour

func (*Betting) GetTransferFunds

func (b *Betting) GetTransferFunds(filter Filter) (transferResponse TransferResponse, err error)

GetTransferFunds for transfer funds between UK and AUS wallets

func (*Betting) ListClearedOrders

func (b *Betting) ListClearedOrders(filter Filter) (clearedOrderSummaryReport ClearedOrderSummaryReport, err error)

ListClearedOrders to get a list of settled bets based on the bet status, ordered by settled date

func (*Betting) ListCompetitions

func (b *Betting) ListCompetitions(filter Filter) (competitionResults []CompetitionResult, err error)

ListCompetitions to get competitions associated with the markets selected by the filter

func (*Betting) ListCountries

func (b *Betting) ListCountries(filter Filter) (countryCodeResults []CountryCodeResult, err error)

ListCountries to get a list of countries associated with the markets selected by the filter

func (*Betting) ListCurrentOrders

func (b *Betting) ListCurrentOrders(filter Filter) (currentOrderSummaryReport CurrentOrderSummaryReport, err error)

ListCurrentOrders to get a list of your current orders

func (*Betting) ListEventTypes

func (b *Betting) ListEventTypes(filter Filter) (eventTypeResult []EventTypeResult, err error)

ListEventTypes to get a list of all event types

func (*Betting) ListEvents

func (b *Betting) ListEvents(filter Filter) (eventResult []EventResult, err error)

ListEvents to get a list of all events

func (*Betting) ListMarketBook

func (b *Betting) ListMarketBook(filter Filter) (marketBook []MarketBook, err error)

ListMarketBook to get a list of dynamic data about markets.

func (*Betting) ListMarketCatalogue

func (b *Betting) ListMarketCatalogue(filter Filter) (marketCatalogue []MarketCatalogue, err error)

ListMarketCatalogue to get a list of information about published (ACTIVE/SUSPENDED) markets that does not change (or changes very rarely).

func (*Betting) ListMarketProfitAndLoss

func (b *Betting) ListMarketProfitAndLoss(filter Filter) (marketProfitAndLoss []MarketProfitAndLoss, err error)

ListMarketProfitAndLoss Retrieve profit and loss for a given list of OPEN markets.

func (*Betting) ListMarketTypes

func (b *Betting) ListMarketTypes(filter Filter) (marketTypeResult []MarketTypeResult, err error)

ListMarketTypes to get a list of market types (i.e. MATCH_ODDS, NEXT_GOAL) associated with the markets selected by the MarketFilter.

func (*Betting) ListTimeRangeResult

func (b *Betting) ListTimeRangeResult(filter Filter) (timeRangeResult []TimeRangeResult, err error)

ListTimeRangeResult to get a list of time ranges in the granularity specified in the request (i.e. 3PM to 4PM, Aug 14th to Aug 15th) associated with the markets selected by the MarketFilter.

func (*Betting) ListVenueResult

func (b *Betting) ListVenueResult(filter Filter) (venueResult []VenueResult, err error)

ListVenueResult to get a list of Venues (i.e. Cheltenham, Ascot) associated with the markets selected by the MarketFilter. Currently, only Horse Racing markets are associated with a Venue.

func (*Betting) PlaceOrders

func (b *Betting) PlaceOrders(filter Filter) (placeExecutionReport PlaceExecutionReport, err error)

PlaceOrders to place new orders into market.

func (*Betting) Request

func (b *Betting) Request(reqStruct interface{}, url BetfairRestURL, method string, filter interface{}) error

Request function for send requests to betfair via REST JSON

type BettingError

type BettingError struct {
	Detail      interface{} `json:"detail"`
	Faultcode   string      `json:"faultcode"`
	Faultstring string      `json:"faultstring"`
}

type CancelExecutionReport

type CancelExecutionReport struct {
	CustomerRef        string                    `json:"customerRef,omitempty"`
	Status             EExecutionReportStatus    `json:"status,omitempty"`
	ErrorCode          EExecutionReportErrorCode `json:"errorCode,omitempty"`
	MarketID           string                    `json:"marketId,omitempty"`
	InstructionReports []CancelInstructionReport `json:"instructionReports,omitempty"`
}

type CancelFilter

type CancelFilter struct {
	MarketID                 string              `json:"marketId"`
	CancelOrdersInstructions []CancelInstruction `json:"instructions"`
	CustomerRef              string              `json:"customerRef,omitempty"`
}

type CancelInstruction

type CancelInstruction struct {
	BetID         string  `json:"betId"`
	SizeReduction Decimal `json:"sizeReduction,omitempty"`
}

type CancelInstructionReport

type CancelInstructionReport struct {
	Status        EInstructionReportStatus    `json:"status,omitempty"`
	ErrorCode     EInstructionReportErrorCode `json:"errorCode,omitempty"`
	Instruction   CancelInstruction           `json:"instruction,omitempty"`
	CancelledDate time.Time                   `json:"cancelledDate,omitempty"`
	SizeCancelled float64                     `json:"sizeCancelled,omitempty"`
}

type ClearedOrderSummary

type ClearedOrderSummary struct {
	EventTypeID         string           `json:"eventTypeId,omitempty"`
	EventID             string           `json:"eventId,omitempty"`
	MarketID            string           `json:"marketId,omitempty"`
	SelectionID         int64            `json:"selectionId,omitempty"`
	Handicap            float64          `json:"handicap,omitempty"`
	BetID               string           `json:"betId,omitempty"`
	PlacedDate          time.Time        `json:"placedDate,omitempty"`
	PersistenceType     EPersistenceType `json:"persistenceType,omitempty"`
	OrderType           EOrderType       `json:"orderType,omitempty"`
	Side                ESide            `json:"side,omitempty"`
	ItemDescription     ItemDescription  `json:"itemDescription,omitempty"`
	BetOutcome          string           `json:"betOutcome,omitempty"`
	PriceRequested      float64          `json:"priceRequested,omitempty"`
	SettledDate         time.Time        `json:"settledDate,omitempty"`
	LastMatchedDate     time.Time        `json:"lastMatchedDate,omitempty"`
	BetCount            int              `json:"betCount,omitempty"`
	Commission          float64          `json:"commission,omitempty"`
	PriceMatched        float64          `json:"priceMatched,omitempty"`
	PriceReduced        bool             `json:"priceReduced,omitempty"`
	SizeSettled         float64          `json:"sizeSettled,omitempty"`
	Profit              float64          `json:"profit,omitempty"`
	SizeCancelled       float64          `json:"sizeCancelled,omitempty"`
	CustomerOrderRef    string           `json:"customerOrderRef,omitempty"`
	CustomerStrategyRef string           `json:"customerStrategyRef,omitempty"`
}

type ClearedOrderSummaryReport

type ClearedOrderSummaryReport struct {
	ClearedOrders []ClearedOrderSummary `json:"clearedOrders"`
	MoreAvailable bool                  `json:"moreAvailable"`
}

type Client

type Client struct {
	ApiKey       string
	SessionKey   string
	CertURL      BetfairRestURL
	KeepAliveURL BetfairRestURL
}

func (*Client) GetSession

func (c *Client) GetSession(pemCert, keyCert, login, password string) error

func (*Client) GetSessionFromCertificate

func (c *Client) GetSessionFromCertificate(cert tls.Certificate, login, password string) error

func (*Client) KeepAlive

func (c *Client) KeepAlive() error

KeepAlive for support connect, session key will available for 20 minutes

type Competition

type Competition struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type CompetitionResult

type CompetitionResult struct {
	Competition       Competition `json:"competition,omitempty"`
	MarketCount       int         `json:"marketCount,omitempty"`
	CompetitionRegion string      `json:"competitionRegion,omitempty"`
}

type CountryCodeResult

type CountryCodeResult struct {
	CountryCode string `json:"countryCode,omitempty"`
	MarketCount int    `json:"marketCount,omitempty"`
}

type CurrencyRate

type CurrencyRate struct {
	CurrencyCode string  `json:"omitempty"`
	Rate         float64 `json:"omitempty"`
}

type CurrentOrderSummary

type CurrentOrderSummary struct {
	BetID               string           `json:"betId"`
	MarketID            string           `json:"marketId"`
	SelectionID         int64            `json:"selectionId"`
	Handicap            float64          `json:"handicap"`
	PriceSize           PriceSize        `json:"priceSize"`
	BspLiability        float64          `json:"bspLiability"`
	Side                ESide            `json:"side"`
	Status              EOrderStatus     `json:"status"`
	PersistenceType     EPersistenceType `json:"persistenceType"`
	OrderType           EOrderType       `json:"orderType"`
	PlacedDate          time.Time        `json:"placedDate"`
	MatchedDate         time.Time        `json:"matchedDate"`
	AveragePriceMatched float64          `json:"averagePriceMatched,omitempty"`
	SizeMatched         float64          `json:"sizeMatched,omitempty"`
	SizeRemaining       float64          `json:"sizeRemaining,omitempty"`
	SizeLapsed          float64          `json:"sizeLapsed,omitempty"`
	SizeCancelled       float64          `json:"sizeCancelled,omitempty"`
	SizeVoided          float64          `json:"sizeVoided,omitempty"`
	RegulatorAuthCode   string           `json:"regulatorAuthCode,omitempty"`
	RegulatorCode       string           `json:"regulatorCode,omitempty"`
}

type CurrentOrderSummaryReport

type CurrentOrderSummaryReport struct {
	CurrentOrders []CurrentOrderSummary `json:"currentOrders,omitempty"`
	MoreAvailable bool                  `json:"moreAvailable,omitempty"`
}

type DateRange

type DateRange struct {
	From time.Time `json:"from,omitempty"`
	To   time.Time `json:"to,omitempty"`
}

type Decimal

type Decimal float64

func (Decimal) MarshalJSON

func (n Decimal) MarshalJSON() ([]byte, error)

type DeveloperAppKey

type DeveloperAppKey struct {
	AppName     string
	AppID       int64
	AppVersions []DeveloperAppVersion
}

type DeveloperAppVersion

type DeveloperAppVersion struct {
	Owner                string
	VersionID            int
	Version              string
	ApplicationKey       string
	DelayData            bool
	SubscriptionRequired bool
	OwnerManaged         bool
	Active               bool
}

type EBetStatus

type EBetStatus string
const (
	BS_SETTLED          EBetStatus = "SETTLED"
	BS_VOIDED           EBetStatus = "VOIDED"
	BS_LAPSED           EBetStatus = "LAPSED"
	BS_CANCELLED        EBetStatus = "CANCELLED"
	ErrUnknownBetStatus EBetStatus = "Unknown betStatus value"
)

type EBetTargetType

type EBetTargetType string
const (
	BTT_BACKERS_PROFIT EBetTargetType = "BACKERS_PROFIT"
	BTT_PAYOUT         EBetTargetType = "PAYOUT"
)

type EExceptionErrorCode

type EExceptionErrorCode string
const (
	EEC_TOO_MUCH_DATA               EExceptionErrorCode = "TOO_MUCH_DATA"
	EEC_INVALID_INPUT_DATA          EExceptionErrorCode = "INVALID_INPUT_DATA"
	EEC_INVALID_SESSION_INFORMATION EExceptionErrorCode = "INVALID_SESSION_INFORMATION"
	EEC_NO_APP_KEY                  EExceptionErrorCode = "NO_APP_KEY"
	EEC_NO_SESSION                  EExceptionErrorCode = "NO_SESSION"
	EEC_UNEXPECTED_ERROR            EExceptionErrorCode = "UNEXPECTED_ERROR"
	EEC_INVALID_APP_KEY             EExceptionErrorCode = "INVALID_APP_KEY"
	EEC_TOO_MANY_REQUESTS           EExceptionErrorCode = "TOO_MANY_REQUESTS"
	EEC_SERVICE_BUSY                EExceptionErrorCode = "SERVICE_BUSY"
	EEC_TIMEOUT_ERROR               EExceptionErrorCode = "TIMEOUT_ERROR"
	EEC_REQUEST_SIZE_EXCEEDS_LIMIT  EExceptionErrorCode = "REQUEST_SIZE_EXCEEDS_LIMIT"
	EEC_ACCESS_DENIED               EExceptionErrorCode = "ACCESS_DENIED"
	ErrUnknownExceptionCode         EExceptionErrorCode = "Unknown APINGException errorCode value"
)

type EExecutionReportErrorCode

type EExecutionReportErrorCode string

type EExecutionReportStatus

type EExecutionReportStatus string
const (
	ERS_SUCCESS               EExecutionReportStatus = "SUCCESS"
	ERS_FAILURE               EExecutionReportStatus = "FAILURE"
	ERS_PROCESSED_WITH_ERRORS EExecutionReportStatus = "PROCESSED_WITH_ERRORS"
	ERS_TIMEOUT               EExecutionReportStatus = "TIMEOUT"
)

type EGroupBy

type EGroupBy string
const (
	GB_EVENT_TYPE     EGroupBy = "EVENT_TYPE"
	GB_EVENT          EGroupBy = "EVENT"
	GB_MARKET         EGroupBy = "MARKET"
	GB_SIDE           EGroupBy = "SIDE"
	GB_BET            EGroupBy = "BET"
	GB_RUNNER         EGroupBy = "RUNNER"
	GB_STRATEGY       EGroupBy = "STRATEGY"
	ErrUnknownGroupBy EGroupBy = "Unknown groupBy value"
)

type EIncludeItem

type EIncludeItem string
const (
	IT_ALL                  EIncludeItem = "ALL"
	IT_DEPOSITS_WITHDRAWALS EIncludeItem = "DEPOSITS_WITHDRAWALS"
	IT_EXCHANGE             EIncludeItem = "EXCHANGE"
	IT_POKER_ROOM           EIncludeItem = "POKER_ROOM"
)

type EInstructionReportErrorCode

type EInstructionReportErrorCode string

type EInstructionReportStatus

type EInstructionReportStatus string
const (
	IRS_SUCCESS EInstructionReportStatus = "SUCCESS"
	IRS_FAILURE EInstructionReportStatus = "FAILURE"
	IRS_TIMEOUT EInstructionReportStatus = "TIMEOUT"
)

type EItemClass

type EItemClass string
const (
	IC_UNKNOWN EItemClass = "UNKNOWN"
)

type ELoginStatus

type ELoginStatus string
const (
	LS_SUCCESS                                 ELoginStatus = "SUCCESS"
	LS_INVALID_USERNAME_OR_PASSWORD            ELoginStatus = "INVALID_USERNAME_OR_PASSWORD"
	LS_ACCOUNT_NOW_LOCKED                      ELoginStatus = "ACCOUNT_NOW_LOCKED"
	LS_ACCOUNT_ALREADY_LOCKED                  ELoginStatus = "ACCOUNT_ALREADY_LOCKED"
	LS_PENDING_AUTH                            ELoginStatus = "PENDING_AUTH"
	LS_TELBET_TERMS_CONDITIONS_NA              ELoginStatus = "TELBET_TERMS_CONDITIONS_NA"
	LS_DUPLICATE_CARDS                         ELoginStatus = "DUPLICATE_CARDS"
	LS_SECURITY_QUESTION_WRONG_3X              ELoginStatus = "SECURITY_QUESTION_WRONG_3X"
	LS_KYC_SUSPEND                             ELoginStatus = "KYC_SUSPEND"
	LS_SUSPENDED                               ELoginStatus = "SUSPENDED"
	LS_CLOSED                                  ELoginStatus = "CLOSED"
	LS_SELF_EXCLUDED                           ELoginStatus = "SELF_EXCLUDED"
	LS_INVALID_CONNECTIVITY_TO_REGULATOR_DK    ELoginStatus = "INVALID_CONNECTIVITY_TO_REGULATOR_DK"
	LS_NOT_AUTHORIZED_BY_REGULATOR_DK          ELoginStatus = "NOT_AUTHORIZED_BY_REGULATOR_DK"
	LS_INVALID_CONNECTIVITY_TO_REGULATOR_IT    ELoginStatus = "INVALID_CONNECTIVITY_TO_REGULATOR_IT"
	LS_NOT_AUTHORIZED_BY_REGULATOR_IT          ELoginStatus = "NOT_AUTHORIZED_BY_REGULATOR_IT"
	LS_SECURITY_RESTRICTED_LOCATION            ELoginStatus = "SECURITY_RESTRICTED_LOCATION"
	LS_BETTING_RESTRICTED_LOCATION             ELoginStatus = "BETTING_RESTRICTED_LOCATION"
	LS_TRADING_MASTER                          ELoginStatus = "TRADING_MASTER"
	LS_TRADING_MASTER_SUSPENDED                ELoginStatus = "TRADING_MASTER_SUSPENDED"
	LS_AGENT_CLIENT_MASTER                     ELoginStatus = "AGENT_CLIENT_MASTER"
	LS_AGENT_CLIENT_MASTER_SUSPENDED           ELoginStatus = "AGENT_CLIENT_MASTER_SUSPENDED"
	LS_DANISH_AUTHORIZATION_REQUIRED           ELoginStatus = "DANISH_AUTHORIZATION_REQUIRED"
	LS_SPAIN_MIGRATION_REQUIRED                ELoginStatus = "SPAIN_MIGRATION_REQUIRED"
	LS_DENMARK_MIGRATION_REQUIRED              ELoginStatus = "DENMARK_MIGRATION_REQUIRED"
	LS_SPANISH_TERMS_ACCEPTANCE_REQUIRED       ELoginStatus = "SPANISH_TERMS_ACCEPTANCE_REQUIRED"
	LS_ITALIAN_CONTRACT_ACCEPTANCE_REQUIRED    ELoginStatus = "ITALIAN_CONTRACT_ACCEPTANCE_REQUIRED"
	LS_CERT_AUTH_REQUIRED                      ELoginStatus = "CERT_AUTH_REQUIRED"
	LS_CHANGE_PASSWORD_REQUIRED                ELoginStatus = "CHANGE_PASSWORD_REQUIRED"
	LS_PERSONAL_MESSAGE_REQUIRED               ELoginStatus = "PERSONAL_MESSAGE_REQUIRED"
	LS_INTERNATIONAL_TERMS_ACCEPTANCE_REQUIRED ELoginStatus = "INTERNATIONAL_TERMS_ACCEPTANCE_REQUIRED"
	LS_EMAIL_LOGIN_NOT_ALLOWED                 ELoginStatus = "EMAIL_LOGIN_NOT_ALLOWED"
	LS_MULTIPLE_USERS_WITH_SAME_CREDENTIAL     ELoginStatus = "MULTIPLE_USERS_WITH_SAME_CREDENTIAL"
	LS_ACCOUNT_PENDING_PASSWORD_CHANGE         ELoginStatus = "ACCOUNT_PENDING_PASSWORD_CHANGE"
	LS_TEMPORARY_BAN_TOO_MANY_REQUESTS         ELoginStatus = "TEMPORARY_BAN_TOO_MANY_REQUESTS"
	ErrUnknownLoginStatus                      ELoginStatus = "Unknown loginStatus value"
)

type EMarketBettingType

type EMarketBettingType string
const (
	MBT_ODDS                       EMarketBettingType = "ODDS"
	MBT_LINE                       EMarketBettingType = "LINE"
	MBT_ASIAN_HANDICAP_DOUBLE_LINE EMarketBettingType = "ASIAN_HANDICAP_DOUBLE_LINE"
	MBT_ASIAN_HANDICAP_SINGLE_LINE EMarketBettingType = "ASIAN_HANDICAP_SINGLE_LINE"
	MBT_FIXED_ODDS                 EMarketBettingType = "FIXED_ODDS"
	ErrUnknownMarketBettingType    EMarketBettingType = "Unknown marketBettingType value"
)

type EMarketBettingTypes

type EMarketBettingTypes []EMarketBettingType

type EMarketProjection

type EMarketProjection string
const (
	MP_COMPETITION             EMarketProjection = "COMPETITION"
	MP_EVENT                   EMarketProjection = "EVENT"
	MP_EVENT_TYPE              EMarketProjection = "EVENT_TYPE"
	MP_MARKET_START_TIME       EMarketProjection = "MARKET_START_TIME"
	MP_MARKET_DESCRIPTION      EMarketProjection = "MARKET_DESCRIPTION"
	MP_RUNNER_DESCRIPTION      EMarketProjection = "RUNNER_DESCRIPTION"
	MP_RUNNER_METADATA         EMarketProjection = "RUNNER_METADATA"
	ErrUnknownMarketProjection EMarketProjection = "Unknown marketProjection value"
)

type EMarketSort

type EMarketSort string
const (
	MS_MINIMUM_TRADED    EMarketSort = "MINIMUM_TRADED"
	MS_MAXIMUM_TRADED    EMarketSort = "MAXIMUM_TRADED"
	MS_MINIMUM_AVAILABLE EMarketSort = "MINIMUM_AVAILABLE"
	MS_MAXIMUM_AVAILABLE EMarketSort = "MAXIMUM_AVAILABLE"
	MS_FIRST_TO_START    EMarketSort = "FIRST_TO_START"
	MS_LAST_TO_START     EMarketSort = "LAST_TO_START"
	ErrUnknownMarketSort EMarketSort = "Unknown marketSort value"
)

type EMarketStatus

type EMarketStatus string
const (
	MS_INACTIVE           EMarketStatus = "INACTIVE"
	MS_OPEN               EMarketStatus = "OPEN"
	MS_SUSPENDED          EMarketStatus = "SUSPENDED"
	MS_CLOSED             EMarketStatus = "CLOSED"
	ErrUnknowMarketStatus EMarketStatus = "Unknown marketStatus value"
)

type EMarketType

type EMarketType string
const (
	MT_A              EMarketType = "A"
	MT_L              EMarketType = "L"
	MT_O              EMarketType = "O"
	MT_R              EMarketType = "R"
	MT_NOT_APPLICABLE EMarketType = "NOT_APPLICABLE"
)

type EMatchProjection

type EMatchProjection string
const (
	MP_NO_ROLLUP              EMatchProjection = "NO_ROLLUP"
	MP_ROLLED_UP_BY_PRICE     EMatchProjection = "ROLLED_UP_BY_PRICE"
	MP_ROLLED_UP_BY_AVG_PRICE EMatchProjection = "ROLLED_UP_BY_AVG_PRICE"
	ErrUnknownMatchProjection EMatchProjection = "Unknown matchProjection value"
)

type EOrderBy

type EOrderBy string
const (
	OB_BY_BET          EOrderBy = "BY_BET"
	OB_BY_MARKET       EOrderBy = "BY_MARKET"
	OB_BY_MATCH_TIME   EOrderBy = "BY_MATCH_TIME"
	OB_BY_PLACE_TIME   EOrderBy = "BY_PLACE_TIME"
	OB_BY_SETTLED_TIME EOrderBy = "BY_SETTLED_TIME"
	OB_BY_VOID_TIME    EOrderBy = "BY_VOID_TIME"
	ErrUnknownOrderBy  EOrderBy = "Unknown orderBy value"
)

type EOrderProjection

type EOrderProjection string
const (
	OP_ALL                    EOrderProjection = "ALL"
	OP_EXECUTABLE             EOrderProjection = "EXECUTABLE"
	OP_EXECUTION_COMPLETE     EOrderProjection = "EXECUTION_COMPLETE"
	ErrUnknownOrderProjection EOrderProjection = "Unknown orderProjection value"
)

type EOrderStatus

type EOrderStatus string
const (
	OS_PENDING            EOrderStatus = "PENDING"
	OS_EXECUTION_COMPLETE EOrderStatus = "EXECUTION_COMPLETE"
	OS_EXECUTABLE         EOrderStatus = "EXECUTABLE"
	OS_EXPIRED            EOrderStatus = "EXPIRED"
	ErrOrderStatus        EOrderStatus = "Unknown orderStatus value"
)

type EOrderType

type EOrderType string
const (
	OT_LIMIT           EOrderType = "LIMIT"
	OT_LIMIT_ON_CLOSE  EOrderType = "LIMIT_ON_CLOSE"
	OT_MARKET_ON_CLOSE EOrderType = "MARKET_ON_CLOSE"
)

type EPersistenceType

type EPersistenceType string
const (
	PT_LAPSE                  EPersistenceType = "LAPSE"
	PT_PERSIST                EPersistenceType = "PERSIST"
	PT_MARKET_ON_CLOSE        EPersistenceType = "MARKET_ON_CLOSE"
	ErrUnknownPersistenceType EPersistenceType = "Unknown persistenceType value"
)

type EPriceData

type EPriceData string
const (
	PD_SP_AVAILABLE     EPriceData = "SP_AVAILABLE"
	PD_SP_TRADED        EPriceData = "SP_TRADED"
	PD_EX_BEST_OFFERS   EPriceData = "EX_BEST_OFFERS"
	PD_EX_ALL_OFFERS    EPriceData = "EX_ALL_OFFERS"
	PD_EX_TRADED        EPriceData = "EX_TRADED"
	ErrUnknownPriceData EPriceData = "Unknown priceData value"
)

type ERollupModel

type ERollupModel string
const (
	RM_STAKE              ERollupModel = "STAKE"
	RM_PAYOUT             ERollupModel = "PAYOUT"
	RM_MANAGED_LIABILITY  ERollupModel = "MANAGED_LIABILITY"
	RM_NONE               ERollupModel = "NONE"
	ErrUnknownRollupModel ERollupModel = "Unknown rollupModel value"
)

type ERunnerStatus

type ERunnerStatus string
const (
	RS_ACTIVE              ERunnerStatus = "ACTIVE"
	RS_WINNER              ERunnerStatus = "WINNER"
	RS_LOSER               ERunnerStatus = "LOSER"
	RS_PLACED              ERunnerStatus = "PLACED"
	RS_REMOVED_VACANT      ERunnerStatus = "REMOVED_VACANT"
	RS_REMOVED             ERunnerStatus = "REMOVED"
	RS_HIDDEN              ERunnerStatus = "HIDDEN"
	ErrUnknownRunnerStatus ERunnerStatus = "Unknown runnerStatus value"
)

type ESide

type ESide string
const (
	S_BACK         ESide = "BACK"
	S_LAY          ESide = "LAY"
	ErrUnknownSide ESide = "Unknown side value. Supported BACK or LAY only"
)

type ESortDir

type ESortDir string
const (
	EARLIEST_TO_LATEST ESortDir = "EARLIEST_TO_LATEST"
	LATEST_TO_EARLIEST ESortDir = "LATEST_TO_EARLIEST"
)

type ETimeGranularity

type ETimeGranularity string
const (
	TG_DAYS                   ETimeGranularity = "DAYS"
	TG_HOURS                  ETimeGranularity = "HOURS"
	TG_MINUTES                ETimeGranularity = "MINUTES"
	ErrUnknownTimeGranularity ETimeGranularity = "Unknown timeGranularity value"
)

type ETimeInForce

type ETimeInForce string
const (
	ETIF_FILL_OR_KILL ETimeInForce = "FILL_OR_KILL"
)

type EWallet

type EWallet string
const (
	W_UK  EWallet = "UK"
	W_AUS EWallet = "AUSTRALIAN"
)

type EXBestOffersOverrides

type EXBestOffersOverrides struct {
	BestPricesDepth          int          `json:"bestPricesDepth,omitempty"`
	RollupModel              ERollupModel `json:"rollupModel,omitempty"`
	RollupLimit              int          `json:"rollupLimit,omitempty"`
	RollupLiabilityThreshold float64      `json:"rollupLiabilityThreshold,omitempty"`
	RollupLiabilityFactor    int          `json:"rollupLiabilityFactor,omitempty"`
}

type Event

type Event struct {
	ID          string    `json:"id,omitempty"`
	Name        string    `json:"name,omitempty"`
	CountryCode string    `json:"countryCode,omitempty"`
	Timezone    string    `json:"timezone,omitempty"`
	Venue       string    `json:"venue,omitempty"`
	OpenDate    time.Time `json:"openDate,omitempty"`
}

type EventResult

type EventResult struct {
	Event       Event `json:"event,omitempty"`
	MarketCount int   `json:"marketCount,omitempty"`
}

type EventType

type EventType struct {
	ID   string `json:"id,omitempty"`
	Name string `json:"name,omitempty"`
}

type EventTypeResult

type EventTypeResult struct {
	EventType   EventType `json:"eventType,omitempty"`
	MarketCount int       `json:"marketCount,omitempty"`
}

type ExchangePrices

type ExchangePrices struct {
	AvailableToBack []PriceSize `json:"availableToBack,omitempty"`
	AvailableToLay  []PriceSize `json:"availableToLay,omitempty"`
	TradedVolume    []PriceSize `json:"tradedVolume,omitempty"`
}

type Filter

type Filter struct {
	Wallet                  EWallet              `json:"wallet,omitempty"`
	Locale                  string               `json:"locale,omitempty"`
	FromRecord              int                  `json:"fromRecord,omitempty"`
	RecordCount             int                  `json:"recordCount,omitempty"`
	ItemDateRange           *DateRange           `json:"itemDateRange,omitempty"`
	IncludeItem             EIncludeItem         `json:"recordCount,omitempty"`
	FromCurrency            string               `json:"fromCurrency,omitempty"`
	From                    EWallet              `json:"from,omitempty"`
	To                      EWallet              `json:"to,omitempty"`
	Amount                  float64              `json:"amount,omitempty"`
	BetIDs                  []string             `json:"betIds,omitempty"`
	MarketIDs               []string             `json:"marketIds,omitempty"`
	PriceProjection         *PriceProjection     `json:"priceProjection,omitempty"`
	OrderProjection         EOrderProjection     `json:"orderProjection,omitempty"`
	MarketProjection        *[]EMarketProjection `json:"marketProjection,omitempty"`
	DateRange               *DateRange           `json:"dateRange,omitempty"`
	OrderBy                 EOrderBy             `json:"orderBy,omitempty"`
	SortDir                 ESortDir             `json:"sortDir,omitempty"`
	Sort                    EMarketSort          `json:"sort,omitempty"`
	MarketFilter            *MarketFilter        `json:"filter,omitempty"`
	BetStatus               EBetStatus           `json:"betStatus,omitempty"`
	EventTypeIDs            []string             `json:"eventTypeIds,omitempty"`
	EventIDs                []string             `json:"eventIds,omitempty"`
	RunnerIDs               []RunnerID           `json:"runnerIds,omitempty"`
	Side                    ESide                `json:"side,omitempty"`
	SettledDateRange        *DateRange           `json:"settledDateRange,omitempty"`
	GroupBy                 EGroupBy             `json:"groupBy,omitempty"`
	IncludeItemDescription  bool                 `json:"includeItemDescription,omitempty"`
	MaxResults              int                  `json:"maxResults,omitempty"`
	IncludeSettledBets      bool                 `json:"includeSettledBets,omitempty"`
	TimeGranularity         ETimeGranularity     `json:"granularity,omitempty"`
	PlaceOrdersMarketID     string               `json:"marketId,omitempty"`
	PlaceOrdersInstructions []PlaceInstruction   `json:"instructions,omitempty"`
	CustomerOrderRefs       []string             `json:"customerOrderRefs,omitempty"`
	CustomerStrategyRefs    []string             `json:"customerStrategyRefs,omitempty"`
}

type ItemDescription

type ItemDescription struct {
	EventTypeDesc   string    `json:"eventTypeDesc,omitempty"`
	EventDesc       string    `json:"eventDesc,omitempty"`
	MarketDesc      string    `json:"marketDesc,omitempty"`
	MarketType      string    `json:"marketType,omitempty"`
	MarketStartTime time.Time `json:"marketStartTime,omitempty"`
	RunnerDesc      string    `json:"runnerDesc,omitempty"`
	NumberOfWinners int       `json:"numberOfWinners,omitempty"`
	EachWayDivisor  float64   `json:"eachWayDivisor,omitempty"`
}

type KeepAlive

type KeepAlive struct {
	Token   string
	Product string
	Status  string
	Error   string
}

type LimitOnCloseOrder

type LimitOnCloseOrder struct {
	Liability Decimal `json:"liability,omitempty"`
	Price     Decimal `json:"price,omitempty"`
}

type LimitOrder

type LimitOrder struct {
	Size            Decimal          `json:"size,omitempty"`
	Price           Decimal          `json:"price,omitempty"`
	PersistenceType EPersistenceType `json:"persistenceType,omitempty"`
	TimeInForce     ETimeInForce     `json:"timeInForce,omitempty"`
	MinFillSize     Decimal          `json:"minFillSize,omitempty"`
	BetTargetType   EBetTargetType   `json:"betTargetType,omitempty"`
	BetTargetSize   Decimal          `json:"betTargetSize,omitempty"`
}

type MarketBook

type MarketBook struct {
	MarketID              string        `json:"marketId,omitempty"`
	IsMarketDataDelayed   bool          `json:"isMarketDataDelayed,omitempty"`
	Status                EMarketStatus `json:"status,omitempty"`
	BetDelay              int           `json:"betDelay,omitempty"`
	BspReconciled         bool          `json:"bspReconciled,omitempty"`
	Complete              bool          `json:"complete,omitempty"`
	Inplay                bool          `json:"inplay,omitempty"`
	NumberOfWinners       int           `json:"numberOfWinners,omitempty"`
	NumberOfRunners       int           `json:"numberOfRunners,omitempty"`
	NumberOfActiveRunners int           `json:"numberOfActiveRunners,omitempty"`
	LastMatchTime         time.Time     `json:"lastMatchTime,omitempty"`
	TotalMatched          float64       `json:"totalMatched,omitempty"`
	TotalAvailable        float64       `json:"totalAvailable,omitempty"`
	CrossMatching         bool          `json:"crossMatching,omitempty"`
	RunnersVoidable       bool          `json:"runnersVoidable,omitempty"`
	Version               int64         `json:"version,omitempty"`
	Runners               []Runner      `json:"runners,omitempty"`
}

type MarketCatalogue

type MarketCatalogue struct {
	MarketID        string            `json:"marketId,omitempty"`
	MarketName      string            `json:"marketName,omitempty"`
	MarketStartTime time.Time         `json:"marketStartTime,omitempty"`
	Description     MarketDescription `json:"description,omitempty"`
	TotalMatched    float64           `json:"totalMatched,omitempty"`
	Runners         []RunnerCatalog   `json:"runners,omitempty"`
	EventType       EventType         `json:"eventType,omitempty"`
	Competition     Competition       `json:"competition,omitempty"`
	Event           Event             `json:"event,omitempty"`
}

type MarketDescription

type MarketDescription struct {
	PersistenceEnabled bool               `json:"persistenceEnabled,omitempty"`
	BspMarket          bool               `json:"bspMarket,omitempty"`
	MarketTime         time.Time          `json:"marketTime,omitempty"`
	SuspendTime        time.Time          `json:"suspendTime,omitempty"`
	SettleTime         time.Time          `json:"settleTime,omitempty"`
	BettingType        EMarketBettingType `json:"bettingType,omitempty"`
	TurnInPlayEnabled  bool               `json:"turnInPlayEnabled,omitempty"`
	MarketType         string             `json:"marketType,omitempty"`
	Regulator          string             `json:"marketId,omitempty"`
	MarketBaseRate     float64            `json:"marketBaseRate,omitempty"`
	DiscountAllowed    bool               `json:"discountAllowed,omitempty"`
	Wallet             string             `json:"wallet,omitempty"`
	Rules              string             `json:"rules,omitempty"`
	RulesHasDate       bool               `json:"rulesHasDate,omitempty"`
	EachWayDivisor     float64            `json:"eachWayDivisor,omitempty"`
	Clarifications     string             `json:"clarifications,omitempty"`
}

type MarketFilter

type MarketFilter struct {
	TextQuery          string               `json:"textQuery,omitempty"`
	ExchangeIDs        []string             `json:"exchangeIds,omitempty"`
	EventTypeIDs       []string             `json:"eventTypeIds,omitempty"`
	EventIDs           []string             `json:"eventIds,omitempty"`
	CompetitionIDs     []string             `json:"competitionIds,omitempty"`
	MarketIDs          []string             `json:"marketIds,omitempty"`
	Venues             []string             `json:"venues,omitempty"`
	BspOnly            *bool                `json:"bspOnly,omitempty"`
	TurnInPlayEnabled  *bool                `json:"turnInPlayEnabled,omitempty"`
	InPlayOnly         *bool                `json:"inPlayOnly,omitempty"`
	MarketBettingTypes []EMarketBettingType `json:"marketBettingTypes,omitempty"`
	MarketCountries    []string             `json:"marketCountries,omitempty"`
	MarketTypeCodes    []string             `json:"marketTypeCodes,omitempty"`
	MarketStartTime    *DateRange           `json:"marketStartTime,omitempty"`
	WithOrders         []EOrderStatus       `json:"withOrders,omitempty"`
}

type MarketOnCloseOrder

type MarketOnCloseOrder struct {
	Liability Decimal `json:"liability,omitempty"`
}

type MarketProfitAndLoss

type MarketProfitAndLoss struct {
	MarketId          string                `json:"marketId,omitempty"`
	CommissionApplied float64               `json:"commissionApplied,omitempty"`
	ProfitAndLosses   []RunnerProfitAndLoss `json:"profitAndLosses,omitempty"`
}

type MarketTypeResult

type MarketTypeResult struct {
	MarketType  string `json:"marketType,omitempty"`
	MarketCount int    `json:"marketCount,omitempty"`
}

type Match

type Match struct {
}

type Order

type Order struct {
}

type PlaceExecutionReport

type PlaceExecutionReport struct {
	CustomerRef        string                    `json:"customerRef,omitempty"`
	Status             EExecutionReportStatus    `json:"status,omitempty"`
	ErrorCode          EExecutionReportErrorCode `json:"errorCode,omitempty"`
	MarketID           string                    `json:"marketId,omitempty"`
	InstructionReports []PlaceInstructionReport  `json:"instructionReports,omitempty"`
}

type PlaceInstruction

type PlaceInstruction struct {
	OrderType          EOrderType          `json:"orderType,omitempty"`
	SelectionID        int64               `json:"selectionId,omitempty"`
	Handicap           Decimal             `json:"handicap,omitempty"`
	Side               ESide               `json:"side,omitempty"`
	LimitOrder         *LimitOrder         `json:"limitOrder,omitempty"`
	LimitOnCloseOrder  *LimitOnCloseOrder  `json:"limitOnCloseOrder,omitempty"`
	MarketOnCloseOrder *MarketOnCloseOrder `json:"marketOnCloseOrder,omitempty"`
	CustomerOrderRef   string              `json:"customerOrderRef,omitempty"`
}

type PlaceInstructionReport

type PlaceInstructionReport struct {
	Status              EInstructionReportStatus    `json:"status,omitempty"`
	ErrorCode           EInstructionReportErrorCode `json:"errorCode,omitempty"`
	OrderStatus         EOrderStatus                `json:"orderStatus,omitempty"`
	Instruction         PlaceInstruction            `json:"instruction,omitempty"`
	BetID               string                      `json:"betId,omitempty"`
	PlacedDate          time.Time                   `json:"placedDate,omitempty"`
	AveragePriceMatched float64                     `json:"averagePriceMatched,omitempty"`
	SizeMatched         float64                     `json:"sizeMatched,omitempty"`
}

type PriceProjection

type PriceProjection struct {
	PriceData             []EPriceData           `json:"priceData,omitempty"`
	EXBestOffersOverrides *EXBestOffersOverrides `json:"exBestOffersOverrides,omitempty"`
	Virtualise            bool                   `json:"virtualise,omitempty"`
	RolloverStakes        bool                   `json:"rolloverStakes,omitempty"`
}

type PriceSize

type PriceSize struct {
	Price float64
	Size  float64
}

type Runner

type Runner struct {
	SelectionID       int64              `json:"selectionId,omitempty"`
	Handicap          float64            `json:"handicap,omitempty"`
	Status            ERunnerStatus      `json:"status,omitempty"`
	AdjustmentFactor  float64            `json:"adjustmentFactor,omitempty"`
	LastPriceTraded   float64            `json:"lastPriceTraded,omitempty"`
	TotalMatched      float64            `json:"totalMatched,omitempty"`
	RemovalDate       time.Time          `json:"removalDate,omitempty"`
	SP                StartingPrices     `json:"sp,omitempty"`
	EX                ExchangePrices     `json:"ex,omitempty"`
	Orders            []Order            `json:"orders,omitempty"`
	Matches           []Match            `json:"matches,omitempty"`
	MatchesByStrategy map[string][]Match `json:"matchesByStrategy,omitempty"`
}

type RunnerCatalog

type RunnerCatalog struct {
	SelectionID  int64             `json:"selectionId,omitempty"`
	RunnerName   string            `json:"runnerName,omitempty"`
	Handicap     float64           `json:"handicap,omitempty"`
	SortPriority int               `json:"sortPriority,omitempty"`
	Metadata     map[string]string `json:"metadata,omitempty"`
}

type RunnerID

type RunnerID struct {
	MarketID    string
	SelectionID int64
	Handicap    float64
}

type RunnerProfitAndLoss

type RunnerProfitAndLoss struct {
	SelectionId int64   `json:"selectionId,omitempty"`
	IfWin       float64 `json:"ifWin,omitempty"`
	IfLose      float64 `json:"ifLose,omitempty"`
	IfPlace     float64 `json:"ifPlace,omitempty"`
}

type Session

type Session struct {
	SessionToken string
	LoginStatus  ELoginStatus
}

type StartingPrices

type StartingPrices struct {
	NearPrice         float64     `json:"nearPrice,omitempty"`
	FarPrice          float64     `json:"farPrice,omitempty"`
	BackStakeTaken    []PriceSize `json:"backStakeTaken,omitempty"`
	LayLiabilityTaken []PriceSize `json:"layLiabilityTaken,omitempty"`
	ActualSP          float64     `json:"actualSP,omitempty"`
}

type StatementItem

type StatementItem struct {
	RefID         string `json:"omitempty"`
	ItemDate      time.Time
	Amount        float64             `json:"omitempty"`
	Balance       float64             `json:"omitempty"`
	ItemClass     EItemClass          `json:"omitempty"`
	ItemClassData map[string]string   `json:"omitempty"`
	LegacyData    StatementLegacyData `json:"omitempty"`
}

type StatementLegacyData

type StatementLegacyData struct {
	AvgPrice        float64     `json:"omitempty"`
	BetSize         float64     `json:"omitempty"`
	BetType         string      `json:"omitempty"`
	BetCategoryType string      `json:"omitempty"`
	CommissionRate  string      `json:"omitempty"`
	EventID         int64       `json:"omitempty"`
	EventTypeID     int64       `json:"omitempty"`
	FullMarketName  string      `json:"omitempty"`
	GrossBetAmount  float64     `json:"omitempty"`
	MarketName      string      `json:"omitempty"`
	MarketType      EMarketType `json:"omitempty"`
	PlacedDate      time.Time   `json:"omitempty"`
	SelectionID     int64       `json:"omitempty"`
	SelectionName   string      `json:"omitempty"`
	StartDate       time.Time   `json:"omitempty"`
	TransactionType string      `json:"omitempty"`
	TransactionID   int64       `json:"omitempty"`
	WinLose         string      `json:"omitempty"`
}

type TimeRangeResult

type TimeRangeResult struct {
	TimeRange   DateRange `json:"timeRange,omitempty"`
	MarketCount int       `json:"marketCount,omitempty"`
}

type TransferResponse

type TransferResponse struct {
	TransactionID string
}

type VenueResult

type VenueResult struct {
	Venue       string `json:"venue,omitempty"`
	MarketCount int    `json:"marketCount,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL