| GET,OPTIONS | /v1/dashboards/executive |
|---|
namespace CRM.AgencyPlatform.API.Internal
open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations
[<AllowNullLiteral>]
type ExecKpi() =
member val Key:String = null with get,set
member val Label:String = null with get,set
member val Value:String = null with get,set
member val Sub_:String = null with get,set
member val Delta:String = null with get,set
member val DeltaUp:Boolean = new Boolean() with get,set
member val HasDelta:Boolean = new Boolean() with get,set
member val Good:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ExecCostCategory() =
member val Name:String = null with get,set
member val CostUSD:Double = new Double() with get,set
member val BilledUSD:Double = new Double() with get,set
[<AllowNullLiteral>]
type ExecMonthPoint() =
member val Month:String = null with get,set
member val RevenueUSD:Double = new Double() with get,set
member val CostUSD:Double = new Double() with get,set
[<AllowNullLiteral>]
type ExecBacklogYear() =
member val Year:String = null with get,set
member val ValueUSD:Double = new Double() with get,set
[<AllowNullLiteral>]
type ExecBacklog() =
member val TotalUSD:Double = new Double() with get,set
member val MonthsAhead:Double = new Double() with get,set
member val AwardsYtdUSD:Double = new Double() with get,set
member val BurnYtdUSD:Double = new Double() with get,set
member val ByYear:ResizeArray<ExecBacklogYear> = new ResizeArray<ExecBacklogYear>() with get,set
[<AllowNullLiteral>]
type ExecWipRow() =
member val ContractId:Int32 = new Int32() with get,set
member val Name:String = null with get,set
member val Owner:String = null with get,set
member val ValueUSD:Double = new Double() with get,set
member val PctComplete:Double = new Double() with get,set
member val BilledUSD:Double = new Double() with get,set
member val OverUnderUSD:Double = new Double() with get,set
member val MarginPct:Double = new Double() with get,set
member val FadePts:Double = new Double() with get,set
[<AllowNullLiteral>]
type ExecPipelineStage() =
member val Stage:String = null with get,set
member val ValueUSD:Double = new Double() with get,set
member val Count:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type ExecAgingBucket() =
member val Bucket:String = null with get,set
member val AmountUSD:Double = new Double() with get,set
member val IsRetainage:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ExecSafetyMetric() =
member val Label:String = null with get,set
member val Value:String = null with get,set
member val Sub_:String = null with get,set
member val Good:Boolean = new Boolean() with get,set
[<AllowNullLiteral>]
type ExecutiveDashboard() =
member val Period:String = null with get,set
member val FromDate:DateTime = new DateTime() with get,set
member val ToDate:DateTime = new DateTime() with get,set
member val Fy:Int32 = new Int32() with get,set
member val Kpis:ResizeArray<ExecKpi> = new ResizeArray<ExecKpi>() with get,set
member val CostVsBilling:ResizeArray<ExecCostCategory> = new ResizeArray<ExecCostCategory>() with get,set
member val Monthly:ResizeArray<ExecMonthPoint> = new ResizeArray<ExecMonthPoint>() with get,set
member val Backlog:ExecBacklog = null with get,set
member val Wip:ResizeArray<ExecWipRow> = new ResizeArray<ExecWipRow>() with get,set
member val Pipeline:ResizeArray<ExecPipelineStage> = new ResizeArray<ExecPipelineStage>() with get,set
member val WinRatePct:Double = new Double() with get,set
member val Receivables:ResizeArray<ExecAgingBucket> = new ResizeArray<ExecAgingBucket>() with get,set
member val RetainageUSD:Double = new Double() with get,set
member val DsoDays:Int32 = new Int32() with get,set
member val Safety:ResizeArray<ExecSafetyMetric> = new ResizeArray<ExecSafetyMetric>() with get,set
[<AllowNullLiteral>]
type ExecutiveDashboardResponse() =
member val ResponseStatus:ResponseStatus = null with get,set
member val Dashboard:ExecutiveDashboard = null with get,set
[<AllowNullLiteral>]
type ExecutiveDashboardRequest() =
member val Period:String = null with get,set
member val Region:String = null with get,set
member val Fy:Nullable<Int32> = new Nullable<Int32>() with get,set
F# ExecutiveDashboardRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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
}
]
}
}