/* Options: Date: 2026-10-16 00:21:54 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: KpiV2BranchRequest.* //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/branch", Verbs="POST,OPTIONS") open class KpiV2BranchRequest : IReturn { open var BranchId:UUID? = null open var FromDate:Date? = null open var ToDate:Date? = null open var Compare:String? = null companion object { private val responseType = KpiV2BranchResponse::class.java } override fun getResponseType(): Any? = KpiV2BranchRequest.responseType } open class KpiV2BranchResponse { open var ResponseStatus:ResponseStatus? = null open var Branch:SvcBranchDetail? = null } open class SvcBranchDetail { open var Branch:SvcBranchRow? = null open var Windows:ArrayList = ArrayList() open var Clerks:ArrayList = ArrayList() open var Unassigned:SvcMetrics? = null open var NoClerk:SvcMetrics? = null open var PerWindowAverage:SvcAverage? = null open var PerClerkAverage:SvcAverage? = null open var OpenDays:Int? = null open var IsLive:Boolean? = null open var Comparison:SvcComparison? = null open var Coverage:SvcCoverage? = null open var Services:ArrayList = ArrayList() open var ByHour:ArrayList = ArrayList() open var Alerts:ArrayList = ArrayList() open var TotalsAgree:Boolean? = null open var CanSeeStaff:Boolean? = null open var CanSeeFinancial:Boolean? = null open var CanSeePay:Boolean? = 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 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 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 SvcWindowRow { open var StationId:UUID? = null open var Name:String? = null open var Clerks:ArrayList = ArrayList() open var NeverStaffed:Boolean? = null open var LastStaffedUtc:Date? = null open var LastStaffedBy:String? = null open var Metrics:SvcMetrics? = null } open class SvcClerkRow { open var EmployeeId:UUID? = null open var Name:String? = null open var Windows:ArrayList = ArrayList() open var LoadedRate:BigDecimal? = null open var RateSet:Boolean? = null open var RateLocked:Boolean? = null open var Metrics:SvcMetrics? = null } open class SvcAverage { open var Count:Int? = null open var Served:Double? = null open var AvgServiceSec:Double? = null open var MedianServiceSec:Double? = null open var AvgWaitSec:Double? = null open var Utilization:Double? = null open var IdleSec:Double? = null open var PausedSec:Double? = null open var NoShows:Double? = null open var SignedSec:Double? = null open var FeesEarned:BigDecimal? = null open var FeesPerStaffedHour:BigDecimal? = null open var LaborCost:BigDecimal? = null open var Contribution:BigDecimal? = null open var LostNoShowFees:BigDecimal? = null } open class SvcCoverage { open var StartLocalMinute:Int? = null open var BucketMinutes:Int? = null open var Rows:ArrayList = ArrayList() open var InLine:ArrayList = ArrayList() open var GapBands:ArrayList> = ArrayList>() open var Days:Int? = null open var NotRecorded:Boolean? = null open var FutureFromIndex:Int? = null } 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 } open class SvcCoverageRow { open var StationId:UUID? = null open var Name:String? = null open var Buckets:ArrayList = ArrayList() } open class SvcCoverageBucket { open var ServingPct:Double? = null open var IdlePct:Double? = null open var PausedPct:Double? = null open var UnstaffedPct:Double? = null }