/* Options: Date: 2026-08-17 09:14:34 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RefreshmentsOverviewRequest.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class SalesTrendBucket implements IConvertible { DateTime? bucket; double? revenue; int? tickets; SalesTrendBucket({this.bucket,this.revenue,this.tickets}); SalesTrendBucket.fromJson(Map json) { fromMap(json); } fromMap(Map json) { bucket = JsonConverters.fromJson(json['bucket'],'DateTime',context!); revenue = JsonConverters.toDouble(json['revenue']); tickets = json['tickets']; return this; } Map toJson() => { 'bucket': JsonConverters.toJson(bucket,'DateTime',context!), 'revenue': revenue, 'tickets': tickets }; getTypeName() => "SalesTrendBucket"; TypeContext? context = _ctx; } class SalesHourBucket implements IConvertible { int? hour; double? revenue; int? orders; int? tickets; SalesHourBucket({this.hour,this.revenue,this.orders,this.tickets}); SalesHourBucket.fromJson(Map json) { fromMap(json); } fromMap(Map json) { hour = json['hour']; revenue = JsonConverters.toDouble(json['revenue']); orders = json['orders']; tickets = json['tickets']; return this; } Map toJson() => { 'hour': hour, 'revenue': revenue, 'orders': orders, 'tickets': tickets }; getTypeName() => "SalesHourBucket"; TypeContext? context = _ctx; } class SalesDowBucket implements IConvertible { int? dow; double? revenue; int? orders; int? tickets; SalesDowBucket({this.dow,this.revenue,this.orders,this.tickets}); SalesDowBucket.fromJson(Map json) { fromMap(json); } fromMap(Map json) { dow = json['dow']; revenue = JsonConverters.toDouble(json['revenue']); orders = json['orders']; tickets = json['tickets']; return this; } Map toJson() => { 'dow': dow, 'revenue': revenue, 'orders': orders, 'tickets': tickets }; getTypeName() => "SalesDowBucket"; TypeContext? context = _ctx; } class RefreshmentsKpis implements IConvertible { double? revenue; double? refunded; int? units; int? orders; double? aov; double? unitsPerOrder; int? attendance; double? perCap; RefreshmentsKpis({this.revenue,this.refunded,this.units,this.orders,this.aov,this.unitsPerOrder,this.attendance,this.perCap}); RefreshmentsKpis.fromJson(Map json) { fromMap(json); } fromMap(Map json) { revenue = JsonConverters.toDouble(json['revenue']); refunded = JsonConverters.toDouble(json['refunded']); units = json['units']; orders = json['orders']; aov = JsonConverters.toDouble(json['aov']); unitsPerOrder = JsonConverters.toDouble(json['unitsPerOrder']); attendance = json['attendance']; perCap = JsonConverters.toDouble(json['perCap']); return this; } Map toJson() => { 'revenue': revenue, 'refunded': refunded, 'units': units, 'orders': orders, 'aov': aov, 'unitsPerOrder': unitsPerOrder, 'attendance': attendance, 'perCap': perCap }; getTypeName() => "RefreshmentsKpis"; TypeContext? context = _ctx; } class KpiDelta implements IConvertible { double? abs; double? pct; String? dir; KpiDelta({this.abs,this.pct,this.dir}); KpiDelta.fromJson(Map json) { fromMap(json); } fromMap(Map json) { abs = JsonConverters.toDouble(json['abs']); pct = JsonConverters.toDouble(json['pct']); dir = json['dir']; return this; } Map toJson() => { 'abs': abs, 'pct': pct, 'dir': dir }; getTypeName() => "KpiDelta"; TypeContext? context = _ctx; } class RefreshmentsDeltas implements IConvertible { KpiDelta? revenue; KpiDelta? refunded; KpiDelta? units; KpiDelta? orders; KpiDelta? aov; KpiDelta? perCap; RefreshmentsDeltas({this.revenue,this.refunded,this.units,this.orders,this.aov,this.perCap}); RefreshmentsDeltas.fromJson(Map json) { fromMap(json); } fromMap(Map json) { revenue = JsonConverters.fromJson(json['revenue'],'KpiDelta',context!); refunded = JsonConverters.fromJson(json['refunded'],'KpiDelta',context!); units = JsonConverters.fromJson(json['units'],'KpiDelta',context!); orders = JsonConverters.fromJson(json['orders'],'KpiDelta',context!); aov = JsonConverters.fromJson(json['aov'],'KpiDelta',context!); perCap = JsonConverters.fromJson(json['perCap'],'KpiDelta',context!); return this; } Map toJson() => { 'revenue': JsonConverters.toJson(revenue,'KpiDelta',context!), 'refunded': JsonConverters.toJson(refunded,'KpiDelta',context!), 'units': JsonConverters.toJson(units,'KpiDelta',context!), 'orders': JsonConverters.toJson(orders,'KpiDelta',context!), 'aov': JsonConverters.toJson(aov,'KpiDelta',context!), 'perCap': JsonConverters.toJson(perCap,'KpiDelta',context!) }; getTypeName() => "RefreshmentsDeltas"; TypeContext? context = _ctx; } class RefreshmentsProduct implements IConvertible { int? ticketTypeId; String? name; int? units; double? revenue; int? orders; DateTime? lastSoldAt; RefreshmentsProduct({this.ticketTypeId,this.name,this.units,this.revenue,this.orders,this.lastSoldAt}); RefreshmentsProduct.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ticketTypeId = json['ticketTypeId']; name = json['name']; units = json['units']; revenue = JsonConverters.toDouble(json['revenue']); orders = json['orders']; lastSoldAt = JsonConverters.fromJson(json['lastSoldAt'],'DateTime',context!); return this; } Map toJson() => { 'ticketTypeId': ticketTypeId, 'name': name, 'units': units, 'revenue': revenue, 'orders': orders, 'lastSoldAt': JsonConverters.toJson(lastSoldAt,'DateTime',context!) }; getTypeName() => "RefreshmentsProduct"; TypeContext? context = _ctx; } class RefreshmentsEventRow implements IConvertible { int? eventId; String? eventName; DateTime? eventDate; double? revenue; int? units; int? orders; int? attendance; double? perCap; RefreshmentsEventRow({this.eventId,this.eventName,this.eventDate,this.revenue,this.units,this.orders,this.attendance,this.perCap}); RefreshmentsEventRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { eventId = json['eventId']; eventName = json['eventName']; eventDate = JsonConverters.fromJson(json['eventDate'],'DateTime',context!); revenue = JsonConverters.toDouble(json['revenue']); units = json['units']; orders = json['orders']; attendance = json['attendance']; perCap = JsonConverters.toDouble(json['perCap']); return this; } Map toJson() => { 'eventId': eventId, 'eventName': eventName, 'eventDate': JsonConverters.toJson(eventDate,'DateTime',context!), 'revenue': revenue, 'units': units, 'orders': orders, 'attendance': attendance, 'perCap': perCap }; getTypeName() => "RefreshmentsEventRow"; TypeContext? context = _ctx; } class RefreshmentsPaymentMethodRow implements IConvertible { String? paymentMethodId; double? revenue; int? units; int? orders; RefreshmentsPaymentMethodRow({this.paymentMethodId,this.revenue,this.units,this.orders}); RefreshmentsPaymentMethodRow.fromJson(Map json) { fromMap(json); } fromMap(Map json) { paymentMethodId = json['paymentMethodId']; revenue = JsonConverters.toDouble(json['revenue']); units = json['units']; orders = json['orders']; return this; } Map toJson() => { 'paymentMethodId': paymentMethodId, 'revenue': revenue, 'units': units, 'orders': orders }; getTypeName() => "RefreshmentsPaymentMethodRow"; TypeContext? context = _ctx; } class RefreshmentsRecentOrder implements IConvertible { int? ticketId; DateTime? createdAt; String? eventName; double? amount; int? units; String? paymentMethodId; RefreshmentsRecentOrder({this.ticketId,this.createdAt,this.eventName,this.amount,this.units,this.paymentMethodId}); RefreshmentsRecentOrder.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ticketId = json['ticketId']; createdAt = JsonConverters.fromJson(json['createdAt'],'DateTime',context!); eventName = json['eventName']; amount = JsonConverters.toDouble(json['amount']); units = json['units']; paymentMethodId = json['paymentMethodId']; return this; } Map toJson() => { 'ticketId': ticketId, 'createdAt': JsonConverters.toJson(createdAt,'DateTime',context!), 'eventName': eventName, 'amount': amount, 'units': units, 'paymentMethodId': paymentMethodId }; getTypeName() => "RefreshmentsRecentOrder"; TypeContext? context = _ctx; } class RefreshmentsOverviewResult implements IConvertible { RefreshmentsKpis? current; RefreshmentsKpis? previous; RefreshmentsDeltas? delta; List? trend; List? previousTrend; List? products; List? events; List? byHourOfDay; List? byDayOfWeek; List? byPaymentMethod; List? recentOrders; bool? hasAnyDataEver; String? bucket; DateTime? freshnessUtc; int? statusCode; String? message; RefreshmentsOverviewResult({this.current,this.previous,this.delta,this.trend,this.previousTrend,this.products,this.events,this.byHourOfDay,this.byDayOfWeek,this.byPaymentMethod,this.recentOrders,this.hasAnyDataEver,this.bucket,this.freshnessUtc,this.statusCode,this.message}); RefreshmentsOverviewResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { current = JsonConverters.fromJson(json['current'],'RefreshmentsKpis',context!); previous = JsonConverters.fromJson(json['previous'],'RefreshmentsKpis',context!); delta = JsonConverters.fromJson(json['delta'],'RefreshmentsDeltas',context!); trend = JsonConverters.fromJson(json['trend'],'List',context!); previousTrend = JsonConverters.fromJson(json['previousTrend'],'List',context!); products = JsonConverters.fromJson(json['products'],'List',context!); events = JsonConverters.fromJson(json['events'],'List',context!); byHourOfDay = JsonConverters.fromJson(json['byHourOfDay'],'List',context!); byDayOfWeek = JsonConverters.fromJson(json['byDayOfWeek'],'List',context!); byPaymentMethod = JsonConverters.fromJson(json['byPaymentMethod'],'List',context!); recentOrders = JsonConverters.fromJson(json['recentOrders'],'List',context!); hasAnyDataEver = json['hasAnyDataEver']; bucket = json['bucket']; freshnessUtc = JsonConverters.fromJson(json['freshnessUtc'],'DateTime',context!); statusCode = json['statusCode']; message = json['message']; return this; } Map toJson() => { 'current': JsonConverters.toJson(current,'RefreshmentsKpis',context!), 'previous': JsonConverters.toJson(previous,'RefreshmentsKpis',context!), 'delta': JsonConverters.toJson(delta,'RefreshmentsDeltas',context!), 'trend': JsonConverters.toJson(trend,'List',context!), 'previousTrend': JsonConverters.toJson(previousTrend,'List',context!), 'products': JsonConverters.toJson(products,'List',context!), 'events': JsonConverters.toJson(events,'List',context!), 'byHourOfDay': JsonConverters.toJson(byHourOfDay,'List',context!), 'byDayOfWeek': JsonConverters.toJson(byDayOfWeek,'List',context!), 'byPaymentMethod': JsonConverters.toJson(byPaymentMethod,'List',context!), 'recentOrders': JsonConverters.toJson(recentOrders,'List',context!), 'hasAnyDataEver': hasAnyDataEver, 'bucket': bucket, 'freshnessUtc': JsonConverters.toJson(freshnessUtc,'DateTime',context!), 'statusCode': statusCode, 'message': message }; getTypeName() => "RefreshmentsOverviewResult"; TypeContext? context = _ctx; } // @Route("/sales/refreshments/overview", "POST") class RefreshmentsOverviewRequest implements IReturn, IConvertible { int? ownerId; int? seriesId; DateTime? fromUtc; DateTime? toUtc; DateTime? compareFromUtc; DateTime? compareToUtc; String? bucket; int? topEventsLimit; int? recentOrdersLimit; RefreshmentsOverviewRequest({this.ownerId,this.seriesId,this.fromUtc,this.toUtc,this.compareFromUtc,this.compareToUtc,this.bucket,this.topEventsLimit,this.recentOrdersLimit}); RefreshmentsOverviewRequest.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ownerId = json['ownerId']; seriesId = json['seriesId']; fromUtc = JsonConverters.fromJson(json['fromUtc'],'DateTime',context!); toUtc = JsonConverters.fromJson(json['toUtc'],'DateTime',context!); compareFromUtc = JsonConverters.fromJson(json['compareFromUtc'],'DateTime',context!); compareToUtc = JsonConverters.fromJson(json['compareToUtc'],'DateTime',context!); bucket = json['bucket']; topEventsLimit = json['topEventsLimit']; recentOrdersLimit = json['recentOrdersLimit']; return this; } Map toJson() => { 'ownerId': ownerId, 'seriesId': seriesId, 'fromUtc': JsonConverters.toJson(fromUtc,'DateTime',context!), 'toUtc': JsonConverters.toJson(toUtc,'DateTime',context!), 'compareFromUtc': JsonConverters.toJson(compareFromUtc,'DateTime',context!), 'compareToUtc': JsonConverters.toJson(compareToUtc,'DateTime',context!), 'bucket': bucket, 'topEventsLimit': topEventsLimit, 'recentOrdersLimit': recentOrdersLimit }; createResponse() => RefreshmentsOverviewResult(); getResponseTypeName() => "RefreshmentsOverviewResult"; getTypeName() => "RefreshmentsOverviewRequest"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stubbur_app.azurewebsites.net', types: { 'SalesTrendBucket': TypeInfo(TypeOf.Class, create:() => SalesTrendBucket()), 'SalesHourBucket': TypeInfo(TypeOf.Class, create:() => SalesHourBucket()), 'SalesDowBucket': TypeInfo(TypeOf.Class, create:() => SalesDowBucket()), 'RefreshmentsKpis': TypeInfo(TypeOf.Class, create:() => RefreshmentsKpis()), 'KpiDelta': TypeInfo(TypeOf.Class, create:() => KpiDelta()), 'RefreshmentsDeltas': TypeInfo(TypeOf.Class, create:() => RefreshmentsDeltas()), 'RefreshmentsProduct': TypeInfo(TypeOf.Class, create:() => RefreshmentsProduct()), 'RefreshmentsEventRow': TypeInfo(TypeOf.Class, create:() => RefreshmentsEventRow()), 'RefreshmentsPaymentMethodRow': TypeInfo(TypeOf.Class, create:() => RefreshmentsPaymentMethodRow()), 'RefreshmentsRecentOrder': TypeInfo(TypeOf.Class, create:() => RefreshmentsRecentOrder()), 'RefreshmentsOverviewResult': TypeInfo(TypeOf.Class, create:() => RefreshmentsOverviewResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RefreshmentsOverviewRequest': TypeInfo(TypeOf.Class, create:() => RefreshmentsOverviewRequest()), });