/* Options: Date: 2026-07-03 06:38:06 SwiftVersion: 5.0 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: SalesOverviewRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sales/overview", "POST") public class SalesOverviewRequest : IReturn, Codable { public typealias Return = SalesOverviewResult public var eventOwnerId:Int? public var additionalOwnerIds:[Int] = [] public var eventId:Int? public var fromUtc:Date? public var toUtc:Date? public var compareFromUtc:Date? public var compareToUtc:Date? public var bucket:String? public var topEventsLimit:Int? public var recentOrdersLimit:Int? required public init(){} } public class SalesOverviewResult : Codable { public var current:SalesKpis? public var previous:SalesKpis? public var delta:SalesDeltas? public var trend:[SalesTrendBucket] = [] public var previousTrend:[SalesTrendBucket] = [] public var topEvents:[SalesTopEvent] = [] public var recentOrders:[SalesRecentOrder] = [] public var byHourOfDay:[SalesHourBucket] = [] public var byDayOfWeek:[SalesDowBucket] = [] public var topProducts:[SalesProduct] = [] public var hasAnyDataEver:Bool? public var owners:[Int] = [] public var bucket:String? public var freshnessUtc:Date? public var statusCode:Int? public var message:String? required public init(){} } public class SalesKpis : Codable { public var grossNet:Double? public var refunded:Double? public var ticketsAllReal:Int? public var ticketsPaid:Int? public var orders:Int? public var aov:Double? required public init(){} } public class SalesDeltas : Codable { public var grossNet:KpiDelta? public var refunded:KpiDelta? public var ticketsAllReal:KpiDelta? public var ticketsPaid:KpiDelta? public var orders:KpiDelta? public var aov:KpiDelta? required public init(){} } public class SalesTrendBucket : Codable { public var bucket:Date? public var revenue:Double? public var tickets:Int? required public init(){} } public class SalesTopEvent : Codable { public var eventId:Int? public var eventName:String? public var eventDate:Date? public var grossNet:Double? public var paidTickets:Int? public var realTickets:Int? public var orders:Int? required public init(){} } public class SalesRecentOrder : Codable { public var ticketId:Int? public var createdAt:Date? public var eventName:String? public var amount:Double? public var ticketCount:Int? public var buyerName:String? required public init(){} } public class SalesHourBucket : Codable { public var hour:Int? public var revenue:Double? public var orders:Int? public var tickets:Int? required public init(){} } public class SalesDowBucket : Codable { public var dow:Int? public var revenue:Double? public var orders:Int? public var tickets:Int? required public init(){} } public class SalesProduct : Codable { public var ticketName:String? public var tickets:Int? public var revenue:Double? public var orders:Int? required public init(){} } public class KpiDelta : Codable { public var abs:Double? public var pct:Double? public var dir:String? required public init(){} }