class _AppProvider(Model): id = fields.Str() providerName = fields.Str() titleId = fields.Str() primaryColor = fields.Str() secondaryColor = fields.Str() channels = NestedModel(_AppChannel, many=True)
class _LiveTvInfo(Model): streamingPort = fields.Int() inHdmiMode = fields.Bool() tunerChannelType = fields.Str() currentTunerChannelId = fields.Str() currentHdmiChannelId = fields.Str() pauseBufferInfo = NestedModel(_PauseBufferInfo)
class OrderSchema(Model): gross_amount = fields.Int(required=True, data_key='gross_amount') net_amount = fields.Int(required=True, data_key='net_amount') discount_gross_amount = fields.Int(required=True, data_key='discount_gross_amount') discount_net_amount = fields.Int(required=True, data_key='discount_net_amount') items = fields.List(NestedModel(ItemSchema))
class _HeadendInfo(Model): providerName = fields.Str() headendId = fields.UUID() blockExplicitContentPerShow = fields.Bool() dvrEnabled = fields.Bool() headendLocale = fields.Str() streamingPort = fields.Int() preferredProvider = fields.Str() providers = NestedModel(_HeadendProvider, many=True)
class AddressSchema(Model): first_name = fields.String(required=True, data_key='first_name') last_name = fields.String(required=True, data_key='last_name') company_name = fields.String(required=True, data_key='company_name') street = fields.String(required=True, data_key='street') street_number = fields.String(required=True, data_key='street_number') city = fields.String(required=True, data_key='city') zip = fields.String(required=True, data_key='zip') additional = fields.String(required=True, data_key='additional') country = NestedModel(CountrySchema, attribute='country')
class PaymentDto(Model): reference_id = fields.String(required=True, data_key='reference_id') currency = fields.String(required=True, data_key='currency') order = NestedModel(OrderSchema, attribute='order') shipping = NestedModel(ShippingSchema, attribute='shipping') customer = NestedModel(CustomerSchema, attribute='customer') billing_address = NestedModel(AddressSchema, attribute='billing_address') delivery_address = NestedModel(AddressSchema, attribute='delivery_address') payment_configuration = NestedModel(PaymentConfiguration, attribute='payment_configuration')
class PaymentConfiguration(Model): payment_method = fields.String(required=True, data_key='payment_method') authorisation_url = NestedModel(AuthorisationUrlSchema, attribute='authorisation_url')
class _TunerLineups(Model): providers = NestedModel(_LineupProvider, many=True)
class _LineupProvider(Model): foundChannels = NestedModel(_FoundChannel, many=True, required=True) cqsChannels = fields.List(fields.Str(), required=True) headendId = fields.UUID()
class HeadendInfo(StumpResponse): params = NestedModel(_HeadendInfo)
class LiveTvInfo(StumpResponse): params = NestedModel(_LiveTvInfo)
class Configuration(StumpResponse): params = NestedModel(_DeviceConfiguration, many=True)
class RecentChannels(StumpResponse): params = NestedModel(_RecentChannel, many=True)
class TunerLineups(StumpResponse): params = NestedModel(_TunerLineups)
class EnsureStreamingStarted(StumpResponse): params = NestedModel(_EnsureStreamingStarted)
class AppChannelLineups(StumpResponse): params = NestedModel(_AppProvider, many=True)