Trendsic Platform Service

<back to all web services

CourierRunBuildRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/runs
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 CourierItemView() = 
        member val CourierItemID:Int32 = new Int32() with get,set
        member val DispatchOdRequestID:Int32 = new Int32() with get,set
        member val Seq:Int32 = new Int32() with get,set
        member val TagCode:String = null with get,set
        member val Custody:String = null with get,set
        member val IsOpen:Boolean = new Boolean() with get,set
        member val IsMissing:Boolean = new Boolean() with get,set
        member val MissingReason:String = null with get,set
        member val IsManual:Boolean = new Boolean() with get,set
        member val ReTagFlag:Boolean = new Boolean() with get,set
        member val Scanned:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierStopView() = 
        member val Sequence:Int32 = new Int32() with get,set
        member val Status:String = null with get,set
        member val DispatchOdRequestID:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val CourierStep:String = null with get,set
        member val Address:String = null with get,set
        member val Unit:String = null with get,set
        member val City:String = null with get,set
        member val Zip:String = null with get,set
        member val Lat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Lng:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CustomerName:String = null with get,set
        member val CustomerPhone:String = null with get,set
        member val Handoff:String = null with get,set
        member val GateCode:String = null with get,set
        member val Instructions:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val DueText:String = null with get,set
        member val Note:String = null with get,set
        member val Needs:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Items:ResizeArray<CourierItemView> = new ResizeArray<CourierItemView>() with get,set

    [<AllowNullLiteral>]
    type CourierRunView() = 
        member val CourierRunID:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val Status:String = null with get,set
        member val CourierProfileId:Int32 = new Int32() with get,set
        member val ProfileName:String = null with get,set
        member val CourierFacilityId:Int32 = new Int32() with get,set
        member val FacilityName:String = null with get,set
        member val FacilityAddress:String = null with get,set
        member val DriverContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DriverName:String = null with get,set
        member val EquipmentID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val VehicleUnit:String = null with get,set
        member val UnitOne:String = null with get,set
        member val UnitMany:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val StopCount:Int32 = new Int32() with get,set
        member val StopsDone:Int32 = new Int32() with get,set
        member val Pay:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val BuiltUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val StartedUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val CompletedUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val ToLoad:Int32 = new Int32() with get,set
        member val ToReturn:Int32 = new Int32() with get,set
        member val Stops:ResizeArray<CourierStopView> = new ResizeArray<CourierStopView>() with get,set

    [<AllowNullLiteral>]
    type CourierRunResponse() = 
        member val Runs:ResizeArray<CourierRunView> = new ResizeArray<CourierRunView>() with get,set
        member val Run:CourierRunView = null with get,set
        member val Message:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CourierRunBuildRequest() = 
        member val ProfileId:Int32 = new Int32() with get,set
        member val FacilityCode:String = null with get,set
        member val Codes:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val DriverContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val EquipmentID:Nullable<Int32> = new Nullable<Int32>() with get,set

F# CourierRunBuildRequest 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.

POST /v1/dispatch/courier/runs HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ProfileId: 0,
	FacilityCode: String,
	Codes: 
	[
		String
	],
	DriverContactId: 0,
	EquipmentID: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Runs: 
	[
		{
			CourierRunID: 0,
			Code: String,
			Status: String,
			CourierProfileId: 0,
			ProfileName: String,
			CourierFacilityId: 0,
			FacilityName: String,
			FacilityAddress: String,
			DriverContactId: 0,
			DriverName: String,
			EquipmentID: 0,
			VehicleUnit: String,
			UnitOne: String,
			UnitMany: String,
			Units: 0,
			StopCount: 0,
			StopsDone: 0,
			Pay: 0,
			BuiltUtc: 0001-01-01,
			StartedUtc: 0001-01-01,
			CompletedUtc: 0001-01-01,
			ToLoad: 0,
			ToReturn: 0,
			Stops: 
			[
				{
					Sequence: 0,
					Status: String,
					DispatchOdRequestID: 0,
					Code: String,
					CourierStep: String,
					Address: String,
					Unit: String,
					City: String,
					Zip: String,
					Lat: 0,
					Lng: 0,
					CustomerName: String,
					CustomerPhone: String,
					Handoff: String,
					GateCode: String,
					Instructions: String,
					Units: 0,
					DueText: String,
					Note: String,
					Needs: 
					[
						String
					],
					Items: 
					[
						{
							CourierItemID: 0,
							DispatchOdRequestID: 0,
							Seq: 0,
							TagCode: String,
							Custody: String,
							IsOpen: False,
							IsMissing: False,
							MissingReason: String,
							IsManual: False,
							ReTagFlag: False,
							Scanned: False
						}
					]
				}
			]
		}
	],
	Run: 
	{
		CourierRunID: 0,
		Code: String,
		Status: String,
		CourierProfileId: 0,
		ProfileName: String,
		CourierFacilityId: 0,
		FacilityName: String,
		FacilityAddress: String,
		DriverContactId: 0,
		DriverName: String,
		EquipmentID: 0,
		VehicleUnit: String,
		UnitOne: String,
		UnitMany: String,
		Units: 0,
		StopCount: 0,
		StopsDone: 0,
		Pay: 0,
		BuiltUtc: 0001-01-01,
		StartedUtc: 0001-01-01,
		CompletedUtc: 0001-01-01,
		ToLoad: 0,
		ToReturn: 0,
		Stops: 
		[
			{
				Sequence: 0,
				Status: String,
				DispatchOdRequestID: 0,
				Code: String,
				CourierStep: String,
				Address: String,
				Unit: String,
				City: String,
				Zip: String,
				Lat: 0,
				Lng: 0,
				CustomerName: String,
				CustomerPhone: String,
				Handoff: String,
				GateCode: String,
				Instructions: String,
				Units: 0,
				DueText: String,
				Note: String,
				Needs: 
				[
					String
				],
				Items: 
				[
					{
						CourierItemID: 0,
						DispatchOdRequestID: 0,
						Seq: 0,
						TagCode: String,
						Custody: String,
						IsOpen: False,
						IsMissing: False,
						MissingReason: String,
						IsManual: False,
						ReTagFlag: False,
						Scanned: False
					}
				]
			}
		]
	},
	Message: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}