Trendsic Platform Service

<back to all web services

KpiV2Request

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dashboard/kpiv2
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class KpiV2Request
    {
        public Date FromDate = null;
        public Date ToDate = null;
        public ArrayList<UUID> LocationIds = new ArrayList<UUID>();
        public Boolean IncludeScope = null;
        public String StateCode = null;
        public String Compare = null;
        
        public Date getFromDate() { return FromDate; }
        public KpiV2Request setFromDate(Date value) { this.FromDate = value; return this; }
        public Date getToDate() { return ToDate; }
        public KpiV2Request setToDate(Date value) { this.ToDate = value; return this; }
        public ArrayList<UUID> getLocationIds() { return LocationIds; }
        public KpiV2Request setLocationIds(ArrayList<UUID> value) { this.LocationIds = value; return this; }
        public Boolean isIncludeScope() { return IncludeScope; }
        public KpiV2Request setIncludeScope(Boolean value) { this.IncludeScope = value; return this; }
        public String getStateCode() { return StateCode; }
        public KpiV2Request setStateCode(String value) { this.StateCode = value; return this; }
        public String getCompare() { return Compare; }
        public KpiV2Request setCompare(String value) { this.Compare = value; return this; }
    }

    public static class KpiV2Response
    {
        public ResponseStatus ResponseStatus = null;
        public ArrayList<DashboardStatTile> Stats = new ArrayList<DashboardStatTile>();
        public ArrayList<DashboardSeries> Trend = new ArrayList<DashboardSeries>();
        public DashboardSeries ServicesByType = null;
        public ArrayList<KpiV2LocationRow> LocationLeaderboard = new ArrayList<KpiV2LocationRow>();
        public ArrayList<KpiV2WorkerRow> WorkerProductivity = new ArrayList<KpiV2WorkerRow>();
        public ArrayList<KpiV2HeatPoint> Heatmap = new ArrayList<KpiV2HeatPoint>();
        public ArrayList<KpiV2LiveRow> LiveQueue = new ArrayList<KpiV2LiveRow>();
        public SvcScope Scope = null;
        
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public KpiV2Response setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
        public ArrayList<DashboardStatTile> getStats() { return Stats; }
        public KpiV2Response setStats(ArrayList<DashboardStatTile> value) { this.Stats = value; return this; }
        public ArrayList<DashboardSeries> getTrend() { return Trend; }
        public KpiV2Response setTrend(ArrayList<DashboardSeries> value) { this.Trend = value; return this; }
        public DashboardSeries getServicesByType() { return ServicesByType; }
        public KpiV2Response setServicesByType(DashboardSeries value) { this.ServicesByType = value; return this; }
        public ArrayList<KpiV2LocationRow> getLocationLeaderboard() { return LocationLeaderboard; }
        public KpiV2Response setLocationLeaderboard(ArrayList<KpiV2LocationRow> value) { this.LocationLeaderboard = value; return this; }
        public ArrayList<KpiV2WorkerRow> getWorkerProductivity() { return WorkerProductivity; }
        public KpiV2Response setWorkerProductivity(ArrayList<KpiV2WorkerRow> value) { this.WorkerProductivity = value; return this; }
        public ArrayList<KpiV2HeatPoint> getHeatmap() { return Heatmap; }
        public KpiV2Response setHeatmap(ArrayList<KpiV2HeatPoint> value) { this.Heatmap = value; return this; }
        public ArrayList<KpiV2LiveRow> getLiveQueue() { return LiveQueue; }
        public KpiV2Response setLiveQueue(ArrayList<KpiV2LiveRow> value) { this.LiveQueue = value; return this; }
        public SvcScope getScope() { return Scope; }
        public KpiV2Response setScope(SvcScope value) { this.Scope = value; return this; }
    }

    public static class DashboardStatTile
    {
        public String Key = null;
        public String Label = null;
        public Double Value = null;
        public Double PreviousValue = null;
        public String Unit = null;
        public Double DeltaPct = null;
        
        public String getKey() { return Key; }
        public DashboardStatTile setKey(String value) { this.Key = value; return this; }
        public String getLabel() { return Label; }
        public DashboardStatTile setLabel(String value) { this.Label = value; return this; }
        public Double getValue() { return Value; }
        public DashboardStatTile setValue(Double value) { this.Value = value; return this; }
        public Double getPreviousValue() { return PreviousValue; }
        public DashboardStatTile setPreviousValue(Double value) { this.PreviousValue = value; return this; }
        public String getUnit() { return Unit; }
        public DashboardStatTile setUnit(String value) { this.Unit = value; return this; }
        public Double getDeltaPct() { return DeltaPct; }
        public DashboardStatTile setDeltaPct(Double value) { this.DeltaPct = value; return this; }
    }

    public static class DashboardSeries
    {
        public String Name = null;
        public ArrayList<DashboardSeriesPoint> Points = new ArrayList<DashboardSeriesPoint>();
        
        public String getName() { return Name; }
        public DashboardSeries setName(String value) { this.Name = value; return this; }
        public ArrayList<DashboardSeriesPoint> getPoints() { return Points; }
        public DashboardSeries setPoints(ArrayList<DashboardSeriesPoint> value) { this.Points = value; return this; }
    }

    public static class DashboardSeriesPoint
    {
        public String Label = null;
        public Double Value = null;
        
        public String getLabel() { return Label; }
        public DashboardSeriesPoint setLabel(String value) { this.Label = value; return this; }
        public Double getValue() { return Value; }
        public DashboardSeriesPoint setValue(Double value) { this.Value = value; return this; }
    }

    public static class KpiV2LocationRow
    {
        public String LocationName = null;
        public Integer Walkins = null;
        public Integer Completed = null;
        public Double AvgServiceMinutes = null;
        public Double AbandonmentPct = null;
        
        public String getLocationName() { return LocationName; }
        public KpiV2LocationRow setLocationName(String value) { this.LocationName = value; return this; }
        public Integer getWalkins() { return Walkins; }
        public KpiV2LocationRow setWalkins(Integer value) { this.Walkins = value; return this; }
        public Integer getCompleted() { return Completed; }
        public KpiV2LocationRow setCompleted(Integer value) { this.Completed = value; return this; }
        public Double getAvgServiceMinutes() { return AvgServiceMinutes; }
        public KpiV2LocationRow setAvgServiceMinutes(Double value) { this.AvgServiceMinutes = value; return this; }
        public Double getAbandonmentPct() { return AbandonmentPct; }
        public KpiV2LocationRow setAbandonmentPct(Double value) { this.AbandonmentPct = value; return this; }
    }

    public static class KpiV2WorkerRow
    {
        public String WorkerName = null;
        public Integer Completed = null;
        public Double AvgServiceMinutes = null;
        
        public String getWorkerName() { return WorkerName; }
        public KpiV2WorkerRow setWorkerName(String value) { this.WorkerName = value; return this; }
        public Integer getCompleted() { return Completed; }
        public KpiV2WorkerRow setCompleted(Integer value) { this.Completed = value; return this; }
        public Double getAvgServiceMinutes() { return AvgServiceMinutes; }
        public KpiV2WorkerRow setAvgServiceMinutes(Double value) { this.AvgServiceMinutes = value; return this; }
    }

    public static class KpiV2HeatPoint
    {
        public Integer Dow = null;
        public Integer Hr = null;
        public Integer Cnt = null;
        
        public Integer getDow() { return Dow; }
        public KpiV2HeatPoint setDow(Integer value) { this.Dow = value; return this; }
        public Integer getHr() { return Hr; }
        public KpiV2HeatPoint setHr(Integer value) { this.Hr = value; return this; }
        public Integer getCnt() { return Cnt; }
        public KpiV2HeatPoint setCnt(Integer value) { this.Cnt = value; return this; }
    }

    public static class KpiV2LiveRow
    {
        public String LocationName = null;
        public Integer Waiting = null;
        public Integer InProgress = null;
        
        public String getLocationName() { return LocationName; }
        public KpiV2LiveRow setLocationName(String value) { this.LocationName = value; return this; }
        public Integer getWaiting() { return Waiting; }
        public KpiV2LiveRow setWaiting(Integer value) { this.Waiting = value; return this; }
        public Integer getInProgress() { return InProgress; }
        public KpiV2LiveRow setInProgress(Integer value) { this.InProgress = value; return this; }
    }

    public static class SvcScope
    {
        public String StateCode = null;
        public ArrayList<SvcBranchRow> Branches = new ArrayList<SvcBranchRow>();
        public ArrayList<SvcStateRow> States = new ArrayList<SvcStateRow>();
        public SvcMetrics Total = null;
        public SvcComparison Comparison = null;
        public ArrayList<SvcServiceRow> FeesByService = new ArrayList<SvcServiceRow>();
        public ArrayList<SvcHourRow> ByHour = new ArrayList<SvcHourRow>();
        public ArrayList<SvcWorkerRow> Workers = new ArrayList<SvcWorkerRow>();
        public Boolean MultiZone = null;
        public Boolean MultiState = null;
        public Date RecordingSinceUtc = null;
        public Date SessionsSinceUtc = null;
        public ArrayList<SvcAlert> Alerts = new ArrayList<SvcAlert>();
        public Boolean CanSeeStaff = null;
        public Boolean CanSeeFinancial = null;
        public Boolean CanSeePay = null;
        
        public String getStateCode() { return StateCode; }
        public SvcScope setStateCode(String value) { this.StateCode = value; return this; }
        public ArrayList<SvcBranchRow> getBranches() { return Branches; }
        public SvcScope setBranches(ArrayList<SvcBranchRow> value) { this.Branches = value; return this; }
        public ArrayList<SvcStateRow> getStates() { return States; }
        public SvcScope setStates(ArrayList<SvcStateRow> value) { this.States = value; return this; }
        public SvcMetrics getTotal() { return Total; }
        public SvcScope setTotal(SvcMetrics value) { this.Total = value; return this; }
        public SvcComparison getComparison() { return Comparison; }
        public SvcScope setComparison(SvcComparison value) { this.Comparison = value; return this; }
        public ArrayList<SvcServiceRow> getFeesByService() { return FeesByService; }
        public SvcScope setFeesByService(ArrayList<SvcServiceRow> value) { this.FeesByService = value; return this; }
        public ArrayList<SvcHourRow> getByHour() { return ByHour; }
        public SvcScope setByHour(ArrayList<SvcHourRow> value) { this.ByHour = value; return this; }
        public ArrayList<SvcWorkerRow> getWorkers() { return Workers; }
        public SvcScope setWorkers(ArrayList<SvcWorkerRow> value) { this.Workers = value; return this; }
        public Boolean isMultiZone() { return MultiZone; }
        public SvcScope setMultiZone(Boolean value) { this.MultiZone = value; return this; }
        public Boolean isMultiState() { return MultiState; }
        public SvcScope setMultiState(Boolean value) { this.MultiState = value; return this; }
        public Date getRecordingSinceUtc() { return RecordingSinceUtc; }
        public SvcScope setRecordingSinceUtc(Date value) { this.RecordingSinceUtc = value; return this; }
        public Date getSessionsSinceUtc() { return SessionsSinceUtc; }
        public SvcScope setSessionsSinceUtc(Date value) { this.SessionsSinceUtc = value; return this; }
        public ArrayList<SvcAlert> getAlerts() { return Alerts; }
        public SvcScope setAlerts(ArrayList<SvcAlert> value) { this.Alerts = value; return this; }
        public Boolean isCanSeeStaff() { return CanSeeStaff; }
        public SvcScope setCanSeeStaff(Boolean value) { this.CanSeeStaff = value; return this; }
        public Boolean isCanSeeFinancial() { return CanSeeFinancial; }
        public SvcScope setCanSeeFinancial(Boolean value) { this.CanSeeFinancial = value; return this; }
        public Boolean isCanSeePay() { return CanSeePay; }
        public SvcScope setCanSeePay(Boolean value) { this.CanSeePay = value; return this; }
    }

    public static class SvcBranchRow
    {
        public UUID BranchId = null;
        public String Name = null;
        public String StateCode = null;
        public String ZoneCode = null;
        public String TimeZone = null;
        public Integer Windows = null;
        public Date RecordingSinceUtc = null;
        public Date SessionsSinceUtc = null;
        public SvcMetrics Metrics = null;
        
        public UUID getBranchId() { return BranchId; }
        public SvcBranchRow setBranchId(UUID value) { this.BranchId = value; return this; }
        public String getName() { return Name; }
        public SvcBranchRow setName(String value) { this.Name = value; return this; }
        public String getStateCode() { return StateCode; }
        public SvcBranchRow setStateCode(String value) { this.StateCode = value; return this; }
        public String getZoneCode() { return ZoneCode; }
        public SvcBranchRow setZoneCode(String value) { this.ZoneCode = value; return this; }
        public String getTimeZone() { return TimeZone; }
        public SvcBranchRow setTimeZone(String value) { this.TimeZone = value; return this; }
        public Integer getWindows() { return Windows; }
        public SvcBranchRow setWindows(Integer value) { this.Windows = value; return this; }
        public Date getRecordingSinceUtc() { return RecordingSinceUtc; }
        public SvcBranchRow setRecordingSinceUtc(Date value) { this.RecordingSinceUtc = value; return this; }
        public Date getSessionsSinceUtc() { return SessionsSinceUtc; }
        public SvcBranchRow setSessionsSinceUtc(Date value) { this.SessionsSinceUtc = value; return this; }
        public SvcMetrics getMetrics() { return Metrics; }
        public SvcBranchRow setMetrics(SvcMetrics value) { this.Metrics = value; return this; }
    }

    public static class SvcMetrics
    {
        public Integer Checkins = null;
        public Integer Walkins = null;
        public Integer Appts = null;
        public Integer Served = null;
        public Integer NoShows = null;
        public Integer ApptNoShows = null;
        public Integer CancelledAtWindow = null;
        public Integer Abandoned = null;
        public Integer Called = null;
        public Integer CalledUp = null;
        public Double AbandonRate = null;
        public Double NoShowRate = null;
        public Double AvgServiceSec = null;
        public Double MedianServiceSec = null;
        public Double AvgWaitSec = null;
        public Integer MaxWaitSec = null;
        public Double AvgWalkUpSec = null;
        public Double ExpectedServiceSec = null;
        public Long SignedSec = null;
        public Long ServingSec = null;
        public Long PausedSec = null;
        public Long IdleSec = null;
        public Long UnstaffedSec = null;
        public Double Utilization = null;
        public Double IdleShare = null;
        public Double PausedShare = null;
        public Integer Sessions = null;
        public Integer OpenDays = null;
        public BigDecimal FeesEarned = null;
        public BigDecimal AvgFee = null;
        public BigDecimal FeesPerStaffedHour = null;
        public BigDecimal ExpectedFeesPerStaffedHour = null;
        public BigDecimal LaborCost = null;
        public Boolean LaborPartial = null;
        public ArrayList<UUID> MissingCostEmployeeIds = new ArrayList<UUID>();
        public ArrayList<SvcNamedTime> MissingCost = new ArrayList<SvcNamedTime>();
        public Boolean LaborLocked = null;
        public BigDecimal Contribution = null;
        public BigDecimal LostFees = null;
        public BigDecimal LostNoShowFees = null;
        public HashMap<UUID,Integer> Mix = new HashMap<UUID,Integer>();
        public ArrayList<Integer> HourlyServed = new ArrayList<Integer>();
        public ArrayList<BigDecimal> HourlyFees = new ArrayList<BigDecimal>();
        public ArrayList<BigDecimal> HourlyCost = new ArrayList<BigDecimal>();
        public ArrayList<SvcTint> Tints = new ArrayList<SvcTint>();
        
        public Integer getCheckins() { return Checkins; }
        public SvcMetrics setCheckins(Integer value) { this.Checkins = value; return this; }
        public Integer getWalkins() { return Walkins; }
        public SvcMetrics setWalkins(Integer value) { this.Walkins = value; return this; }
        public Integer getAppts() { return Appts; }
        public SvcMetrics setAppts(Integer value) { this.Appts = value; return this; }
        public Integer getServed() { return Served; }
        public SvcMetrics setServed(Integer value) { this.Served = value; return this; }
        public Integer getNoShows() { return NoShows; }
        public SvcMetrics setNoShows(Integer value) { this.NoShows = value; return this; }
        public Integer getApptNoShows() { return ApptNoShows; }
        public SvcMetrics setApptNoShows(Integer value) { this.ApptNoShows = value; return this; }
        public Integer getCancelledAtWindow() { return CancelledAtWindow; }
        public SvcMetrics setCancelledAtWindow(Integer value) { this.CancelledAtWindow = value; return this; }
        public Integer getAbandoned() { return Abandoned; }
        public SvcMetrics setAbandoned(Integer value) { this.Abandoned = value; return this; }
        public Integer getCalled() { return Called; }
        public SvcMetrics setCalled(Integer value) { this.Called = value; return this; }
        public Integer getCalledUp() { return CalledUp; }
        public SvcMetrics setCalledUp(Integer value) { this.CalledUp = value; return this; }
        public Double getAbandonRate() { return AbandonRate; }
        public SvcMetrics setAbandonRate(Double value) { this.AbandonRate = value; return this; }
        public Double getNoShowRate() { return NoShowRate; }
        public SvcMetrics setNoShowRate(Double value) { this.NoShowRate = value; return this; }
        public Double getAvgServiceSec() { return AvgServiceSec; }
        public SvcMetrics setAvgServiceSec(Double value) { this.AvgServiceSec = value; return this; }
        public Double getMedianServiceSec() { return MedianServiceSec; }
        public SvcMetrics setMedianServiceSec(Double value) { this.MedianServiceSec = value; return this; }
        public Double getAvgWaitSec() { return AvgWaitSec; }
        public SvcMetrics setAvgWaitSec(Double value) { this.AvgWaitSec = value; return this; }
        public Integer getMaxWaitSec() { return MaxWaitSec; }
        public SvcMetrics setMaxWaitSec(Integer value) { this.MaxWaitSec = value; return this; }
        public Double getAvgWalkUpSec() { return AvgWalkUpSec; }
        public SvcMetrics setAvgWalkUpSec(Double value) { this.AvgWalkUpSec = value; return this; }
        public Double getExpectedServiceSec() { return ExpectedServiceSec; }
        public SvcMetrics setExpectedServiceSec(Double value) { this.ExpectedServiceSec = value; return this; }
        public Long getSignedSec() { return SignedSec; }
        public SvcMetrics setSignedSec(Long value) { this.SignedSec = value; return this; }
        public Long getServingSec() { return ServingSec; }
        public SvcMetrics setServingSec(Long value) { this.ServingSec = value; return this; }
        public Long getPausedSec() { return PausedSec; }
        public SvcMetrics setPausedSec(Long value) { this.PausedSec = value; return this; }
        public Long getIdleSec() { return IdleSec; }
        public SvcMetrics setIdleSec(Long value) { this.IdleSec = value; return this; }
        public Long getUnstaffedSec() { return UnstaffedSec; }
        public SvcMetrics setUnstaffedSec(Long value) { this.UnstaffedSec = value; return this; }
        public Double getUtilization() { return Utilization; }
        public SvcMetrics setUtilization(Double value) { this.Utilization = value; return this; }
        public Double getIdleShare() { return IdleShare; }
        public SvcMetrics setIdleShare(Double value) { this.IdleShare = value; return this; }
        public Double getPausedShare() { return PausedShare; }
        public SvcMetrics setPausedShare(Double value) { this.PausedShare = value; return this; }
        public Integer getSessions() { return Sessions; }
        public SvcMetrics setSessions(Integer value) { this.Sessions = value; return this; }
        public Integer getOpenDays() { return OpenDays; }
        public SvcMetrics setOpenDays(Integer value) { this.OpenDays = value; return this; }
        public BigDecimal getFeesEarned() { return FeesEarned; }
        public SvcMetrics setFeesEarned(BigDecimal value) { this.FeesEarned = value; return this; }
        public BigDecimal getAvgFee() { return AvgFee; }
        public SvcMetrics setAvgFee(BigDecimal value) { this.AvgFee = value; return this; }
        public BigDecimal getFeesPerStaffedHour() { return FeesPerStaffedHour; }
        public SvcMetrics setFeesPerStaffedHour(BigDecimal value) { this.FeesPerStaffedHour = value; return this; }
        public BigDecimal getExpectedFeesPerStaffedHour() { return ExpectedFeesPerStaffedHour; }
        public SvcMetrics setExpectedFeesPerStaffedHour(BigDecimal value) { this.ExpectedFeesPerStaffedHour = value; return this; }
        public BigDecimal getLaborCost() { return LaborCost; }
        public SvcMetrics setLaborCost(BigDecimal value) { this.LaborCost = value; return this; }
        public Boolean isLaborPartial() { return LaborPartial; }
        public SvcMetrics setLaborPartial(Boolean value) { this.LaborPartial = value; return this; }
        public ArrayList<UUID> getMissingCostEmployeeIds() { return MissingCostEmployeeIds; }
        public SvcMetrics setMissingCostEmployeeIds(ArrayList<UUID> value) { this.MissingCostEmployeeIds = value; return this; }
        public ArrayList<SvcNamedTime> getMissingCost() { return MissingCost; }
        public SvcMetrics setMissingCost(ArrayList<SvcNamedTime> value) { this.MissingCost = value; return this; }
        public Boolean isLaborLocked() { return LaborLocked; }
        public SvcMetrics setLaborLocked(Boolean value) { this.LaborLocked = value; return this; }
        public BigDecimal getContribution() { return Contribution; }
        public SvcMetrics setContribution(BigDecimal value) { this.Contribution = value; return this; }
        public BigDecimal getLostFees() { return LostFees; }
        public SvcMetrics setLostFees(BigDecimal value) { this.LostFees = value; return this; }
        public BigDecimal getLostNoShowFees() { return LostNoShowFees; }
        public SvcMetrics setLostNoShowFees(BigDecimal value) { this.LostNoShowFees = value; return this; }
        public HashMap<UUID,Integer> getMix() { return Mix; }
        public SvcMetrics setMix(HashMap<UUID,Integer> value) { this.Mix = value; return this; }
        public ArrayList<Integer> getHourlyServed() { return HourlyServed; }
        public SvcMetrics setHourlyServed(ArrayList<Integer> value) { this.HourlyServed = value; return this; }
        public ArrayList<BigDecimal> getHourlyFees() { return HourlyFees; }
        public SvcMetrics setHourlyFees(ArrayList<BigDecimal> value) { this.HourlyFees = value; return this; }
        public ArrayList<BigDecimal> getHourlyCost() { return HourlyCost; }
        public SvcMetrics setHourlyCost(ArrayList<BigDecimal> value) { this.HourlyCost = value; return this; }
        public ArrayList<SvcTint> getTints() { return Tints; }
        public SvcMetrics setTints(ArrayList<SvcTint> value) { this.Tints = value; return this; }
    }

    public static class SvcNamedTime
    {
        public UUID Id = null;
        public String Name = null;
        public Long SignedSec = null;
        public Integer Served = null;
        
        public UUID getId() { return Id; }
        public SvcNamedTime setId(UUID value) { this.Id = value; return this; }
        public String getName() { return Name; }
        public SvcNamedTime setName(String value) { this.Name = value; return this; }
        public Long getSignedSec() { return SignedSec; }
        public SvcNamedTime setSignedSec(Long value) { this.SignedSec = value; return this; }
        public Integer getServed() { return Served; }
        public SvcNamedTime setServed(Integer value) { this.Served = value; return this; }
    }

    public static class SvcTint
    {
        public String Field = null;
        public String Tone = null;
        public String Reason = null;
        public Double Value = null;
        public Double Reference = null;
        public Double BranchValue = null;
        
        public String getField() { return Field; }
        public SvcTint setField(String value) { this.Field = value; return this; }
        public String getTone() { return Tone; }
        public SvcTint setTone(String value) { this.Tone = value; return this; }
        public String getReason() { return Reason; }
        public SvcTint setReason(String value) { this.Reason = value; return this; }
        public Double getValue() { return Value; }
        public SvcTint setValue(Double value) { this.Value = value; return this; }
        public Double getReference() { return Reference; }
        public SvcTint setReference(Double value) { this.Reference = value; return this; }
        public Double getBranchValue() { return BranchValue; }
        public SvcTint setBranchValue(Double value) { this.BranchValue = value; return this; }
    }

    public static class SvcStateRow
    {
        public String StateCode = null;
        public String StateName = null;
        public Integer Branches = null;
        public SvcMetrics Metrics = null;
        
        public String getStateCode() { return StateCode; }
        public SvcStateRow setStateCode(String value) { this.StateCode = value; return this; }
        public String getStateName() { return StateName; }
        public SvcStateRow setStateName(String value) { this.StateName = value; return this; }
        public Integer getBranches() { return Branches; }
        public SvcStateRow setBranches(Integer value) { this.Branches = value; return this; }
        public SvcMetrics getMetrics() { return Metrics; }
        public SvcStateRow setMetrics(SvcMetrics value) { this.Metrics = value; return this; }
    }

    public static class SvcComparison
    {
        public String Mode = null;
        public Date FromDate = null;
        public Date ToDate = null;
        public Integer CutoffMinute = null;
        public Boolean HasData = null;
        public SvcMetrics Metrics = null;
        
        public String getMode() { return Mode; }
        public SvcComparison setMode(String value) { this.Mode = value; return this; }
        public Date getFromDate() { return FromDate; }
        public SvcComparison setFromDate(Date value) { this.FromDate = value; return this; }
        public Date getToDate() { return ToDate; }
        public SvcComparison setToDate(Date value) { this.ToDate = value; return this; }
        public Integer getCutoffMinute() { return CutoffMinute; }
        public SvcComparison setCutoffMinute(Integer value) { this.CutoffMinute = value; return this; }
        public Boolean isHasData() { return HasData; }
        public SvcComparison setHasData(Boolean value) { this.HasData = value; return this; }
        public SvcMetrics getMetrics() { return Metrics; }
        public SvcComparison setMetrics(SvcMetrics value) { this.Metrics = value; return this; }
    }

    public static class SvcServiceRow
    {
        public UUID LineId = null;
        public String Name = null;
        public Integer Completed = null;
        public Double AvgServiceSec = null;
        public Double BranchAvgServiceSec = null;
        public BigDecimal FeesEarned = null;
        public BigDecimal FeeCurrent = null;
        public BigDecimal FeeMin = null;
        public BigDecimal FeeMax = null;
        public BigDecimal FeePerMinute = null;
        public BigDecimal BranchFeePerMinute = null;
        public ArrayList<SvcFeeChange> FeeChanges = new ArrayList<SvcFeeChange>();
        
        public UUID getLineId() { return LineId; }
        public SvcServiceRow setLineId(UUID value) { this.LineId = value; return this; }
        public String getName() { return Name; }
        public SvcServiceRow setName(String value) { this.Name = value; return this; }
        public Integer getCompleted() { return Completed; }
        public SvcServiceRow setCompleted(Integer value) { this.Completed = value; return this; }
        public Double getAvgServiceSec() { return AvgServiceSec; }
        public SvcServiceRow setAvgServiceSec(Double value) { this.AvgServiceSec = value; return this; }
        public Double getBranchAvgServiceSec() { return BranchAvgServiceSec; }
        public SvcServiceRow setBranchAvgServiceSec(Double value) { this.BranchAvgServiceSec = value; return this; }
        public BigDecimal getFeesEarned() { return FeesEarned; }
        public SvcServiceRow setFeesEarned(BigDecimal value) { this.FeesEarned = value; return this; }
        public BigDecimal getFeeCurrent() { return FeeCurrent; }
        public SvcServiceRow setFeeCurrent(BigDecimal value) { this.FeeCurrent = value; return this; }
        public BigDecimal getFeeMin() { return FeeMin; }
        public SvcServiceRow setFeeMin(BigDecimal value) { this.FeeMin = value; return this; }
        public BigDecimal getFeeMax() { return FeeMax; }
        public SvcServiceRow setFeeMax(BigDecimal value) { this.FeeMax = value; return this; }
        public BigDecimal getFeePerMinute() { return FeePerMinute; }
        public SvcServiceRow setFeePerMinute(BigDecimal value) { this.FeePerMinute = value; return this; }
        public BigDecimal getBranchFeePerMinute() { return BranchFeePerMinute; }
        public SvcServiceRow setBranchFeePerMinute(BigDecimal value) { this.BranchFeePerMinute = value; return this; }
        public ArrayList<SvcFeeChange> getFeeChanges() { return FeeChanges; }
        public SvcServiceRow setFeeChanges(ArrayList<SvcFeeChange> value) { this.FeeChanges = value; return this; }
    }

    public static class SvcFeeChange
    {
        public UUID LocationId = null;
        public Date OnDate = null;
        public BigDecimal FromFee = null;
        public BigDecimal ToFee = null;
        
        public UUID getLocationId() { return LocationId; }
        public SvcFeeChange setLocationId(UUID value) { this.LocationId = value; return this; }
        public Date getOnDate() { return OnDate; }
        public SvcFeeChange setOnDate(Date value) { this.OnDate = value; return this; }
        public BigDecimal getFromFee() { return FromFee; }
        public SvcFeeChange setFromFee(BigDecimal value) { this.FromFee = value; return this; }
        public BigDecimal getToFee() { return ToFee; }
        public SvcFeeChange setToFee(BigDecimal value) { this.ToFee = value; return this; }
    }

    public static class SvcHourRow
    {
        public Integer LocalHour = null;
        public Integer Served = null;
        public BigDecimal FeesEarned = null;
        public BigDecimal CostToStaff = null;
        
        public Integer getLocalHour() { return LocalHour; }
        public SvcHourRow setLocalHour(Integer value) { this.LocalHour = value; return this; }
        public Integer getServed() { return Served; }
        public SvcHourRow setServed(Integer value) { this.Served = value; return this; }
        public BigDecimal getFeesEarned() { return FeesEarned; }
        public SvcHourRow setFeesEarned(BigDecimal value) { this.FeesEarned = value; return this; }
        public BigDecimal getCostToStaff() { return CostToStaff; }
        public SvcHourRow setCostToStaff(BigDecimal value) { this.CostToStaff = value; return this; }
    }

    public static class SvcWorkerRow
    {
        public UUID EmployeeId = null;
        public UUID BranchId = null;
        public String BranchName = null;
        public String Name = null;
        public Integer Served = null;
        public Double AvgServiceSec = null;
        public Double Utilization = null;
        
        public UUID getEmployeeId() { return EmployeeId; }
        public SvcWorkerRow setEmployeeId(UUID value) { this.EmployeeId = value; return this; }
        public UUID getBranchId() { return BranchId; }
        public SvcWorkerRow setBranchId(UUID value) { this.BranchId = value; return this; }
        public String getBranchName() { return BranchName; }
        public SvcWorkerRow setBranchName(String value) { this.BranchName = value; return this; }
        public String getName() { return Name; }
        public SvcWorkerRow setName(String value) { this.Name = value; return this; }
        public Integer getServed() { return Served; }
        public SvcWorkerRow setServed(Integer value) { this.Served = value; return this; }
        public Double getAvgServiceSec() { return AvgServiceSec; }
        public SvcWorkerRow setAvgServiceSec(Double value) { this.AvgServiceSec = value; return this; }
        public Double getUtilization() { return Utilization; }
        public SvcWorkerRow setUtilization(Double value) { this.Utilization = value; return this; }
    }

    public static class SvcAlert
    {
        public String Level = null;
        public String View = null;
        public String Code = null;
        public UUID StationId = null;
        public UUID EmployeeId = null;
        public UUID BranchId = null;
        public UUID LineId = null;
        public String Name = null;
        public UUID OtherLineId = null;
        public String OtherName = null;
        public ArrayList<UUID> StationIds = new ArrayList<UUID>();
        public HashMap<String,Double> Values = new HashMap<String,Double>();
        
        public String getLevel() { return Level; }
        public SvcAlert setLevel(String value) { this.Level = value; return this; }
        public String getView() { return View; }
        public SvcAlert setView(String value) { this.View = value; return this; }
        public String getCode() { return Code; }
        public SvcAlert setCode(String value) { this.Code = value; return this; }
        public UUID getStationId() { return StationId; }
        public SvcAlert setStationId(UUID value) { this.StationId = value; return this; }
        public UUID getEmployeeId() { return EmployeeId; }
        public SvcAlert setEmployeeId(UUID value) { this.EmployeeId = value; return this; }
        public UUID getBranchId() { return BranchId; }
        public SvcAlert setBranchId(UUID value) { this.BranchId = value; return this; }
        public UUID getLineId() { return LineId; }
        public SvcAlert setLineId(UUID value) { this.LineId = value; return this; }
        public String getName() { return Name; }
        public SvcAlert setName(String value) { this.Name = value; return this; }
        public UUID getOtherLineId() { return OtherLineId; }
        public SvcAlert setOtherLineId(UUID value) { this.OtherLineId = value; return this; }
        public String getOtherName() { return OtherName; }
        public SvcAlert setOtherName(String value) { this.OtherName = value; return this; }
        public ArrayList<UUID> getStationIds() { return StationIds; }
        public SvcAlert setStationIds(ArrayList<UUID> value) { this.StationIds = value; return this; }
        public HashMap<String,Double> getValues() { return Values; }
        public SvcAlert setValues(HashMap<String,Double> value) { this.Values = value; return this; }
    }

}

Java KpiV2Request DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/dashboard/kpiv2 HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","LocationIds":["00000000000000000000000000000000"],"IncludeScope":false,"StateCode":"String","Compare":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Stats":[{"Key":"String","Label":"String","Value":0,"PreviousValue":0,"Unit":"String","DeltaPct":null}],"Trend":[{"Name":"String","Points":[{"Label":"String","Value":0}]}],"ServicesByType":{"Name":"String","Points":[{"Label":"String","Value":0}]},"LocationLeaderboard":[{"LocationName":"String","Walkins":0,"Completed":0,"AvgServiceMinutes":0,"AbandonmentPct":0}],"WorkerProductivity":[{"WorkerName":"String","Completed":0,"AvgServiceMinutes":0}],"Heatmap":[{"Dow":0,"Hr":0,"Cnt":0}],"LiveQueue":[{"LocationName":"String","Waiting":0,"InProgress":0}],"Scope":{"StateCode":"String","Branches":[{"BranchId":"00000000000000000000000000000000","Name":"String","StateCode":"String","ZoneCode":"String","TimeZone":"String","Windows":0,"RecordingSinceUtc":"0001-01-01T00:00:00.0000000","SessionsSinceUtc":"0001-01-01T00:00:00.0000000","Metrics":{"Checkins":0,"Walkins":0,"Appts":0,"Served":0,"NoShows":0,"ApptNoShows":0,"CancelledAtWindow":0,"Abandoned":0,"Called":0,"CalledUp":0,"AbandonRate":0,"NoShowRate":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"MaxWaitSec":0,"AvgWalkUpSec":0,"ExpectedServiceSec":0,"SignedSec":0,"ServingSec":0,"PausedSec":0,"IdleSec":0,"UnstaffedSec":0,"Utilization":0,"IdleShare":0,"PausedShare":0,"Sessions":0,"OpenDays":0,"FeesEarned":0,"AvgFee":0,"FeesPerStaffedHour":0,"ExpectedFeesPerStaffedHour":0,"LaborCost":0,"LaborPartial":false,"MissingCostEmployeeIds":["00000000000000000000000000000000"],"MissingCost":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"LaborLocked":false,"Contribution":0,"LostFees":0,"LostNoShowFees":0,"Mix":{"00000000000000000000000000000000":0},"HourlyServed":[0],"HourlyFees":[0],"HourlyCost":[0],"Tints":[{"Field":"String","Tone":"String","Reason":"String","Value":0,"Reference":0,"BranchValue":0}]}}],"States":[{"StateCode":"String","StateName":"String","Branches":0,"Metrics":{"Checkins":0,"Walkins":0,"Appts":0,"Served":0,"NoShows":0,"ApptNoShows":0,"CancelledAtWindow":0,"Abandoned":0,"Called":0,"CalledUp":0,"AbandonRate":0,"NoShowRate":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"MaxWaitSec":0,"AvgWalkUpSec":0,"ExpectedServiceSec":0,"SignedSec":0,"ServingSec":0,"PausedSec":0,"IdleSec":0,"UnstaffedSec":0,"Utilization":0,"IdleShare":0,"PausedShare":0,"Sessions":0,"OpenDays":0,"FeesEarned":0,"AvgFee":0,"FeesPerStaffedHour":0,"ExpectedFeesPerStaffedHour":0,"LaborCost":0,"LaborPartial":false,"MissingCostEmployeeIds":["00000000000000000000000000000000"],"MissingCost":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"LaborLocked":false,"Contribution":0,"LostFees":0,"LostNoShowFees":0,"Mix":{"00000000000000000000000000000000":0},"HourlyServed":[0],"HourlyFees":[0],"HourlyCost":[0],"Tints":[{"Field":"String","Tone":"String","Reason":"String","Value":0,"Reference":0,"BranchValue":0}]}}],"Total":{"Checkins":0,"Walkins":0,"Appts":0,"Served":0,"NoShows":0,"ApptNoShows":0,"CancelledAtWindow":0,"Abandoned":0,"Called":0,"CalledUp":0,"AbandonRate":0,"NoShowRate":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"MaxWaitSec":0,"AvgWalkUpSec":0,"ExpectedServiceSec":0,"SignedSec":0,"ServingSec":0,"PausedSec":0,"IdleSec":0,"UnstaffedSec":0,"Utilization":0,"IdleShare":0,"PausedShare":0,"Sessions":0,"OpenDays":0,"FeesEarned":0,"AvgFee":0,"FeesPerStaffedHour":0,"ExpectedFeesPerStaffedHour":0,"LaborCost":0,"LaborPartial":false,"MissingCostEmployeeIds":["00000000000000000000000000000000"],"MissingCost":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"LaborLocked":false,"Contribution":0,"LostFees":0,"LostNoShowFees":0,"Mix":{"00000000000000000000000000000000":0},"HourlyServed":[0],"HourlyFees":[0],"HourlyCost":[0],"Tints":[{"Field":"String","Tone":"String","Reason":"String","Value":0,"Reference":0,"BranchValue":0}]},"Comparison":{"Mode":"String","FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","CutoffMinute":0,"HasData":false,"Metrics":{"Checkins":0,"Walkins":0,"Appts":0,"Served":0,"NoShows":0,"ApptNoShows":0,"CancelledAtWindow":0,"Abandoned":0,"Called":0,"CalledUp":0,"AbandonRate":0,"NoShowRate":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"MaxWaitSec":0,"AvgWalkUpSec":0,"ExpectedServiceSec":0,"SignedSec":0,"ServingSec":0,"PausedSec":0,"IdleSec":0,"UnstaffedSec":0,"Utilization":0,"IdleShare":0,"PausedShare":0,"Sessions":0,"OpenDays":0,"FeesEarned":0,"AvgFee":0,"FeesPerStaffedHour":0,"ExpectedFeesPerStaffedHour":0,"LaborCost":0,"LaborPartial":false,"MissingCostEmployeeIds":["00000000000000000000000000000000"],"MissingCost":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"LaborLocked":false,"Contribution":0,"LostFees":0,"LostNoShowFees":0,"Mix":{"00000000000000000000000000000000":0},"HourlyServed":[0],"HourlyFees":[0],"HourlyCost":[0],"Tints":[{"Field":"String","Tone":"String","Reason":"String","Value":0,"Reference":0,"BranchValue":0}]}},"FeesByService":[{"LineId":"00000000000000000000000000000000","Name":"String","Completed":0,"AvgServiceSec":0,"BranchAvgServiceSec":0,"FeesEarned":0,"FeeCurrent":0,"FeeMin":0,"FeeMax":0,"FeePerMinute":0,"BranchFeePerMinute":0,"FeeChanges":[{"LocationId":"00000000000000000000000000000000","OnDate":"0001-01-01T00:00:00.0000000","FromFee":0,"ToFee":0}]}],"ByHour":[{"LocalHour":0,"Served":0,"FeesEarned":0,"CostToStaff":0}],"Workers":[{"EmployeeId":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","BranchName":"String","Name":"String","Served":0,"AvgServiceSec":0,"Utilization":0}],"MultiZone":false,"MultiState":false,"RecordingSinceUtc":"0001-01-01T00:00:00.0000000","SessionsSinceUtc":"0001-01-01T00:00:00.0000000","Alerts":[{"Level":"String","View":"String","Code":"String","StationId":"00000000000000000000000000000000","EmployeeId":"00000000000000000000000000000000","BranchId":"00000000000000000000000000000000","LineId":"00000000000000000000000000000000","Name":"String","OtherLineId":"00000000000000000000000000000000","OtherName":"String","StationIds":["00000000000000000000000000000000"],"Values":{"String":0}}],"CanSeeStaff":false,"CanSeeFinancial":false,"CanSeePay":false}}