Trendsic Platform Service

<back to all web services

LaborSalesSummaryRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/laborsales/summary
"use strict";
export class DayView {
    /** @param {{DateIso?:string,GrossSales?:number,TransactionCount?:number,LaborHours?:number,CostedHours?:number,LaborCost?:number,WorkerCount?:number,LaborPct?:number,Splh?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    DateIso;
    /** @type {number} */
    GrossSales;
    /** @type {number} */
    TransactionCount;
    /** @type {number} */
    LaborHours;
    /** @type {number} */
    CostedHours;
    /** @type {number} */
    LaborCost;
    /** @type {number} */
    WorkerCount;
    /** @type {?number} */
    LaborPct;
    /** @type {?number} */
    Splh;
}
export class LocationView {
    /** @param {{LocationId?:string,LocationName?:string,GrossSales?:number,TransactionCount?:number,SharePct?:number,BranchId?:string,BranchName?:string,LaborHours?:number,CostedHours?:number,LaborCost?:number,LaborPct?:number,Splh?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    LocationId;
    /** @type {string} */
    LocationName;
    /** @type {number} */
    GrossSales;
    /** @type {number} */
    TransactionCount;
    /** @type {?number} */
    SharePct;
    /** @type {string} */
    BranchId;
    /** @type {string} */
    BranchName;
    /** @type {?number} */
    LaborHours;
    /** @type {?number} */
    CostedHours;
    /** @type {?number} */
    LaborCost;
    /** @type {?number} */
    LaborPct;
    /** @type {?number} */
    Splh;
}
export class TotalsView {
    /** @param {{GrossSales?:number,TransactionCount?:number,LaborHours?:number,CostedHours?:number,LaborCost?:number,LaborPct?:number,Splh?:number,DaysWithSales?:number,DaysWithLabor?:number}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    GrossSales;
    /** @type {number} */
    TransactionCount;
    /** @type {number} */
    LaborHours;
    /** @type {number} */
    CostedHours;
    /** @type {number} */
    LaborCost;
    /** @type {?number} */
    LaborPct;
    /** @type {?number} */
    Splh;
    /** @type {number} */
    DaysWithSales;
    /** @type {number} */
    DaysWithLabor;
}
export class SummaryView {
    /** @param {{Configured?:boolean,Connected?:boolean,NeedsReconnect?:boolean,Currency?:string,Days?:DayView[],Locations?:LocationView[],Totals?:TotalsView,PriorTotals?:TotalsView,AttributionNote?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {boolean} */
    Configured;
    /** @type {boolean} */
    Connected;
    /** @type {boolean} */
    NeedsReconnect;
    /** @type {string} */
    Currency;
    /** @type {DayView[]} */
    Days = [];
    /** @type {LocationView[]} */
    Locations = [];
    /** @type {TotalsView} */
    Totals;
    /** @type {TotalsView} */
    PriorTotals;
    /** @type {string} */
    AttributionNote;
}
export class LaborSalesSummaryResponse {
    /** @param {{Summary?:SummaryView,FromDate?:string,ToDate?:string,ResponseStatus?:ResponseStatus}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {SummaryView} */
    Summary;
    /** @type {string} */
    FromDate;
    /** @type {string} */
    ToDate;
    /** @type {ResponseStatus} */
    ResponseStatus;
}
export class LaborSalesSummaryRequest {
    /** @param {{FromDate?:string,ToDate?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    FromDate;
    /** @type {string} */
    ToDate;
}

JavaScript LaborSalesSummaryRequest DTOs

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.

GET /v1/laborsales/summary HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Summary: 
	{
		Configured: False,
		Connected: False,
		NeedsReconnect: False,
		Currency: String,
		Days: 
		[
			{
				DateIso: String,
				GrossSales: 0,
				TransactionCount: 0,
				LaborHours: 0,
				CostedHours: 0,
				LaborCost: 0,
				WorkerCount: 0,
				LaborPct: 0,
				Splh: 0
			}
		],
		Locations: 
		[
			{
				LocationId: String,
				LocationName: String,
				GrossSales: 0,
				TransactionCount: 0,
				SharePct: 0,
				BranchId: String,
				BranchName: String,
				LaborHours: 0,
				CostedHours: 0,
				LaborCost: 0,
				LaborPct: 0,
				Splh: 0
			}
		],
		Totals: 
		{
			GrossSales: 0,
			TransactionCount: 0,
			LaborHours: 0,
			CostedHours: 0,
			LaborCost: 0,
			LaborPct: 0,
			Splh: 0,
			DaysWithSales: 0,
			DaysWithLabor: 0
		},
		PriorTotals: 
		{
			GrossSales: 0,
			TransactionCount: 0,
			LaborHours: 0,
			CostedHours: 0,
			LaborCost: 0,
			LaborPct: 0,
			Splh: 0,
			DaysWithSales: 0,
			DaysWithLabor: 0
		},
		AttributionNote: String
	},
	FromDate: String,
	ToDate: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}