Trendsic Platform Service

<back to all web services

ExecutiveDashboardRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dashboards/executive
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 ExecAgingBucket
    {
        public virtual string Bucket { get; set; }
        public virtual double AmountUSD { get; set; }
        public virtual bool IsRetainage { get; set; }
    }

    public partial class ExecBacklog
    {
        public virtual double TotalUSD { get; set; }
        public virtual double MonthsAhead { get; set; }
        public virtual double AwardsYtdUSD { get; set; }
        public virtual double BurnYtdUSD { get; set; }
        public virtual List<ExecBacklogYear> ByYear { get; set; } = [];
    }

    public partial class ExecBacklogYear
    {
        public virtual string Year { get; set; }
        public virtual double ValueUSD { get; set; }
    }

    public partial class ExecCostCategory
    {
        public virtual string Name { get; set; }
        public virtual double CostUSD { get; set; }
        public virtual double BilledUSD { get; set; }
    }

    public partial class ExecKpi
    {
        public virtual string Key { get; set; }
        public virtual string Label { get; set; }
        public virtual string Value { get; set; }
        public virtual string Sub_ { get; set; }
        public virtual string Delta { get; set; }
        public virtual bool DeltaUp { get; set; }
        public virtual bool HasDelta { get; set; }
        public virtual bool Good { get; set; }
    }

    public partial class ExecMonthPoint
    {
        public virtual string Month { get; set; }
        public virtual double RevenueUSD { get; set; }
        public virtual double CostUSD { get; set; }
    }

    public partial class ExecPipelineStage
    {
        public virtual string Stage { get; set; }
        public virtual double ValueUSD { get; set; }
        public virtual int Count { get; set; }
    }

    public partial class ExecSafetyMetric
    {
        public virtual string Label { get; set; }
        public virtual string Value { get; set; }
        public virtual string Sub_ { get; set; }
        public virtual bool Good { get; set; }
    }

    public partial class ExecutiveDashboard
    {
        public virtual string Period { get; set; }
        public virtual DateTime FromDate { get; set; }
        public virtual DateTime ToDate { get; set; }
        public virtual int Fy { get; set; }
        public virtual List<ExecKpi> Kpis { get; set; } = [];
        public virtual List<ExecCostCategory> CostVsBilling { get; set; } = [];
        public virtual List<ExecMonthPoint> Monthly { get; set; } = [];
        public virtual ExecBacklog Backlog { get; set; }
        public virtual List<ExecWipRow> Wip { get; set; } = [];
        public virtual List<ExecPipelineStage> Pipeline { get; set; } = [];
        public virtual double WinRatePct { get; set; }
        public virtual List<ExecAgingBucket> Receivables { get; set; } = [];
        public virtual double RetainageUSD { get; set; }
        public virtual int DsoDays { get; set; }
        public virtual List<ExecSafetyMetric> Safety { get; set; } = [];
    }

    public partial class ExecutiveDashboardRequest
    {
        public virtual string Period { get; set; }
        public virtual string Region { get; set; }
        public virtual int? Fy { get; set; }
    }

    public partial class ExecutiveDashboardResponse
    {
        public virtual ResponseStatus ResponseStatus { get; set; }
        public virtual ExecutiveDashboard Dashboard { get; set; }
    }

    public partial class ExecWipRow
    {
        public virtual int ContractId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Owner { get; set; }
        public virtual double ValueUSD { get; set; }
        public virtual double PctComplete { get; set; }
        public virtual double BilledUSD { get; set; }
        public virtual double OverUnderUSD { get; set; }
        public virtual double MarginPct { get; set; }
        public virtual double FadePts { get; set; }
    }

}

C# ExecutiveDashboardRequest 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/dashboards/executive HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
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
		}
	},
	Dashboard: 
	{
		Period: String,
		FromDate: 0001-01-01,
		ToDate: 0001-01-01,
		Fy: 0,
		Kpis: 
		[
			{
				Key: String,
				Label: String,
				Value: String,
				Sub_: String,
				Delta: String,
				DeltaUp: False,
				HasDelta: False,
				Good: False
			}
		],
		CostVsBilling: 
		[
			{
				Name: String,
				CostUSD: 0,
				BilledUSD: 0
			}
		],
		Monthly: 
		[
			{
				Month: String,
				RevenueUSD: 0,
				CostUSD: 0
			}
		],
		Backlog: 
		{
			TotalUSD: 0,
			MonthsAhead: 0,
			AwardsYtdUSD: 0,
			BurnYtdUSD: 0,
			ByYear: 
			[
				{
					Year: String,
					ValueUSD: 0
				}
			]
		},
		Wip: 
		[
			{
				ContractId: 0,
				Name: String,
				Owner: String,
				ValueUSD: 0,
				PctComplete: 0,
				BilledUSD: 0,
				OverUnderUSD: 0,
				MarginPct: 0,
				FadePts: 0
			}
		],
		Pipeline: 
		[
			{
				Stage: String,
				ValueUSD: 0,
				Count: 0
			}
		],
		WinRatePct: 0,
		Receivables: 
		[
			{
				Bucket: String,
				AmountUSD: 0,
				IsRetainage: False
			}
		],
		RetainageUSD: 0,
		DsoDays: 0,
		Safety: 
		[
			{
				Label: String,
				Value: String,
				Sub_: String,
				Good: False
			}
		]
	}
}