Trendsic Platform Service

<back to all web services

KpiV2Request

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dashboard/kpiv2
KpiV2Request Parameters:
NameParameterData TypeRequiredDescription
FromDatebodyDateTimeNo
ToDatebodyDateTimeNo
LocationIdsbodyList<Guid>No
IncludeScopebodyboolNo
StateCodebodystringNo
ComparebodystringNo
KpiV2Response Parameters:
NameParameterData TypeRequiredDescription
ResponseStatusformResponseStatusNo
StatsformList<DashboardStatTile>No
TrendformList<DashboardSeries>No
ServicesByTypeformDashboardSeriesNo
LocationLeaderboardformList<KpiV2LocationRow>No
WorkerProductivityformList<KpiV2WorkerRow>No
HeatmapformList<KpiV2HeatPoint>No
LiveQueueformList<KpiV2LiveRow>No
ScopeformSvcScopeNo
DashboardStatTile Parameters:
NameParameterData TypeRequiredDescription
KeyformstringNo
LabelformstringNo
ValueformdoubleNo
PreviousValueformdouble?No
UnitformstringNo
DeltaPctformdouble?No
DashboardSeries Parameters:
NameParameterData TypeRequiredDescription
NameformstringNo
PointsformList<DashboardSeriesPoint>No
DashboardSeriesPoint Parameters:
NameParameterData TypeRequiredDescription
LabelformstringNo
ValueformdoubleNo
KpiV2LocationRow Parameters:
NameParameterData TypeRequiredDescription
LocationNameformstringNo
WalkinsformintNo
CompletedformintNo
AvgServiceMinutesformdoubleNo
AbandonmentPctformdoubleNo
KpiV2WorkerRow Parameters:
NameParameterData TypeRequiredDescription
WorkerNameformstringNo
CompletedformintNo
AvgServiceMinutesformdoubleNo
KpiV2HeatPoint Parameters:
NameParameterData TypeRequiredDescription
DowformintNo
HrformintNo
CntformintNo
KpiV2LiveRow Parameters:
NameParameterData TypeRequiredDescription
LocationNameformstringNo
WaitingformintNo
InProgressformintNo
SvcScope Parameters:
NameParameterData TypeRequiredDescription
StateCodeformstringNo
BranchesformList<SvcBranchRow>No
StatesformList<SvcStateRow>No
TotalformSvcMetricsNo
ComparisonformSvcComparisonNo
FeesByServiceformList<SvcServiceRow>No
ByHourformList<SvcHourRow>No
WorkersformList<SvcWorkerRow>No
MultiZoneformboolNo
MultiStateformboolNo
RecordingSinceUtcformDateTime?No
SessionsSinceUtcformDateTime?No
AlertsformList<SvcAlert>No
CanSeeStaffformboolNo
CanSeeFinancialformboolNo
CanSeePayformboolNo
SvcBranchRow Parameters:
NameParameterData TypeRequiredDescription
BranchIdformGuidNo
NameformstringNo
StateCodeformstringNo
ZoneCodeformstringNo
TimeZoneformstringNo
WindowsformintNo
RecordingSinceUtcformDateTime?No
SessionsSinceUtcformDateTime?No
MetricsformSvcMetricsNo
SvcMetrics Parameters:
NameParameterData TypeRequiredDescription
CheckinsformintNo
WalkinsformintNo
ApptsformintNo
ServedformintNo
NoShowsformintNo
ApptNoShowsformintNo
CancelledAtWindowformintNo
AbandonedformintNo
CalledformintNo
CalledUpformintNo
AbandonRateformdouble?No
NoShowRateformdouble?No
AvgServiceSecformdouble?No
MedianServiceSecformdouble?No
AvgWaitSecformdouble?No
MaxWaitSecformintNo
AvgWalkUpSecformdouble?No
ExpectedServiceSecformdouble?No
SignedSecformlongNo
ServingSecformlongNo
PausedSecformlongNo
IdleSecformlongNo
UnstaffedSecformlongNo
Utilizationformdouble?No
IdleShareformdouble?No
PausedShareformdouble?No
SessionsformintNo
OpenDaysformintNo
FeesEarnedformdecimal?No
AvgFeeformdecimal?No
FeesPerStaffedHourformdecimal?No
ExpectedFeesPerStaffedHourformdecimal?No
LaborCostformdecimal?No
LaborPartialformboolNo
MissingCostEmployeeIdsformList<Guid>No
MissingCostformList<SvcNamedTime>No
LaborLockedformboolNo
Contributionformdecimal?No
LostFeesformdecimal?No
LostNoShowFeesformdecimal?No
MixformDictionary<Guid, int>No
HourlyServedformint[]No
HourlyFeesformdecimal[]No
HourlyCostformdecimal[]No
TintsformList<SvcTint>No
SvcNamedTime Parameters:
NameParameterData TypeRequiredDescription
IdformGuidNo
NameformstringNo
SignedSecformlongNo
ServedformintNo
SvcTint Parameters:
NameParameterData TypeRequiredDescription
FieldformstringNo
ToneformstringNo
ReasonformstringNo
Valueformdouble?No
Referenceformdouble?No
BranchValueformdouble?No
SvcStateRow Parameters:
NameParameterData TypeRequiredDescription
StateCodeformstringNo
StateNameformstringNo
BranchesformintNo
MetricsformSvcMetricsNo
SvcComparison Parameters:
NameParameterData TypeRequiredDescription
ModeformstringNo
FromDateformDateTime?No
ToDateformDateTime?No
CutoffMinuteformint?No
HasDataformboolNo
MetricsformSvcMetricsNo
SvcServiceRow Parameters:
NameParameterData TypeRequiredDescription
LineIdformGuidNo
NameformstringNo
CompletedformintNo
AvgServiceSecformdouble?No
BranchAvgServiceSecformdouble?No
FeesEarnedformdecimal?No
FeeCurrentformdecimal?No
FeeMinformdecimal?No
FeeMaxformdecimal?No
FeePerMinuteformdecimal?No
BranchFeePerMinuteformdecimal?No
FeeChangesformList<SvcFeeChange>No
SvcFeeChange Parameters:
NameParameterData TypeRequiredDescription
LocationIdformGuidNo
OnDateformDateTimeNo
FromFeeformdecimalNo
ToFeeformdecimalNo
SvcHourRow Parameters:
NameParameterData TypeRequiredDescription
LocalHourformintNo
ServedformintNo
FeesEarnedformdecimal?No
CostToStaffformdecimal?No
SvcWorkerRow Parameters:
NameParameterData TypeRequiredDescription
EmployeeIdformGuidNo
BranchIdformGuidNo
BranchNameformstringNo
NameformstringNo
ServedformintNo
AvgServiceSecformdouble?No
Utilizationformdouble?No
SvcAlert Parameters:
NameParameterData TypeRequiredDescription
LevelformstringNo
ViewformstringNo
CodeformstringNo
StationIdformGuid?No
EmployeeIdformGuid?No
BranchIdformGuid?No
LineIdformGuid?No
NameformstringNo
OtherLineIdformGuid?No
OtherNameformstringNo
StationIdsformList<Guid>No
ValuesformDictionary<string, double>No

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

HTTP + JSV

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/jsv
Content-Type: text/jsv
Content-Length: length

{
	FromDate: 0001-01-01,
	ToDate: 0001-01-01,
	LocationIds: 
	[
		00000000000000000000000000000000
	],
	IncludeScope: False,
	StateCode: String,
	Compare: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
		}
	],
	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-01,
				SessionsSinceUtc: 0001-01-01,
				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-01,
			ToDate: 0001-01-01,
			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-01,
						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-01,
		SessionsSinceUtc: 0001-01-01,
		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
	}
}