/* Options: Date: 2026-06-13 04:13:33 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: KpiV2Request.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/dashboard/kpiv2", "POST,OPTIONS") public class KpiV2Request : IReturn, Codable { public typealias Return = KpiV2Response public var fromDate:Date? public var toDate:Date? public var locationIds:[String] = [] required public init(){} } public class KpiV2Response : Codable { public var responseStatus:ResponseStatus? public var stats:[DashboardStatTile] = [] public var trend:[DashboardSeries] = [] public var servicesByType:DashboardSeries? public var locationLeaderboard:[KpiV2LocationRow] = [] public var workerProductivity:[KpiV2WorkerRow] = [] public var heatmap:[KpiV2HeatPoint] = [] public var liveQueue:[KpiV2LiveRow] = [] required public init(){} } public class DashboardStatTile : Codable { public var key:String? public var label:String? public var value:Double? public var previousValue:Double? public var unit:String? public var deltaPct:Double? required public init(){} } public class DashboardSeries : Codable { public var name:String? public var points:[DashboardSeriesPoint] = [] required public init(){} } public class KpiV2LocationRow : Codable { public var locationName:String? public var walkins:Int? public var completed:Int? public var avgServiceMinutes:Double? public var abandonmentPct:Double? required public init(){} } public class KpiV2WorkerRow : Codable { public var workerName:String? public var completed:Int? public var avgServiceMinutes:Double? required public init(){} } public class KpiV2HeatPoint : Codable { public var dow:Int? public var hr:Int? public var cnt:Int? required public init(){} } public class KpiV2LiveRow : Codable { public var locationName:String? public var waiting:Int? public var inProgress:Int? required public init(){} } public class DashboardSeriesPoint : Codable { public var label:String? public var value:Double? required public init(){} }