Trendsic Platform Service

<back to all web services

DispatchRatesRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dispatch/rates
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 DispatchRateConfigView() = 
        member val FuelSurchargePct:Decimal = new Decimal() with get,set
        member val TransportPerMile:Decimal = new Decimal() with get,set
        member val TransportJobMin:Decimal = new Decimal() with get,set
        member val TransportEnclosedUpliftPct:Decimal = new Decimal() with get,set
        member val OdBase:Decimal = new Decimal() with get,set
        member val OdPerBag:Decimal = new Decimal() with get,set
        member val OdPremiumUpliftPct:Decimal = new Decimal() with get,set
        member val HaulBasis:String = null with get,set
        member val Facility:String = null with get,set
        member val Unit:String = null with get,set
        member val LoadQty:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type DispatchLaneRateView() = 
        member val DispatchSiteID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DispatchSupplierID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SourceLabel:String = null with get,set
        member val SupplierName:String = null with get,set
        member val DispatchLaneRateID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Miles:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RatePerTon:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RatePerLoad:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RatePerTonMile:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RatePerHour:Nullable<Decimal> = new Nullable<Decimal>() with get,set

    [<AllowNullLiteral>]
    type DispatchZoneRateView() = 
        member val Zone:String = null with get,set
        member val DispatchZoneRateID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Base:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PerBag:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PremiumUpliftPct:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Drivers:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type DispatchPayPlanView() = 
        member val DispatchPayPlanID:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Basis:String = null with get,set
        member val Rate:Decimal = new Decimal() with get,set
        member val Rate2:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val EffectiveDate:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val IsActive:Boolean = new Boolean() with get,set
        member val Drivers:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type DispatchRatesResponse() = 
        member val Config:DispatchRateConfigView = null with get,set
        member val Lanes:ResizeArray<DispatchLaneRateView> = new ResizeArray<DispatchLaneRateView>() with get,set
        member val Zones:ResizeArray<DispatchZoneRateView> = new ResizeArray<DispatchZoneRateView>() with get,set
        member val Plans:ResizeArray<DispatchPayPlanView> = new ResizeArray<DispatchPayPlanView>() with get,set
        member val Repriced:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StillNoRevenue:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StillNoPay:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type DispatchRatesRequest() = 
        class end

F# DispatchRatesRequest 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/dispatch/rates HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Config: 
	{
		FuelSurchargePct: 0,
		TransportPerMile: 0,
		TransportJobMin: 0,
		TransportEnclosedUpliftPct: 0,
		OdBase: 0,
		OdPerBag: 0,
		OdPremiumUpliftPct: 0,
		HaulBasis: String,
		Facility: String,
		Unit: String,
		LoadQty: 0
	},
	Lanes: 
	[
		{
			DispatchSiteID: 0,
			DispatchSupplierID: 0,
			SourceLabel: String,
			SupplierName: String,
			DispatchLaneRateID: 0,
			Miles: 0,
			RatePerTon: 0,
			RatePerLoad: 0,
			RatePerTonMile: 0,
			RatePerHour: 0
		}
	],
	Zones: 
	[
		{
			Zone: String,
			DispatchZoneRateID: 0,
			Base: 0,
			PerBag: 0,
			PremiumUpliftPct: 0,
			Drivers: 0
		}
	],
	Plans: 
	[
		{
			DispatchPayPlanID: 0,
			Name: String,
			Basis: String,
			Rate: 0,
			Rate2: 0,
			EffectiveDate: 0001-01-01,
			IsActive: False,
			Drivers: 0
		}
	],
	Repriced: 0,
	StillNoRevenue: 0,
	StillNoPay: 0,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}