/* Options: Date: 2026-08-17 09:14:24 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: RefreshmentsOverviewRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/sales/refreshments/overview", "POST") public class RefreshmentsOverviewRequest : IReturn, Codable { public typealias Return = RefreshmentsOverviewResult public var ownerId:Int? public var seriesId: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 RefreshmentsOverviewResult : Codable { public var current:RefreshmentsKpis? public var previous:RefreshmentsKpis? public var delta:RefreshmentsDeltas? public var trend:[SalesTrendBucket] = [] public var previousTrend:[SalesTrendBucket] = [] public var products:[RefreshmentsProduct] = [] public var events:[RefreshmentsEventRow] = [] public var byHourOfDay:[SalesHourBucket] = [] public var byDayOfWeek:[SalesDowBucket] = [] public var byPaymentMethod:[RefreshmentsPaymentMethodRow] = [] public var recentOrders:[RefreshmentsRecentOrder] = [] public var hasAnyDataEver:Bool? public var bucket:String? public var freshnessUtc:Date? public var statusCode:Int? public var message:String? required public init(){} } public class SalesTrendBucket : Codable { public var bucket:Date? public var revenue:Double? public var tickets:Int? 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 RefreshmentsKpis : Codable { public var revenue:Double? public var refunded:Double? public var units:Int? public var orders:Int? public var aov:Double? public var unitsPerOrder:Double? public var attendance:Int? public var perCap:Double? required public init(){} } public class RefreshmentsDeltas : Codable { public var revenue:KpiDelta? public var refunded:KpiDelta? public var units:KpiDelta? public var orders:KpiDelta? public var aov:KpiDelta? public var perCap:KpiDelta? required public init(){} } public class RefreshmentsProduct : Codable { public var ticketTypeId:Int? public var name:String? public var units:Int? public var revenue:Double? public var orders:Int? public var lastSoldAt:Date? required public init(){} } public class RefreshmentsEventRow : Codable { public var eventId:Int? public var eventName:String? public var eventDate:Date? public var revenue:Double? public var units:Int? public var orders:Int? public var attendance:Int? public var perCap:Double? required public init(){} } public class RefreshmentsPaymentMethodRow : Codable { public var paymentMethodId:String? public var revenue:Double? public var units:Int? public var orders:Int? required public init(){} } public class RefreshmentsRecentOrder : Codable { public var ticketId:Int? public var createdAt:Date? public var eventName:String? public var amount:Double? public var units:Int? public var paymentMethodId:String? required public init(){} } public class KpiDelta : Codable { public var abs:Double? public var pct:Double? public var dir:String? required public init(){} }