Trendsic Platform Service

<back to all web services

CourierStartNextRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/worker/dispatch/od/queue/start-next
POST,OPTIONS/v1/worker/dispatch/od/{Code}/start
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 CourierVanView() = 
        member val State:String = null with get,set
        member val LeaveByUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val LeaveByText:String = null with get,set
        member val SlackMin:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val InVan:Int32 = new Int32() with get,set
        member val Committed:Int32 = new Int32() with get,set
        member val Cap:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val CapUnit:String = null with get,set
        member val VehicleUnit:String = null with get,set
        member val CriticalCode:String = null with get,set
        member val DriveMin:Int32 = new Int32() with get,set
        member val FacilityName:String = null with get,set
        member val SendNote:String = null with get,set

    [<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 CourierDriverOrder() = 
        member val Code:String = null with get,set
        member val CourierStep:String = null with get,set
        member val RouteShape:String = null with get,set
        member val ProfileName:String = null with get,set
        member val UnitOne:String = null with get,set
        member val UnitMany:String = null with get,set
        member val FacilityNoun:String = null with get,set
        member val FacilityName:String = null with get,set
        member val LevelName:String = null with get,set
        member val DueUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val DueText:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val UnitsFound:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Area:String = null with get,set
        member val Minutes:Nullable<Int32> = new Nullable<Int32>() 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 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 DropoffAddress:String = null with get,set
        member val DropoffContactName:String = null with get,set
        member val DropLat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DropLng:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val ArrivedUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Tags:ResizeArray<CourierItemView> = new ResizeArray<CourierItemView>() with get,set
        member val Proof:Dictionary<String, String> = new Dictionary<String, String>() with get,set
        member val Photos:Dictionary<String, Int32> = new Dictionary<String, Int32>() with get,set
        member val Needs:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val MissedWaitMin:Int32 = new Int32() with get,set
        member val MissedRequireContact:Boolean = new Boolean() with get,set
        member val MissedRequirePhoto:Boolean = new Boolean() with get,set
        member val MissedFee:Decimal = new Decimal() 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 CourierDriverView() = 
        member val DriverCode:String = null with get,set
        member val Name:String = null with get,set
        member val Online:Boolean = new Boolean() with get,set
        member val OnRoster:Boolean = new Boolean() with get,set
        member val Van:CourierVanView = null with get,set
        member val Current:CourierDriverOrder = null with get,set
        member val Queue:ResizeArray<CourierDriverOrder> = new ResizeArray<CourierDriverOrder>() with get,set
        member val Aboard:ResizeArray<CourierDriverOrder> = new ResizeArray<CourierDriverOrder>() with get,set
        member val Runs:ResizeArray<CourierRunView> = new ResizeArray<CourierRunView>() with get,set
        member val UpNext:CourierDriverOrder = null with get,set

    [<AllowNullLiteral>]
    type CourierDriverResponse() = 
        member val Courier:CourierDriverView = null with get,set
        member val Result:String = null with get,set
        member val Detail:String = null with get,set
        member val Message:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CourierStartNextRequest() = 
        member val Code:String = null with get,set

F# CourierStartNextRequest 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/worker/dispatch/od/queue/start-next HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Code: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Courier: 
	{
		DriverCode: String,
		Name: String,
		Online: False,
		OnRoster: False,
		Van: 
		{
			State: String,
			LeaveByUtc: 0001-01-01,
			LeaveByText: String,
			SlackMin: 0,
			InVan: 0,
			Committed: 0,
			Cap: 0,
			CapUnit: String,
			VehicleUnit: String,
			CriticalCode: String,
			DriveMin: 0,
			FacilityName: String,
			SendNote: String
		},
		Current: 
		{
			Code: String,
			CourierStep: String,
			RouteShape: String,
			ProfileName: String,
			UnitOne: String,
			UnitMany: String,
			FacilityNoun: String,
			FacilityName: String,
			LevelName: String,
			DueUtc: 0001-01-01,
			DueText: String,
			Units: 0,
			UnitsFound: 0,
			Area: String,
			Minutes: 0,
			Address: String,
			Unit: String,
			City: String,
			Lat: 0,
			Lng: 0,
			CustomerName: String,
			CustomerPhone: String,
			Handoff: String,
			GateCode: String,
			Instructions: String,
			DropoffAddress: String,
			DropoffContactName: String,
			DropLat: 0,
			DropLng: 0,
			ArrivedUtc: 0001-01-01,
			Tags: 
			[
				{
					CourierItemID: 0,
					DispatchOdRequestID: 0,
					Seq: 0,
					TagCode: String,
					Custody: String,
					IsOpen: False,
					IsMissing: False,
					MissingReason: String,
					IsManual: False,
					ReTagFlag: False,
					Scanned: False
				}
			],
			Proof: 
			{
				String: String
			},
			Photos: 
			{
				String: 0
			},
			Needs: 
			[
				String
			],
			MissedWaitMin: 0,
			MissedRequireContact: False,
			MissedRequirePhoto: False,
			MissedFee: 0
		},
		Queue: 
		[
			{
				Code: String,
				CourierStep: String,
				RouteShape: String,
				ProfileName: String,
				UnitOne: String,
				UnitMany: String,
				FacilityNoun: String,
				FacilityName: String,
				LevelName: String,
				DueUtc: 0001-01-01,
				DueText: String,
				Units: 0,
				UnitsFound: 0,
				Area: String,
				Minutes: 0,
				Address: String,
				Unit: String,
				City: String,
				Lat: 0,
				Lng: 0,
				CustomerName: String,
				CustomerPhone: String,
				Handoff: String,
				GateCode: String,
				Instructions: String,
				DropoffAddress: String,
				DropoffContactName: String,
				DropLat: 0,
				DropLng: 0,
				ArrivedUtc: 0001-01-01,
				Tags: 
				[
					{
						CourierItemID: 0,
						DispatchOdRequestID: 0,
						Seq: 0,
						TagCode: String,
						Custody: String,
						IsOpen: False,
						IsMissing: False,
						MissingReason: String,
						IsManual: False,
						ReTagFlag: False,
						Scanned: False
					}
				],
				Proof: 
				{
					String: String
				},
				Photos: 
				{
					String: 0
				},
				Needs: 
				[
					String
				],
				MissedWaitMin: 0,
				MissedRequireContact: False,
				MissedRequirePhoto: False,
				MissedFee: 0
			}
		],
		Aboard: 
		[
			{
				Code: String,
				CourierStep: String,
				RouteShape: String,
				ProfileName: String,
				UnitOne: String,
				UnitMany: String,
				FacilityNoun: String,
				FacilityName: String,
				LevelName: String,
				DueUtc: 0001-01-01,
				DueText: String,
				Units: 0,
				UnitsFound: 0,
				Area: String,
				Minutes: 0,
				Address: String,
				Unit: String,
				City: String,
				Lat: 0,
				Lng: 0,
				CustomerName: String,
				CustomerPhone: String,
				Handoff: String,
				GateCode: String,
				Instructions: String,
				DropoffAddress: String,
				DropoffContactName: String,
				DropLat: 0,
				DropLng: 0,
				ArrivedUtc: 0001-01-01,
				Tags: 
				[
					{
						CourierItemID: 0,
						DispatchOdRequestID: 0,
						Seq: 0,
						TagCode: String,
						Custody: String,
						IsOpen: False,
						IsMissing: False,
						MissingReason: String,
						IsManual: False,
						ReTagFlag: False,
						Scanned: False
					}
				],
				Proof: 
				{
					String: String
				},
				Photos: 
				{
					String: 0
				},
				Needs: 
				[
					String
				],
				MissedWaitMin: 0,
				MissedRequireContact: False,
				MissedRequirePhoto: False,
				MissedFee: 0
			}
		],
		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
							}
						]
					}
				]
			}
		],
		UpNext: 
		{
			Code: String,
			CourierStep: String,
			RouteShape: String,
			ProfileName: String,
			UnitOne: String,
			UnitMany: String,
			FacilityNoun: String,
			FacilityName: String,
			LevelName: String,
			DueUtc: 0001-01-01,
			DueText: String,
			Units: 0,
			UnitsFound: 0,
			Area: String,
			Minutes: 0,
			Address: String,
			Unit: String,
			City: String,
			Lat: 0,
			Lng: 0,
			CustomerName: String,
			CustomerPhone: String,
			Handoff: String,
			GateCode: String,
			Instructions: String,
			DropoffAddress: String,
			DropoffContactName: String,
			DropLat: 0,
			DropLng: 0,
			ArrivedUtc: 0001-01-01,
			Tags: 
			[
				{
					CourierItemID: 0,
					DispatchOdRequestID: 0,
					Seq: 0,
					TagCode: String,
					Custody: String,
					IsOpen: False,
					IsMissing: False,
					MissingReason: String,
					IsManual: False,
					ReTagFlag: False,
					Scanned: False
				}
			],
			Proof: 
			{
				String: String
			},
			Photos: 
			{
				String: 0
			},
			Needs: 
			[
				String
			],
			MissedWaitMin: 0,
			MissedRequireContact: False,
			MissedRequirePhoto: False,
			MissedFee: 0
		}
	},
	Result: String,
	Detail: String,
	Message: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}