| POST,OPTIONS | /v1/dashboard/dispatch |
|---|
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 DashboardStatTile() =
member val Key:String = null with get,set
member val Label:String = null with get,set
member val Value:Double = new Double() with get,set
member val PreviousValue:Nullable<Double> = new Nullable<Double>() with get,set
member val Unit:String = null with get,set
member val DeltaPct:Nullable<Double> = new Nullable<Double>() with get,set
[<AllowNullLiteral>]
type DispatchReportDayRow() =
member val Label:String = null with get,set
member val Loads:Int32 = new Int32() with get,set
member val Revenue:Double = new Double() with get,set
member val Pay:Double = new Double() with get,set
member val Qty:Double = new Double() with get,set
member val AvgCycleMins:Nullable<Double> = new Nullable<Double>() with get,set
[<AllowNullLiteral>]
type DispatchReportModuleRow() =
member val Module:String = null with get,set
member val Loads:Int32 = new Int32() with get,set
member val Qty:Double = new Double() with get,set
member val Revenue:Double = new Double() with get,set
member val Pay:Double = new Double() with get,set
[<AllowNullLiteral>]
type DispatchReportLaneRow() =
member val SupplierName:String = null with get,set
member val SourceLabel:String = null with get,set
member val Loads:Int32 = new Int32() with get,set
member val Qty:Double = new Double() with get,set
member val Revenue:Double = new Double() with get,set
member val AvgCycleMins:Nullable<Double> = new Nullable<Double>() with get,set
[<AllowNullLiteral>]
type DispatchReportTruckRow() =
member val TruckLabel:String = null with get,set
member val DriverLabel:String = null with get,set
member val Loads:Int32 = new Int32() with get,set
member val Qty:Double = new Double() with get,set
member val Revenue:Double = new Double() with get,set
member val Pay:Double = new Double() with get,set
member val AvgCycleMins:Nullable<Double> = new Nullable<Double>() with get,set
member val DaysActive:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type DispatchReportDriverRow() =
member val Driver:String = null with get,set
member val DriverContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
member val Loads:Int32 = new Int32() with get,set
member val Qty:Double = new Double() with get,set
member val Pay:Double = new Double() with get,set
member val DaysActive:Int32 = new Int32() with get,set
member val Unpriced:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type DispatchReportJobRow() =
member val JobCode:String = null with get,set
member val Customer:String = null with get,set
member val Cargo:String = null with get,set
member val Route:String = null with get,set
member val Miles:Int32 = new Int32() with get,set
member val Revenue:Nullable<Double> = new Nullable<Double>() with get,set
member val Pay:Nullable<Double> = new Nullable<Double>() with get,set
member val MarginPct:Nullable<Double> = new Nullable<Double>() with get,set
member val ClosedUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
[<AllowNullLiteral>]
type DispatchReportIncidentRow() =
member val Kind:String = null with get,set
member val Opened:Int32 = new Int32() with get,set
member val Resolved:Int32 = new Int32() with get,set
member val AvgResolveMins:Nullable<Double> = new Nullable<Double>() with get,set
[<AllowNullLiteral>]
type DispatchReportHoldRow() =
member val ScopeKind:String = null with get,set
member val Holds:Int32 = new Int32() with get,set
member val PausedMins:Int32 = new Int32() with get,set
member val Weather:Int32 = new Int32() with get,set
member val FromIncidents:Int32 = new Int32() with get,set
[<AllowNullLiteral>]
type DispatchReportResponse() =
member val Stats:ResizeArray<DashboardStatTile> = new ResizeArray<DashboardStatTile>() with get,set
member val Unit:String = null with get,set
member val Trend:ResizeArray<DispatchReportDayRow> = new ResizeArray<DispatchReportDayRow>() with get,set
member val ByModule:ResizeArray<DispatchReportModuleRow> = new ResizeArray<DispatchReportModuleRow>() with get,set
member val ByLane:ResizeArray<DispatchReportLaneRow> = new ResizeArray<DispatchReportLaneRow>() with get,set
member val ByTruck:ResizeArray<DispatchReportTruckRow> = new ResizeArray<DispatchReportTruckRow>() with get,set
member val ByDriver:ResizeArray<DispatchReportDriverRow> = new ResizeArray<DispatchReportDriverRow>() with get,set
member val Jobs:ResizeArray<DispatchReportJobRow> = new ResizeArray<DispatchReportJobRow>() with get,set
member val Incidents:ResizeArray<DispatchReportIncidentRow> = new ResizeArray<DispatchReportIncidentRow>() with get,set
member val Holds:ResizeArray<DispatchReportHoldRow> = new ResizeArray<DispatchReportHoldRow>() with get,set
member val ResponseStatus:ResponseStatus = null with get,set
[<AllowNullLiteral>]
type DispatchReportRequest() =
member val FromDate:DateTime = new DateTime() with get,set
member val ToDate:DateTime = new DateTime() with get,set
member val LocationIds:ResizeArray<Guid> = new ResizeArray<Guid>() with get,set
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.
POST /v1/dashboard/dispatch HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
FromDate: 0001-01-01,
ToDate: 0001-01-01,
LocationIds:
[
00000000000000000000000000000000
]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
Stats:
[
{
Key: String,
Label: String,
Value: 0,
PreviousValue: 0,
Unit: String
}
],
Unit: String,
Trend:
[
{
Label: String,
Loads: 0,
Revenue: 0,
Pay: 0,
Qty: 0,
AvgCycleMins: 0
}
],
ByModule:
[
{
Module: String,
Loads: 0,
Qty: 0,
Revenue: 0,
Pay: 0
}
],
ByLane:
[
{
SupplierName: String,
SourceLabel: String,
Loads: 0,
Qty: 0,
Revenue: 0,
AvgCycleMins: 0
}
],
ByTruck:
[
{
TruckLabel: String,
DriverLabel: String,
Loads: 0,
Qty: 0,
Revenue: 0,
Pay: 0,
AvgCycleMins: 0,
DaysActive: 0
}
],
ByDriver:
[
{
Driver: String,
DriverContactId: 0,
Loads: 0,
Qty: 0,
Pay: 0,
DaysActive: 0,
Unpriced: 0
}
],
Jobs:
[
{
JobCode: String,
Customer: String,
Cargo: String,
Route: String,
Miles: 0,
Revenue: 0,
Pay: 0,
MarginPct: 0,
ClosedUtc: 0001-01-01
}
],
Incidents:
[
{
Kind: String,
Opened: 0,
Resolved: 0,
AvgResolveMins: 0
}
],
Holds:
[
{
ScopeKind: String,
Holds: 0,
PausedMins: 0,
Weather: 0,
FromIncidents: 0
}
],
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}