class PlaceInstruction(BetfairModel): order_type = EnumType(constants.OrderType, required=True) selection_id = IntType(required=True) handicap = FloatType() side = EnumType(constants.Side, required=True) limit_order = ModelType(LimitOrder) limit_on_close_order = ModelType(LimitOnCloseOrder) market_on_close_order = ModelType(MarketOnCloseOrder)
class Order(BetfairModel): bet_id = StringType(required=True) order_type = EnumType(constants.OrderType, required=True) status = EnumType(constants.OrderStatus, required=True) persistence_type = EnumType(constants.PersistenceType, required=True) side = EnumType(constants.Side, required=True) price = FloatType(required=True) size = FloatType(required=True) bsp_liability = BooleanType(required=True) placed_date = DateTimeType(required=True) avg_price_matched = FloatType() size_matched = FloatType() size_remaining = FloatType() size_lapsed = FloatType() size_cancelled = FloatType() size_voided = FloatType()
class Match(BetfairModel): bet_id = StringType() match_id = StringType() side = EnumType(constants.Side, required=True) price = FloatType(required=True) size = FloatType(required=True) match_date = DateTimeType()
class MarketFilter(BetfairModel): text_query = StringType() exchange_ids = StringType() event_type_ids = ListType(StringType) event_ids = ListType(StringType) competition_ids = ListType(StringType) market_ids = ListType(StringType) venues = ListType(StringType) bsp_only = BooleanType() turn_in_play_enabled = BooleanType() in_play_only = BooleanType() market_betting_types = ListType(EnumType(constants.MarketBettingType)) market_countries = ListType(StringType) market_type_codes = ListType(StringType) market_start_time = ModelType(TimeRange) with_orders = ListType(EnumType(constants.OrderStatus))
class StatementItem(BetfairModel): ref_id = StringType() item_date = DateTimeType() amount = FloatType() balance = FloatType() item_class = EnumType(constants.ItemClass) item_class_data = DictType(StringType) legacy_data = ModelType(StatementLegacyData)
class AccountFundsResponse(BetfairModel): available_to_bet_balance = FloatType() exposure = FloatType() retained_commission = FloatType() exposure_limit = FloatType() discount_rate = FloatType() points_balance = IntType() wallet = EnumType(constants.Wallet)
class MarketData(): def __init__(self, catalog, marketbook): self.market_id = catalog.market_id self.market_name = catalog.market_name self.market_start_time = catalog.market_start_time self.description = catalog.description self.total_matched = catalog.total_matched self.runner_catalog = catalog.runners self.event_type = catalog.event_type self.competition = catalog.competition self.event = catalog.event self.is_market_data_delayed = marketbook.is_market_data_delayed self.status = marketbook.status self.bet_delay = marketbook.bet_delay self.bsp_reconciled = marketbook.bsp_reconciled self.complete = marketbook.complete self.inplay = marketbook.inplay self.number_of_winners = marketbook.number_of_winners self.number_of_runners = marketbook.number_of_runners self.number_of_active_runners = marketbook.number_of_active_runners self.last_match_time = marketbook.last_match_time self.total_matched = marketbook.total_matched self.total_available = marketbook.total_available self.cross_matching = marketbook.cross_matching self.runners_voidable = marketbook.runners_voidable self.version = marketbook.version self.runners = marketbook.runners #MarketCatalogueData market_id = StringType() market_name = StringType() market_start_time = DateTimeType() description = ModelType(MarketDescription) total_matched = FloatType() runner_catalog = ListType(ModelType(RunnerCatalog)) event_type = ModelType(EventType) competition = ModelType(Competition) event = ModelType(Event) #MarketBookData is_market_data_delayed = BooleanType status = EnumType(constants.MarketStatus) bet_delay = IntType() bsp_reconciled = BooleanType() complete = BooleanType() inplay = BooleanType() number_of_winners = IntType() number_of_runners = IntType() number_of_active_runners = IntType() last_match_time = DateTimeType() total_matched = FloatType() total_available = FloatType() cross_matching = BooleanType() runners_voidable = BooleanType() version = FloatType() runners = ListType(ModelType(Runner))
class ClearedOrderSummary(BetfairModel): event_type_id = StringType() event_id = StringType() market_id = StringType() selection_id = IntType() handicap = FloatType() bet_id = StringType() placed_date = DateTimeType() persistence_type = EnumType(constants.PersistenceType) order_type = EnumType(constants.OrderType) side = EnumType(constants.Side) item_description = ModelType(ItemDescription) price_requested = FloatType() settled_date = DateTimeType() bet_count = IntType() commission = FloatType() price_matched = FloatType() price_reduced = BooleanType() size_settled = FloatType() profit = FloatType() size_cancelled = FloatType()
class Runner(BetfairModel): selection_id = IntType(required=True) handicap = FloatType(required=True) status = EnumType(constants.RunnerStatus, required=True) adjustment_factor = FloatType() last_price_traded = FloatType() total_matched = FloatType() removal_date = DateTimeType() sp = ModelType(StartingPrices) ex = ModelType(ExchangePrices) orders = ListType(ModelType(Order)) matches = ListType(ModelType(Match))
class CurrentOrderSummary(BetfairModel): bet_id = StringType(required=True) market_id = StringType(required=True) selection_id = IntType(required=True) handicap = FloatType(required=True) price_size = ModelType(PriceSize, required=True) bsp_liability = FloatType(required=True) side = EnumType(constants.Side, required=True) status = EnumType(constants.OrderStatus, required=True) persistence_type = EnumType(constants.PersistenceType, required=True) order_type = EnumType(constants.OrderType, required=True) placed_date = DateTimeType(required=True) matched_date = DateTimeType() average_price_matched = FloatType() size_matched = FloatType() size_remaining = FloatType() size_lapsed = FloatType() size_cancelled = FloatType() size_voided = FloatType() regulator_auth_code = StringType() regulator_code = StringType()
class MarketDescription(BetfairModel): persistence_enabled = BooleanType(required=True) bsp_market = BooleanType(required=True) market_time = DateTimeType(required=True) suspend_time = DateTimeType(required=True) settle_time = DateTimeType() betting_type = EnumType(constants.MarketBettingType, required=True) turn_in_play_enabled = BooleanType(required=True) market_type = StringType(required=True) regulator = StringType(required=True) market_base_rate = FloatType(required=True) discount_allowed = BooleanType(required=True) wallet = StringType() rules = StringType() rules_has_date = BooleanType() clarifications = StringType() each_way_divisor = FloatType()
class MarketBook(BetfairModel): market_id = StringType(required=True) is_market_data_delayed = BooleanType(required=True) status = EnumType(constants.MarketStatus) bet_delay = IntType() bsp_reconciled = BooleanType() complete = BooleanType() inplay = BooleanType() number_of_winners = IntType() number_of_runners = IntType() number_of_active_runners = IntType() last_match_time = DateTimeType() total_matched = FloatType() total_available = FloatType() cross_matching = BooleanType() runners_voidable = BooleanType() version = FloatType() runners = ListType(ModelType(Runner))
class BaseExecutionReport(BetfairModel): customer_ref = StringType() status = EnumType(constants.ExecutionReportStatus, required=True) error_code = EnumType(constants.ExecutionReportErrorCode) market_id = StringType()
class BaseInstructionReport(BetfairModel): status = EnumType(constants.InstructionReportStatus, required=True) error_code = EnumType(constants.InstructionReportErrorCode)
class UpdateInstruction(BetfairModel): bet_id = StringType(required=True) new_persistence_type = EnumType(constants.PersistenceType, required=True)
class FakeModel(BetfairModel): enum_field = EnumType(FakeEnum)
class LimitOrder(BetfairModel): size = FloatType(required=True) price = FloatType(required=True) persistence_type = EnumType(constants.PersistenceType, required=True)
class PriceProjection(BetfairModel): price_data = ListType(EnumType(constants.PriceData)) ex_best_offers_overrides = ModelType(ExBestOffersOverrides) virtualise = BooleanType() rollover_stakes = BooleanType()
class ExBestOffersOverrides(BetfairModel): best_prices_depth = IntType() rollup_model = EnumType(constants.RollupModel) rollup_limit = IntType() rollup_liability_threshold = FloatType() rollup_liability_factor = IntType()