Trendsic Platform Service

<back to all web services

KpiV2BranchRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dashboard/kpiv2/branch
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class KpiV2BranchRequest
    {
        public virtual Guid BranchId { get; set; }
        public virtual DateTime FromDate { get; set; }
        public virtual DateTime ToDate { get; set; }
        public virtual string Compare { get; set; }
    }

    public partial class KpiV2BranchResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual SvcBranchDetail Branch { get; set; }
    }

    public partial class SvcAlert
    {
        public virtual string Level { get; set; }
        public virtual string View { get; set; }
        public virtual string Code { get; set; }
        public virtual Guid? StationId { get; set; }
        public virtual Guid? EmployeeId { get; set; }
        public virtual Guid? BranchId { get; set; }
        public virtual Guid? LineId { get; set; }
        public virtual string Name { get; set; }
        public virtual Guid? OtherLineId { get; set; }
        public virtual string OtherName { get; set; }
        public virtual List<Guid> StationIds { get; set; } = [];
        public virtual Dictionary<string, double> Values { get; set; } = new();
    }

    public partial class SvcAverage
    {
        public virtual int Count { get; set; }
        public virtual double Served { get; set; }
        public virtual double? AvgServiceSec { get; set; }
        public virtual double? MedianServiceSec { get; set; }
        public virtual double? AvgWaitSec { get; set; }
        public virtual double? Utilization { get; set; }
        public virtual double IdleSec { get; set; }
        public virtual double PausedSec { get; set; }
        public virtual double NoShows { get; set; }
        public virtual double SignedSec { get; set; }
        public virtual decimal? FeesEarned { get; set; }
        public virtual decimal? FeesPerStaffedHour { get; set; }
        public virtual decimal? LaborCost { get; set; }
        public virtual decimal? Contribution { get; set; }
        public virtual decimal? LostNoShowFees { get; set; }
    }

    public partial class SvcBranchDetail
    {
        public virtual SvcBranchRow Branch { get; set; }
        public virtual List<SvcWindowRow> Windows { get; set; } = [];
        public virtual List<SvcClerkRow> Clerks { get; set; } = [];
        public virtual SvcMetrics Unassigned { get; set; }
        public virtual SvcMetrics NoClerk { get; set; }
        public virtual SvcAverage PerWindowAverage { get; set; }
        public virtual SvcAverage PerClerkAverage { get; set; }
        public virtual int OpenDays { get; set; }
        public virtual bool IsLive { get; set; }
        public virtual SvcComparison Comparison { get; set; }
        public virtual SvcCoverage Coverage { get; set; }
        public virtual List<SvcServiceRow> Services { get; set; } = [];
        public virtual List<SvcHourRow> ByHour { get; set; } = [];
        public virtual List<SvcAlert> Alerts { get; set; } = [];
        public virtual bool TotalsAgree { get; set; }
        public virtual bool CanSeeStaff { get; set; }
        public virtual bool CanSeeFinancial { get; set; }
        public virtual bool CanSeePay { get; set; }
    }

    public partial class SvcBranchRow
    {
        public virtual Guid BranchId { get; set; }
        public virtual string Name { get; set; }
        public virtual string StateCode { get; set; }
        public virtual string ZoneCode { get; set; }
        public virtual string TimeZone { get; set; }
        public virtual int Windows { get; set; }
        public virtual DateTime? RecordingSinceUtc { get; set; }
        public virtual DateTime? SessionsSinceUtc { get; set; }
        public virtual SvcMetrics Metrics { get; set; }
    }

    public partial class SvcClerkRow
    {
        public virtual Guid EmployeeId { get; set; }
        public virtual string Name { get; set; }
        public virtual List<SvcNamedTime> Windows { get; set; } = [];
        public virtual decimal? LoadedRate { get; set; }
        public virtual bool RateSet { get; set; }
        public virtual bool RateLocked { get; set; }
        public virtual SvcMetrics Metrics { get; set; }
    }

    public partial class SvcComparison
    {
        public virtual string Mode { get; set; }
        public virtual DateTime? FromDate { get; set; }
        public virtual DateTime? ToDate { get; set; }
        public virtual int? CutoffMinute { get; set; }
        public virtual bool HasData { get; set; }
        public virtual SvcMetrics Metrics { get; set; }
    }

    public partial class SvcCoverage
    {
        public virtual int StartLocalMinute { get; set; }
        public virtual int BucketMinutes { get; set; }
        public virtual List<SvcCoverageRow> Rows { get; set; } = [];
        public virtual List<double> InLine { get; set; } = [];
        public virtual List<int[]> GapBands { get; set; } = [];
        public virtual int Days { get; set; }
        public virtual bool NotRecorded { get; set; }
        public virtual int? FutureFromIndex { get; set; }
    }

    public partial class SvcCoverageBucket
    {
        public virtual double ServingPct { get; set; }
        public virtual double IdlePct { get; set; }
        public virtual double PausedPct { get; set; }
        public virtual double UnstaffedPct { get; set; }
    }

    public partial class SvcCoverageRow
    {
        public virtual Guid StationId { get; set; }
        public virtual string Name { get; set; }
        public virtual List<SvcCoverageBucket> Buckets { get; set; } = [];
    }

    public partial class SvcFeeChange
    {
        public virtual Guid LocationId { get; set; }
        public virtual DateTime OnDate { get; set; }
        public virtual decimal FromFee { get; set; }
        public virtual decimal ToFee { get; set; }
    }

    public partial class SvcHourRow
    {
        public virtual int LocalHour { get; set; }
        public virtual int Served { get; set; }
        public virtual decimal? FeesEarned { get; set; }
        public virtual decimal? CostToStaff { get; set; }
    }

    public partial class SvcMetrics
    {
        public virtual int Checkins { get; set; }
        public virtual int Walkins { get; set; }
        public virtual int Appts { get; set; }
        public virtual int Served { get; set; }
        public virtual int NoShows { get; set; }
        public virtual int ApptNoShows { get; set; }
        public virtual int CancelledAtWindow { get; set; }
        public virtual int Abandoned { get; set; }
        public virtual int Called { get; set; }
        public virtual int CalledUp { get; set; }
        public virtual double? AbandonRate { get; set; }
        public virtual double? NoShowRate { get; set; }
        public virtual double? AvgServiceSec { get; set; }
        public virtual double? MedianServiceSec { get; set; }
        public virtual double? AvgWaitSec { get; set; }
        public virtual int MaxWaitSec { get; set; }
        public virtual double? AvgWalkUpSec { get; set; }
        public virtual double? ExpectedServiceSec { get; set; }
        public virtual long SignedSec { get; set; }
        public virtual long ServingSec { get; set; }
        public virtual long PausedSec { get; set; }
        public virtual long IdleSec { get; set; }
        public virtual long UnstaffedSec { get; set; }
        public virtual double? Utilization { get; set; }
        public virtual double? IdleShare { get; set; }
        public virtual double? PausedShare { get; set; }
        public virtual int Sessions { get; set; }
        public virtual int OpenDays { get; set; }
        public virtual decimal? FeesEarned { get; set; }
        public virtual decimal? AvgFee { get; set; }
        public virtual decimal? FeesPerStaffedHour { get; set; }
        public virtual decimal? ExpectedFeesPerStaffedHour { get; set; }
        public virtual decimal? LaborCost { get; set; }
        public virtual bool LaborPartial { get; set; }
        public virtual List<Guid> MissingCostEmployeeIds { get; set; } = [];
        public virtual List<SvcNamedTime> MissingCost { get; set; } = [];
        public virtual bool LaborLocked { get; set; }
        public virtual decimal? Contribution { get; set; }
        public virtual decimal? LostFees { get; set; }
        public virtual decimal? LostNoShowFees { get; set; }
        public virtual Dictionary<Guid, int> Mix { get; set; } = new();
        public virtual int[] HourlyServed { get; set; } = [];
        public virtual decimal[] HourlyFees { get; set; } = [];
        public virtual decimal[] HourlyCost { get; set; } = [];
        public virtual List<SvcTint> Tints { get; set; } = [];
    }

    public partial class SvcNamedTime
    {
        public virtual Guid Id { get; set; }
        public virtual string Name { get; set; }
        public virtual long SignedSec { get; set; }
        public virtual int Served { get; set; }
    }

    public partial class SvcServiceRow
    {
        public virtual Guid LineId { get; set; }
        public virtual string Name { get; set; }
        public virtual int Completed { get; set; }
        public virtual double? AvgServiceSec { get; set; }
        public virtual double? BranchAvgServiceSec { get; set; }
        public virtual decimal? FeesEarned { get; set; }
        public virtual decimal? FeeCurrent { get; set; }
        public virtual decimal? FeeMin { get; set; }
        public virtual decimal? FeeMax { get; set; }
        public virtual decimal? FeePerMinute { get; set; }
        public virtual decimal? BranchFeePerMinute { get; set; }
        public virtual List<SvcFeeChange> FeeChanges { get; set; } = [];
    }

    public partial class SvcTint
    {
        public virtual string Field { get; set; }
        public virtual string Tone { get; set; }
        public virtual string Reason { get; set; }
        public virtual double? Value { get; set; }
        public virtual double? Reference { get; set; }
        public virtual double? BranchValue { get; set; }
    }

    public partial class SvcWindowRow
    {
        public virtual Guid StationId { get; set; }
        public virtual string Name { get; set; }
        public virtual List<SvcNamedTime> Clerks { get; set; } = [];
        public virtual bool NeverStaffed { get; set; }
        public virtual DateTime? LastStaffedUtc { get; set; }
        public virtual string LastStaffedBy { get; set; }
        public virtual SvcMetrics Metrics { get; set; }
    }

}

C# KpiV2BranchRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

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

{"BranchId":"00000000000000000000000000000000","FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","Compare":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Branch":{"Branch":{"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}]}},"Windows":[{"StationId":"00000000000000000000000000000000","Name":"String","Clerks":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"NeverStaffed":false,"LastStaffedUtc":"0001-01-01T00:00:00.0000000","LastStaffedBy":"String","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}]}}],"Clerks":[{"EmployeeId":"00000000000000000000000000000000","Name":"String","Windows":[{"Id":"00000000000000000000000000000000","Name":"String","SignedSec":0,"Served":0}],"LoadedRate":0,"RateSet":false,"RateLocked":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}]}}],"Unassigned":{"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}]},"NoClerk":{"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}]},"PerWindowAverage":{"Count":0,"Served":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"Utilization":0,"IdleSec":0,"PausedSec":0,"NoShows":0,"SignedSec":0,"FeesEarned":0,"FeesPerStaffedHour":0,"LaborCost":0,"Contribution":0,"LostNoShowFees":0},"PerClerkAverage":{"Count":0,"Served":0,"AvgServiceSec":0,"MedianServiceSec":0,"AvgWaitSec":0,"Utilization":0,"IdleSec":0,"PausedSec":0,"NoShows":0,"SignedSec":0,"FeesEarned":0,"FeesPerStaffedHour":0,"LaborCost":0,"Contribution":0,"LostNoShowFees":0},"OpenDays":0,"IsLive":false,"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}]}},"Coverage":{"StartLocalMinute":0,"BucketMinutes":0,"Rows":[{"StationId":"00000000000000000000000000000000","Name":"String","Buckets":[{"ServingPct":0,"IdlePct":0,"PausedPct":0,"UnstaffedPct":0}]}],"InLine":[0],"GapBands":[[0]],"Days":0,"NotRecorded":false,"FutureFromIndex":0},"Services":[{"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}],"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}}],"TotalsAgree":false,"CanSeeStaff":false,"CanSeeFinancial":false,"CanSeePay":false}}