| POST,OPTIONS | /v1/dashboard/kpiv2/detail |
|---|
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 KpiV2DetailRequest
{
public virtual Guid BranchId { get; set; }
public virtual Guid? StationId { get; set; }
public virtual Guid? EmployeeId { get; set; }
public virtual DateTime FromDate { get; set; }
public virtual DateTime ToDate { get; set; }
}
public partial class KpiV2DetailResponse
{
public virtual ResponseStatus ResponseStatus { get; set; }
public virtual SvcDetail Detail { get; set; }
}
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 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 SvcDetail
{
public virtual string Kind { get; set; }
public virtual SvcWindowRow Window { get; set; }
public virtual SvcClerkRow Clerk { get; set; }
public virtual SvcMetrics BranchMetrics { get; set; }
public virtual SvcAverage PerRowAverage { get; set; }
public virtual List<SvcSession> Sessions { get; set; } = [];
public virtual List<SvcServiceRow> Services { get; set; } = [];
public virtual bool CanSeeStaff { get; set; }
public virtual bool CanSeeFinancial { get; set; }
public virtual bool CanSeePay { 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 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 SvcSession
{
public virtual Guid SessionId { get; set; }
public virtual Guid StationId { get; set; }
public virtual string StationName { get; set; }
public virtual Guid EmployeeId { get; set; }
public virtual string EmployeeName { get; set; }
public virtual DateTime LocalIn { get; set; }
public virtual DateTime LocalOut { get; set; }
public virtual bool IsOpen { get; set; }
public virtual string EndReason { get; set; }
public virtual long PausedSec { 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; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dashboard/kpiv2/detail HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"BranchId":"00000000000000000000000000000000","StationId":"00000000000000000000000000000000","EmployeeId":"00000000000000000000000000000000","FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Detail":{"Kind":"String","Window":{"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}]}},"Clerk":{"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}]}},"BranchMetrics":{"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}]},"PerRowAverage":{"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},"Sessions":[{"SessionId":"00000000000000000000000000000000","StationId":"00000000000000000000000000000000","StationName":"String","EmployeeId":"00000000000000000000000000000000","EmployeeName":"String","LocalIn":"0001-01-01T00:00:00.0000000","LocalOut":"0001-01-01T00:00:00.0000000","IsOpen":false,"EndReason":"String","PausedSec":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}]}],"CanSeeStaff":false,"CanSeeFinancial":false,"CanSeePay":false}}