/* Options: Date: 2026-11-01 21:54:26 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: KpiV2Request.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/v1/dashboard/kpiv2", Verbs="POST,OPTIONS") open class KpiV2Request : IReturn { open var FromDate:Date? = null open var ToDate:Date? = null open var LocationIds:ArrayList = ArrayList() open var IncludeScope:Boolean? = null open var StateCode:String? = null open var Compare:String? = null companion object { private val responseType = KpiV2Response::class.java } override fun getResponseType(): Any? = KpiV2Request.responseType } open class KpiV2Response { open var ResponseStatus:ResponseStatus? = null open var Stats:ArrayList = ArrayList() open var Trend:ArrayList = ArrayList() open var ServicesByType:DashboardSeries? = null open var LocationLeaderboard:ArrayList = ArrayList() open var WorkerProductivity:ArrayList = ArrayList() open var Heatmap:ArrayList = ArrayList() open var LiveQueue:ArrayList = ArrayList() open var Scope:SvcScope? = null } open class DashboardStatTile { open var Key:String? = null open var Label:String? = null open var Value:Double? = null open var PreviousValue:Double? = null open var Unit:String? = null open var DeltaPct:Double? = null } open class DashboardSeries { open var Name:String? = null open var Points:ArrayList = ArrayList() } open class KpiV2LocationRow { open var LocationName:String? = null open var Walkins:Int? = null open var Completed:Int? = null open var AvgServiceMinutes:Double? = null open var AbandonmentPct:Double? = null } open class KpiV2WorkerRow { open var WorkerName:String? = null open var Completed:Int? = null open var AvgServiceMinutes:Double? = null } open class KpiV2HeatPoint { open var Dow:Int? = null open var Hr:Int? = null open var Cnt:Int? = null } open class KpiV2LiveRow { open var LocationName:String? = null open var Waiting:Int? = null open var InProgress:Int? = null } open class SvcScope { open var StateCode:String? = null open var Branches:ArrayList = ArrayList() open var States:ArrayList = ArrayList() open var Total:SvcMetrics? = null open var Comparison:SvcComparison? = null open var FeesByService:ArrayList = ArrayList() open var ByHour:ArrayList = ArrayList() open var Workers:ArrayList = ArrayList() open var MultiZone:Boolean? = null open var MultiState:Boolean? = null open var RecordingSinceUtc:Date? = null open var SessionsSinceUtc:Date? = null open var Alerts:ArrayList = ArrayList() open var CanSeeStaff:Boolean? = null open var CanSeeFinancial:Boolean? = null open var CanSeePay:Boolean? = null } open class DashboardSeriesPoint { open var Label:String? = null open var Value:Double? = null } open class SvcBranchRow { open var BranchId:UUID? = null open var Name:String? = null open var StateCode:String? = null open var ZoneCode:String? = null open var TimeZone:String? = null open var Windows:Int? = null open var RecordingSinceUtc:Date? = null open var SessionsSinceUtc:Date? = null open var Metrics:SvcMetrics? = null } open class SvcStateRow { open var StateCode:String? = null open var StateName:String? = null open var Branches:Int? = null open var Metrics:SvcMetrics? = null } open class SvcMetrics { open var Checkins:Int? = null open var Walkins:Int? = null open var Appts:Int? = null open var Served:Int? = null open var NoShows:Int? = null open var ApptNoShows:Int? = null open var CancelledAtWindow:Int? = null open var Abandoned:Int? = null open var Called:Int? = null open var CalledUp:Int? = null open var AbandonRate:Double? = null open var NoShowRate:Double? = null open var AvgServiceSec:Double? = null open var MedianServiceSec:Double? = null open var AvgWaitSec:Double? = null open var MaxWaitSec:Int? = null open var AvgWalkUpSec:Double? = null open var ExpectedServiceSec:Double? = null open var SignedSec:Long? = null open var ServingSec:Long? = null open var PausedSec:Long? = null open var IdleSec:Long? = null open var UnstaffedSec:Long? = null open var Utilization:Double? = null open var IdleShare:Double? = null open var PausedShare:Double? = null open var Sessions:Int? = null open var OpenDays:Int? = null open var FeesEarned:BigDecimal? = null open var AvgFee:BigDecimal? = null open var FeesPerStaffedHour:BigDecimal? = null open var ExpectedFeesPerStaffedHour:BigDecimal? = null open var LaborCost:BigDecimal? = null open var LaborPartial:Boolean? = null open var MissingCostEmployeeIds:ArrayList = ArrayList() open var MissingCost:ArrayList = ArrayList() open var LaborLocked:Boolean? = null open var Contribution:BigDecimal? = null open var LostFees:BigDecimal? = null open var LostNoShowFees:BigDecimal? = null open var Mix:HashMap = HashMap() open var HourlyServed:ArrayList = ArrayList() open var HourlyFees:ArrayList = ArrayList() open var HourlyCost:ArrayList = ArrayList() open var Tints:ArrayList = ArrayList() } open class SvcComparison { open var Mode:String? = null open var FromDate:Date? = null open var ToDate:Date? = null open var CutoffMinute:Int? = null open var HasData:Boolean? = null open var Metrics:SvcMetrics? = null } open class SvcServiceRow { open var LineId:UUID? = null open var Name:String? = null open var Completed:Int? = null open var AvgServiceSec:Double? = null open var BranchAvgServiceSec:Double? = null open var FeesEarned:BigDecimal? = null open var FeeCurrent:BigDecimal? = null open var FeeMin:BigDecimal? = null open var FeeMax:BigDecimal? = null open var FeePerMinute:BigDecimal? = null open var BranchFeePerMinute:BigDecimal? = null open var FeeChanges:ArrayList = ArrayList() } open class SvcHourRow { open var LocalHour:Int? = null open var Served:Int? = null open var FeesEarned:BigDecimal? = null open var CostToStaff:BigDecimal? = null } open class SvcWorkerRow { open var EmployeeId:UUID? = null open var BranchId:UUID? = null open var BranchName:String? = null open var Name:String? = null open var Served:Int? = null open var AvgServiceSec:Double? = null open var Utilization:Double? = null } open class SvcAlert { open var Level:String? = null open var View:String? = null open var Code:String? = null open var StationId:UUID? = null open var EmployeeId:UUID? = null open var BranchId:UUID? = null open var LineId:UUID? = null open var Name:String? = null open var OtherLineId:UUID? = null open var OtherName:String? = null open var StationIds:ArrayList = ArrayList() open var Values:HashMap = HashMap() } open class SvcNamedTime { open var Id:UUID? = null open var Name:String? = null open var SignedSec:Long? = null open var Served:Int? = null } open class SvcTint { open var Field:String? = null open var Tone:String? = null open var Reason:String? = null open var Value:Double? = null open var Reference:Double? = null open var BranchValue:Double? = null } open class SvcFeeChange { open var LocationId:UUID? = null open var OnDate:Date? = null open var FromFee:BigDecimal? = null open var ToFee:BigDecimal? = null }