/* Options: Date: 2026-10-16 01:07:27 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: KpiV2BranchRequest.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class SvcNamedTime { public Id: string; public Name: string; public SignedSec: number; public Served: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcTint { public Field: string; public Tone: string; public Reason: string; public Value?: number; public Reference?: number; public BranchValue?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcMetrics { public Checkins: number; public Walkins: number; public Appts: number; public Served: number; public NoShows: number; public ApptNoShows: number; public CancelledAtWindow: number; public Abandoned: number; public Called: number; public CalledUp: number; public AbandonRate?: number; public NoShowRate?: number; public AvgServiceSec?: number; public MedianServiceSec?: number; public AvgWaitSec?: number; public MaxWaitSec: number; public AvgWalkUpSec?: number; public ExpectedServiceSec?: number; public SignedSec: number; public ServingSec: number; public PausedSec: number; public IdleSec: number; public UnstaffedSec: number; public Utilization?: number; public IdleShare?: number; public PausedShare?: number; public Sessions: number; public OpenDays: number; public FeesEarned?: number; public AvgFee?: number; public FeesPerStaffedHour?: number; public ExpectedFeesPerStaffedHour?: number; public LaborCost?: number; public LaborPartial: boolean; public MissingCostEmployeeIds: string[] = []; public MissingCost: SvcNamedTime[] = []; public LaborLocked: boolean; public Contribution?: number; public LostFees?: number; public LostNoShowFees?: number; public Mix: { [index:string]: number; } = {}; public HourlyServed: number[] = []; public HourlyFees: number[] = []; public HourlyCost: number[] = []; public Tints: SvcTint[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcBranchRow { public BranchId: string; public Name: string; public StateCode: string; public ZoneCode: string; public TimeZone: string; public Windows: number; public RecordingSinceUtc?: string; public SessionsSinceUtc?: string; public Metrics: SvcMetrics; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcWindowRow { public StationId: string; public Name: string; public Clerks: SvcNamedTime[] = []; public NeverStaffed: boolean; public LastStaffedUtc?: string; public LastStaffedBy: string; public Metrics: SvcMetrics; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcClerkRow { public EmployeeId: string; public Name: string; public Windows: SvcNamedTime[] = []; public LoadedRate?: number; public RateSet: boolean; public RateLocked: boolean; public Metrics: SvcMetrics; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcAverage { public Count: number; public Served: number; public AvgServiceSec?: number; public MedianServiceSec?: number; public AvgWaitSec?: number; public Utilization?: number; public IdleSec: number; public PausedSec: number; public NoShows: number; public SignedSec: number; public FeesEarned?: number; public FeesPerStaffedHour?: number; public LaborCost?: number; public Contribution?: number; public LostNoShowFees?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcComparison { public Mode: string; public FromDate?: string; public ToDate?: string; public CutoffMinute?: number; public HasData: boolean; public Metrics: SvcMetrics; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcCoverageBucket { public ServingPct: number; public IdlePct: number; public PausedPct: number; public UnstaffedPct: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcCoverageRow { public StationId: string; public Name: string; public Buckets: SvcCoverageBucket[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcCoverage { public StartLocalMinute: number; public BucketMinutes: number; public Rows: SvcCoverageRow[] = []; public InLine: number[] = []; public GapBands: number[][] = []; public Days: number; public NotRecorded: boolean; public FutureFromIndex?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcFeeChange { public LocationId: string; public OnDate: string; public FromFee: number; public ToFee: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcServiceRow { public LineId: string; public Name: string; public Completed: number; public AvgServiceSec?: number; public BranchAvgServiceSec?: number; public FeesEarned?: number; public FeeCurrent?: number; public FeeMin?: number; public FeeMax?: number; public FeePerMinute?: number; public BranchFeePerMinute?: number; public FeeChanges: SvcFeeChange[] = []; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcHourRow { public LocalHour: number; public Served: number; public FeesEarned?: number; public CostToStaff?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcAlert { public Level: string; public View: string; public Code: string; public StationId?: string; public EmployeeId?: string; public BranchId?: string; public LineId?: string; public Name: string; public OtherLineId?: string; public OtherName: string; public StationIds: string[] = []; public Values: { [index:string]: number; } = {}; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SvcBranchDetail { public Branch: SvcBranchRow; public Windows: SvcWindowRow[] = []; public Clerks: SvcClerkRow[] = []; public Unassigned: SvcMetrics; public NoClerk: SvcMetrics; public PerWindowAverage: SvcAverage; public PerClerkAverage: SvcAverage; public OpenDays: number; public IsLive: boolean; public Comparison: SvcComparison; public Coverage: SvcCoverage; public Services: SvcServiceRow[] = []; public ByHour: SvcHourRow[] = []; public Alerts: SvcAlert[] = []; public TotalsAgree: boolean; public CanSeeStaff: boolean; public CanSeeFinancial: boolean; public CanSeePay: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[] = []; // @DataMember(Order=5) public Meta: { [index:string]: string; } = {}; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class KpiV2BranchResponse { public ResponseStatus: ResponseStatus; public Branch: SvcBranchDetail; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/v1/dashboard/kpiv2/branch", "POST,OPTIONS") export class KpiV2BranchRequest implements IReturn { public BranchId: string; public FromDate: string; public ToDate: string; public Compare: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'KpiV2BranchRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new KpiV2BranchResponse(); } }