| POST,OPTIONS | /v1/dashboard/kpiv2 |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DashboardStatTile:
key: Optional[str] = None
label: Optional[str] = None
value: float = 0.0
previous_value: Optional[float] = None
unit: Optional[str] = None
delta_pct: Optional[float] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DashboardSeriesPoint:
label: Optional[str] = None
value: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DashboardSeries:
name: Optional[str] = None
points: List[DashboardSeriesPoint] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2LocationRow:
location_name: Optional[str] = None
walkins: int = 0
completed: int = 0
avg_service_minutes: float = 0.0
abandonment_pct: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2WorkerRow:
worker_name: Optional[str] = None
completed: int = 0
avg_service_minutes: float = 0.0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2HeatPoint:
dow: int = 0
hr: int = 0
cnt: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2LiveRow:
location_name: Optional[str] = None
waiting: int = 0
in_progress: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcNamedTime:
id: Optional[str] = None
name: Optional[str] = None
signed_sec: int = 0
served: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcTint:
field: Optional[str] = None
tone: Optional[str] = None
reason: Optional[str] = None
value: Optional[float] = None
reference: Optional[float] = None
branch_value: Optional[float] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcMetrics:
checkins: int = 0
walkins: int = 0
appts: int = 0
served: int = 0
no_shows: int = 0
appt_no_shows: int = 0
cancelled_at_window: int = 0
abandoned: int = 0
called: int = 0
called_up: int = 0
abandon_rate: Optional[float] = None
no_show_rate: Optional[float] = None
avg_service_sec: Optional[float] = None
median_service_sec: Optional[float] = None
avg_wait_sec: Optional[float] = None
max_wait_sec: int = 0
avg_walk_up_sec: Optional[float] = None
expected_service_sec: Optional[float] = None
signed_sec: int = 0
serving_sec: int = 0
paused_sec: int = 0
idle_sec: int = 0
unstaffed_sec: int = 0
utilization: Optional[float] = None
idle_share: Optional[float] = None
paused_share: Optional[float] = None
sessions: int = 0
open_days: int = 0
fees_earned: Optional[Decimal] = None
avg_fee: Optional[Decimal] = None
fees_per_staffed_hour: Optional[Decimal] = None
expected_fees_per_staffed_hour: Optional[Decimal] = None
labor_cost: Optional[Decimal] = None
labor_partial: bool = False
missing_cost_employee_ids: List[str] = field(default_factory=list)
missing_cost: List[SvcNamedTime] = field(default_factory=list)
labor_locked: bool = False
contribution: Optional[Decimal] = None
lost_fees: Optional[Decimal] = None
lost_no_show_fees: Optional[Decimal] = None
mix: Dict[str, int] = field(default_factory=dict)
hourly_served: List[int] = field(default_factory=list)
hourly_fees: List[Decimal] = field(default_factory=list)
hourly_cost: List[Decimal] = field(default_factory=list)
tints: List[SvcTint] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcBranchRow:
branch_id: Optional[str] = None
name: Optional[str] = None
state_code: Optional[str] = None
zone_code: Optional[str] = None
time_zone: Optional[str] = None
windows: int = 0
recording_since_utc: Optional[datetime.datetime] = None
sessions_since_utc: Optional[datetime.datetime] = None
metrics: Optional[SvcMetrics] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcStateRow:
state_code: Optional[str] = None
state_name: Optional[str] = None
branches: int = 0
metrics: Optional[SvcMetrics] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcComparison:
mode: Optional[str] = None
from_date: Optional[datetime.datetime] = None
to_date: Optional[datetime.datetime] = None
cutoff_minute: Optional[int] = None
has_data: bool = False
metrics: Optional[SvcMetrics] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcFeeChange:
location_id: Optional[str] = None
on_date: datetime.datetime = datetime.datetime(1, 1, 1)
from_fee: Decimal = decimal.Decimal(0)
to_fee: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcServiceRow:
line_id: Optional[str] = None
name: Optional[str] = None
completed: int = 0
avg_service_sec: Optional[float] = None
branch_avg_service_sec: Optional[float] = None
fees_earned: Optional[Decimal] = None
fee_current: Optional[Decimal] = None
fee_min: Optional[Decimal] = None
fee_max: Optional[Decimal] = None
fee_per_minute: Optional[Decimal] = None
branch_fee_per_minute: Optional[Decimal] = None
fee_changes: List[SvcFeeChange] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcHourRow:
local_hour: int = 0
served: int = 0
fees_earned: Optional[Decimal] = None
cost_to_staff: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcWorkerRow:
employee_id: Optional[str] = None
branch_id: Optional[str] = None
branch_name: Optional[str] = None
name: Optional[str] = None
served: int = 0
avg_service_sec: Optional[float] = None
utilization: Optional[float] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcAlert:
level: Optional[str] = None
view: Optional[str] = None
code: Optional[str] = None
station_id: Optional[str] = None
employee_id: Optional[str] = None
branch_id: Optional[str] = None
line_id: Optional[str] = None
name: Optional[str] = None
other_line_id: Optional[str] = None
other_name: Optional[str] = None
station_ids: List[str] = field(default_factory=list)
values: Dict[str, float] = field(default_factory=dict)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SvcScope:
state_code: Optional[str] = None
branches: List[SvcBranchRow] = field(default_factory=list)
states: List[SvcStateRow] = field(default_factory=list)
total: Optional[SvcMetrics] = None
comparison: Optional[SvcComparison] = None
fees_by_service: List[SvcServiceRow] = field(default_factory=list)
by_hour: List[SvcHourRow] = field(default_factory=list)
workers: List[SvcWorkerRow] = field(default_factory=list)
multi_zone: bool = False
multi_state: bool = False
recording_since_utc: Optional[datetime.datetime] = None
sessions_since_utc: Optional[datetime.datetime] = None
alerts: List[SvcAlert] = field(default_factory=list)
can_see_staff: bool = False
can_see_financial: bool = False
can_see_pay: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2Response:
response_status: Optional[ResponseStatus] = None
stats: List[DashboardStatTile] = field(default_factory=list)
trend: List[DashboardSeries] = field(default_factory=list)
services_by_type: Optional[DashboardSeries] = None
location_leaderboard: List[KpiV2LocationRow] = field(default_factory=list)
worker_productivity: List[KpiV2WorkerRow] = field(default_factory=list)
heatmap: List[KpiV2HeatPoint] = field(default_factory=list)
live_queue: List[KpiV2LiveRow] = field(default_factory=list)
scope: Optional[SvcScope] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class KpiV2Request:
from_date: datetime.datetime = datetime.datetime(1, 1, 1)
to_date: datetime.datetime = datetime.datetime(1, 1, 1)
location_ids: List[str] = field(default_factory=list)
include_scope: bool = False
state_code: Optional[str] = None
compare: Optional[str] = None
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 HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<KpiV2Request xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Compare>String</Compare>
<FromDate>0001-01-01T00:00:00</FromDate>
<IncludeScope>false</IncludeScope>
<LocationIds xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:guid>00000000-0000-0000-0000-000000000000</d2p1:guid>
</LocationIds>
<StateCode>String</StateCode>
<ToDate>0001-01-01T00:00:00</ToDate>
</KpiV2Request>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<KpiV2Response xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Heatmap>
<KpiV2HeatPoint>
<Cnt>0</Cnt>
<Dow>0</Dow>
<Hr>0</Hr>
</KpiV2HeatPoint>
</Heatmap>
<LiveQueue>
<KpiV2LiveRow>
<InProgress>0</InProgress>
<LocationName>String</LocationName>
<Waiting>0</Waiting>
</KpiV2LiveRow>
</LiveQueue>
<LocationLeaderboard>
<KpiV2LocationRow>
<AbandonmentPct>0</AbandonmentPct>
<AvgServiceMinutes>0</AvgServiceMinutes>
<Completed>0</Completed>
<LocationName>String</LocationName>
<Walkins>0</Walkins>
</KpiV2LocationRow>
</LocationLeaderboard>
<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>
<Scope>
<Alerts>
<SvcAlert>
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<Code>String</Code>
<EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
<Level>String</Level>
<LineId>00000000-0000-0000-0000-000000000000</LineId>
<Name>String</Name>
<OtherLineId>00000000-0000-0000-0000-000000000000</OtherLineId>
<OtherName>String</OtherName>
<StationId>00000000-0000-0000-0000-000000000000</StationId>
<StationIds xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:guid>00000000-0000-0000-0000-000000000000</d5p1:guid>
</StationIds>
<Values xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringdouble>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>0</d5p1:Value>
</d5p1:KeyValueOfstringdouble>
</Values>
<View>String</View>
</SvcAlert>
</Alerts>
<Branches>
<SvcBranchRow>
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:decimal>0</d6p1:decimal>
</HourlyCost>
<HourlyFees xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:decimal>0</d6p1:decimal>
</HourlyFees>
<HourlyServed xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:int>0</d6p1: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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:guid>00000000-0000-0000-0000-000000000000</d6p1:guid>
</MissingCostEmployeeIds>
<Mix xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfguidint>
<d6p1:Key>00000000-0000-0000-0000-000000000000</d6p1:Key>
<d6p1:Value>0</d6p1:Value>
</d6p1: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>
<RecordingSinceUtc>0001-01-01T00:00:00</RecordingSinceUtc>
<SessionsSinceUtc>0001-01-01T00:00:00</SessionsSinceUtc>
<StateCode>String</StateCode>
<TimeZone>String</TimeZone>
<Windows>0</Windows>
<ZoneCode>String</ZoneCode>
</SvcBranchRow>
</Branches>
<ByHour>
<SvcHourRow>
<CostToStaff>0</CostToStaff>
<FeesEarned>0</FeesEarned>
<LocalHour>0</LocalHour>
<Served>0</Served>
</SvcHourRow>
</ByHour>
<CanSeeFinancial>false</CanSeeFinancial>
<CanSeePay>false</CanSeePay>
<CanSeeStaff>false</CanSeeStaff>
<Comparison>
<CutoffMinute>0</CutoffMinute>
<FromDate>0001-01-01T00:00:00</FromDate>
<HasData>false</HasData>
<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>
<Mode>String</Mode>
<ToDate>0001-01-01T00:00:00</ToDate>
</Comparison>
<FeesByService>
<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>
</FeesByService>
<MultiState>false</MultiState>
<MultiZone>false</MultiZone>
<RecordingSinceUtc>0001-01-01T00:00:00</RecordingSinceUtc>
<SessionsSinceUtc>0001-01-01T00:00:00</SessionsSinceUtc>
<StateCode>String</StateCode>
<States>
<SvcStateRow>
<Branches>0</Branches>
<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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:decimal>0</d6p1:decimal>
</HourlyCost>
<HourlyFees xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:decimal>0</d6p1:decimal>
</HourlyFees>
<HourlyServed xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:int>0</d6p1: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:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:guid>00000000-0000-0000-0000-000000000000</d6p1:guid>
</MissingCostEmployeeIds>
<Mix xmlns:d6p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d6p1:KeyValueOfguidint>
<d6p1:Key>00000000-0000-0000-0000-000000000000</d6p1:Key>
<d6p1:Value>0</d6p1:Value>
</d6p1: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>
<StateCode>String</StateCode>
<StateName>String</StateName>
</SvcStateRow>
</States>
<Total>
<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>
</Total>
<Workers>
<SvcWorkerRow>
<AvgServiceSec>0</AvgServiceSec>
<BranchId>00000000-0000-0000-0000-000000000000</BranchId>
<BranchName>String</BranchName>
<EmployeeId>00000000-0000-0000-0000-000000000000</EmployeeId>
<Name>String</Name>
<Served>0</Served>
<Utilization>0</Utilization>
</SvcWorkerRow>
</Workers>
</Scope>
<ServicesByType>
<Name>String</Name>
<Points>
<DashboardSeriesPoint>
<Label>String</Label>
<Value>0</Value>
</DashboardSeriesPoint>
</Points>
</ServicesByType>
<Stats>
<DashboardStatTile>
<Key>String</Key>
<Label>String</Label>
<PreviousValue>0</PreviousValue>
<Unit>String</Unit>
<Value>0</Value>
</DashboardStatTile>
</Stats>
<Trend>
<DashboardSeries>
<Name>String</Name>
<Points>
<DashboardSeriesPoint>
<Label>String</Label>
<Value>0</Value>
</DashboardSeriesPoint>
</Points>
</DashboardSeries>
</Trend>
<WorkerProductivity>
<KpiV2WorkerRow>
<AvgServiceMinutes>0</AvgServiceMinutes>
<Completed>0</Completed>
<WorkerName>String</WorkerName>
</KpiV2WorkerRow>
</WorkerProductivity>
</KpiV2Response>