| 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 .xml suffix or ?format=xml
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: application/xml
Content-Type: application/xml
Content-Length: length
<KpiV2DetailRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
<FromDate>0001-01-01T00:00:00</FromDate>
<StationId>00000000-0000-0000-0000-000000000000</StationId>
<ToDate>0001-01-01T00:00:00</ToDate>
</KpiV2DetailRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<KpiV2DetailResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Detail>
<BranchMetrics>
<AbandonRate>0</AbandonRate>
<Abandoned>0</Abandoned>
<ApptNoShows>0</ApptNoShows>
<Appts>0</Appts>
<AvgFee>0</AvgFee>
<AvgServiceSec>0</AvgServiceSec>
<AvgWaitSec>0</AvgWaitSec>
<AvgWalkUpSec>0</AvgWalkUpSec>
<Called>0</Called>
<CalledUp>0</CalledUp>
<CancelledAtWindow>0</CancelledAtWindow>
<Checkins>0</Checkins>
<Contribution>0</Contribution>
<ExpectedFeesPerStaffedHour>0</ExpectedFeesPerStaffedHour>
<ExpectedServiceSec>0</ExpectedServiceSec>
<FeesEarned>0</FeesEarned>
<FeesPerStaffedHour>0</FeesPerStaffedHour>
<HourlyCost xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:decimal>0</d4p1:decimal>
</HourlyCost>
<HourlyFees xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:decimal>0</d4p1:decimal>
</HourlyFees>
<HourlyServed xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:int>0</d4p1:int>
</HourlyServed>
<IdleSec>0</IdleSec>
<IdleShare>0</IdleShare>
<LaborCost>0</LaborCost>
<LaborLocked>false</LaborLocked>
<LaborPartial>false</LaborPartial>
<LostFees>0</LostFees>
<LostNoShowFees>0</LostNoShowFees>
<MaxWaitSec>0</MaxWaitSec>
<MedianServiceSec>0</MedianServiceSec>
<MissingCost>
<SvcNamedTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Served>0</Served>
<SignedSec>0</SignedSec>
</SvcNamedTime>
</MissingCost>
<MissingCostEmployeeIds xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:guid>00000000-0000-0000-0000-000000000000</d4p1:guid>
</MissingCostEmployeeIds>
<Mix xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfguidint>
<d4p1:Key>00000000-0000-0000-0000-000000000000</d4p1:Key>
<d4p1:Value>0</d4p1:Value>
</d4p1:KeyValueOfguidint>
</Mix>
<NoShowRate>0</NoShowRate>
<NoShows>0</NoShows>
<OpenDays>0</OpenDays>
<PausedSec>0</PausedSec>
<PausedShare>0</PausedShare>
<Served>0</Served>
<ServingSec>0</ServingSec>
<Sessions>0</Sessions>
<SignedSec>0</SignedSec>
<Tints>
<SvcTint>
<BranchValue>0</BranchValue>
<Field>String</Field>
<Reason>String</Reason>
<Reference>0</Reference>
<Tone>String</Tone>
<Value>0</Value>
</SvcTint>
</Tints>
<UnstaffedSec>0</UnstaffedSec>
<Utilization>0</Utilization>
<Walkins>0</Walkins>
</BranchMetrics>
<CanSeeFinancial>false</CanSeeFinancial>
<CanSeePay>false</CanSeePay>
<CanSeeStaff>false</CanSeeStaff>
<Clerk>
<EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
<LoadedRate>0</LoadedRate>
<Metrics>
<AbandonRate>0</AbandonRate>
<Abandoned>0</Abandoned>
<ApptNoShows>0</ApptNoShows>
<Appts>0</Appts>
<AvgFee>0</AvgFee>
<AvgServiceSec>0</AvgServiceSec>
<AvgWaitSec>0</AvgWaitSec>
<AvgWalkUpSec>0</AvgWalkUpSec>
<Called>0</Called>
<CalledUp>0</CalledUp>
<CancelledAtWindow>0</CancelledAtWindow>
<Checkins>0</Checkins>
<Contribution>0</Contribution>
<ExpectedFeesPerStaffedHour>0</ExpectedFeesPerStaffedHour>
<ExpectedServiceSec>0</ExpectedServiceSec>
<FeesEarned>0</FeesEarned>
<FeesPerStaffedHour>0</FeesPerStaffedHour>
<HourlyCost xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:decimal>0</d5p1:decimal>
</HourlyCost>
<HourlyFees xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:decimal>0</d5p1:decimal>
</HourlyFees>
<HourlyServed xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</HourlyServed>
<IdleSec>0</IdleSec>
<IdleShare>0</IdleShare>
<LaborCost>0</LaborCost>
<LaborLocked>false</LaborLocked>
<LaborPartial>false</LaborPartial>
<LostFees>0</LostFees>
<LostNoShowFees>0</LostNoShowFees>
<MaxWaitSec>0</MaxWaitSec>
<MedianServiceSec>0</MedianServiceSec>
<MissingCost>
<SvcNamedTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Served>0</Served>
<SignedSec>0</SignedSec>
</SvcNamedTime>
</MissingCost>
<MissingCostEmployeeIds xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:guid>00000000-0000-0000-0000-000000000000</d5p1:guid>
</MissingCostEmployeeIds>
<Mix xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfguidint>
<d5p1:Key>00000000-0000-0000-0000-000000000000</d5p1:Key>
<d5p1:Value>0</d5p1:Value>
</d5p1:KeyValueOfguidint>
</Mix>
<NoShowRate>0</NoShowRate>
<NoShows>0</NoShows>
<OpenDays>0</OpenDays>
<PausedSec>0</PausedSec>
<PausedShare>0</PausedShare>
<Served>0</Served>
<ServingSec>0</ServingSec>
<Sessions>0</Sessions>
<SignedSec>0</SignedSec>
<Tints>
<SvcTint>
<BranchValue>0</BranchValue>
<Field>String</Field>
<Reason>String</Reason>
<Reference>0</Reference>
<Tone>String</Tone>
<Value>0</Value>
</SvcTint>
</Tints>
<UnstaffedSec>0</UnstaffedSec>
<Utilization>0</Utilization>
<Walkins>0</Walkins>
</Metrics>
<Name>String</Name>
<RateLocked>false</RateLocked>
<RateSet>false</RateSet>
<Windows>
<SvcNamedTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Served>0</Served>
<SignedSec>0</SignedSec>
</SvcNamedTime>
</Windows>
</Clerk>
<Kind>String</Kind>
<PerRowAverage>
<AvgServiceSec>0</AvgServiceSec>
<AvgWaitSec>0</AvgWaitSec>
<Contribution>0</Contribution>
<Count>0</Count>
<FeesEarned>0</FeesEarned>
<FeesPerStaffedHour>0</FeesPerStaffedHour>
<IdleSec>0</IdleSec>
<LaborCost>0</LaborCost>
<LostNoShowFees>0</LostNoShowFees>
<MedianServiceSec>0</MedianServiceSec>
<NoShows>0</NoShows>
<PausedSec>0</PausedSec>
<Served>0</Served>
<SignedSec>0</SignedSec>
<Utilization>0</Utilization>
</PerRowAverage>
<Services>
<SvcServiceRow>
<AvgServiceSec>0</AvgServiceSec>
<BranchAvgServiceSec>0</BranchAvgServiceSec>
<BranchFeePerMinute>0</BranchFeePerMinute>
<Completed>0</Completed>
<FeeChanges>
<SvcFeeChange>
<FromFee>0</FromFee>
<LocationId>00000000-0000-0000-0000-000000000000</LocationId>
<OnDate>0001-01-01T00:00:00</OnDate>
<ToFee>0</ToFee>
</SvcFeeChange>
</FeeChanges>
<FeeCurrent>0</FeeCurrent>
<FeeMax>0</FeeMax>
<FeeMin>0</FeeMin>
<FeePerMinute>0</FeePerMinute>
<FeesEarned>0</FeesEarned>
<LineId>00000000-0000-0000-0000-000000000000</LineId>
<Name>String</Name>
</SvcServiceRow>
</Services>
<Sessions>
<SvcSession>
<EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
<EmployeeName>String</EmployeeName>
<EndReason>String</EndReason>
<IsOpen>false</IsOpen>
<LocalIn>0001-01-01T00:00:00</LocalIn>
<LocalOut>0001-01-01T00:00:00</LocalOut>
<PausedSec>0</PausedSec>
<SessionId>00000000-0000-0000-0000-000000000000</SessionId>
<StationId>00000000-0000-0000-0000-000000000000</StationId>
<StationName>String</StationName>
</SvcSession>
</Sessions>
<Window>
<Clerks>
<SvcNamedTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Served>0</Served>
<SignedSec>0</SignedSec>
</SvcNamedTime>
</Clerks>
<LastStaffedBy>String</LastStaffedBy>
<LastStaffedUtc>0001-01-01T00:00:00</LastStaffedUtc>
<Metrics>
<AbandonRate>0</AbandonRate>
<Abandoned>0</Abandoned>
<ApptNoShows>0</ApptNoShows>
<Appts>0</Appts>
<AvgFee>0</AvgFee>
<AvgServiceSec>0</AvgServiceSec>
<AvgWaitSec>0</AvgWaitSec>
<AvgWalkUpSec>0</AvgWalkUpSec>
<Called>0</Called>
<CalledUp>0</CalledUp>
<CancelledAtWindow>0</CancelledAtWindow>
<Checkins>0</Checkins>
<Contribution>0</Contribution>
<ExpectedFeesPerStaffedHour>0</ExpectedFeesPerStaffedHour>
<ExpectedServiceSec>0</ExpectedServiceSec>
<FeesEarned>0</FeesEarned>
<FeesPerStaffedHour>0</FeesPerStaffedHour>
<HourlyCost xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:decimal>0</d5p1:decimal>
</HourlyCost>
<HourlyFees xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:decimal>0</d5p1:decimal>
</HourlyFees>
<HourlyServed xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:int>0</d5p1:int>
</HourlyServed>
<IdleSec>0</IdleSec>
<IdleShare>0</IdleShare>
<LaborCost>0</LaborCost>
<LaborLocked>false</LaborLocked>
<LaborPartial>false</LaborPartial>
<LostFees>0</LostFees>
<LostNoShowFees>0</LostNoShowFees>
<MaxWaitSec>0</MaxWaitSec>
<MedianServiceSec>0</MedianServiceSec>
<MissingCost>
<SvcNamedTime>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Served>0</Served>
<SignedSec>0</SignedSec>
</SvcNamedTime>
</MissingCost>
<MissingCostEmployeeIds xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:guid>00000000-0000-0000-0000-000000000000</d5p1:guid>
</MissingCostEmployeeIds>
<Mix xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfguidint>
<d5p1:Key>00000000-0000-0000-0000-000000000000</d5p1:Key>
<d5p1:Value>0</d5p1:Value>
</d5p1:KeyValueOfguidint>
</Mix>
<NoShowRate>0</NoShowRate>
<NoShows>0</NoShows>
<OpenDays>0</OpenDays>
<PausedSec>0</PausedSec>
<PausedShare>0</PausedShare>
<Served>0</Served>
<ServingSec>0</ServingSec>
<Sessions>0</Sessions>
<SignedSec>0</SignedSec>
<Tints>
<SvcTint>
<BranchValue>0</BranchValue>
<Field>String</Field>
<Reason>String</Reason>
<Reference>0</Reference>
<Tone>String</Tone>
<Value>0</Value>
</SvcTint>
</Tints>
<UnstaffedSec>0</UnstaffedSec>
<Utilization>0</Utilization>
<Walkins>0</Walkins>
</Metrics>
<Name>String</Name>
<NeverStaffed>false</NeverStaffed>
<StationId>00000000-0000-0000-0000-000000000000</StationId>
</Window>
</Detail>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
</KpiV2DetailResponse>