/* Options: Date: 2026-07-03 06:38:04 Version: 6.10 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stubbur-app.azurewebsites.net //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SalesOverviewRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* @Route(Path="/sales/overview", Verbs="POST") open class SalesOverviewRequest : IReturn { var eventOwnerId:Int? = null var additionalOwnerIds:ArrayList? = null var eventId:Int? = null var fromUtc:Date? = null var toUtc:Date? = null var compareFromUtc:Date? = null var compareToUtc:Date? = null var bucket:String? = null var topEventsLimit:Int? = null var recentOrdersLimit:Int? = null companion object { private val responseType = SalesOverviewResult::class.java } override fun getResponseType(): Any? = SalesOverviewRequest.responseType } open class SalesOverviewResult { var current:SalesKpis? = null var previous:SalesKpis? = null var delta:SalesDeltas? = null var trend:ArrayList = ArrayList() var previousTrend:ArrayList = ArrayList() var topEvents:ArrayList = ArrayList() var recentOrders:ArrayList = ArrayList() var byHourOfDay:ArrayList = ArrayList() var byDayOfWeek:ArrayList = ArrayList() var topProducts:ArrayList = ArrayList() var hasAnyDataEver:Boolean? = null var owners:ArrayList = ArrayList() var bucket:String? = null var freshnessUtc:Date? = null var statusCode:Int? = null var message:String? = null } open class SalesKpis { var grossNet:BigDecimal? = null var refunded:BigDecimal? = null var ticketsAllReal:Int? = null var ticketsPaid:Int? = null var orders:Int? = null var aov:BigDecimal? = null } open class SalesDeltas { var grossNet:KpiDelta? = null var refunded:KpiDelta? = null var ticketsAllReal:KpiDelta? = null var ticketsPaid:KpiDelta? = null var orders:KpiDelta? = null var aov:KpiDelta? = null } open class SalesTrendBucket { var bucket:Date? = null var revenue:BigDecimal? = null var tickets:Int? = null } open class SalesTopEvent { var eventId:Int? = null var eventName:String? = null var eventDate:Date? = null var grossNet:BigDecimal? = null var paidTickets:Int? = null var realTickets:Int? = null var orders:Int? = null } open class SalesRecentOrder { var ticketId:Int? = null var createdAt:Date? = null var eventName:String? = null var amount:BigDecimal? = null var ticketCount:Int? = null var buyerName:String? = null } open class SalesHourBucket { var hour:Int? = null var revenue:BigDecimal? = null var orders:Int? = null var tickets:Int? = null } open class SalesDowBucket { var dow:Int? = null var revenue:BigDecimal? = null var orders:Int? = null var tickets:Int? = null } open class SalesProduct { var ticketName:String? = null var tickets:Int? = null var revenue:BigDecimal? = null var orders:Int? = null } open class KpiDelta { var abs:BigDecimal? = null var pct:Double? = null var dir:String? = null }