Trendsic Platform Service

<back to all web services

CourierVansRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dispatch/courier/vans
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 CourierMoveTarget() = 
        member val DriverContactId:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Ok:Boolean = new Boolean() with get,set
        member val Why:String = null with get,set
        member val LeaveByText:String = null with get,set

    [<AllowNullLiteral>]
    type CourierVanChip() = 
        member val Code:String = null with get,set
        member val CourierStep:String = null with get,set
        member val LevelCode:String = null with get,set
        member val LevelName:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val Area: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 Movable:Boolean = new Boolean() with get,set
        member val NoMoveWhy:String = null with get,set
        member val Targets:ResizeArray<CourierMoveTarget> = new ResizeArray<CourierMoveTarget>() with get,set

    [<AllowNullLiteral>]
    type CourierOfficeVan() = 
        member val DriverContactId:Int32 = new Int32() with get,set
        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 Zone:String = null with get,set
        member val VehicleUnit:String = null with get,set
        member val FacilityName:String = null with get,set
        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 UnitMany:String = null with get,set
        member val CriticalCode:String = null with get,set
        member val DriveMin:Int32 = new Int32() with get,set
        member val SendNote:String = null with get,set
        member val Aboard:ResizeArray<CourierVanChip> = new ResizeArray<CourierVanChip>() with get,set
        member val Queued:ResizeArray<CourierVanChip> = new ResizeArray<CourierVanChip>() with get,set

    [<AllowNullLiteral>]
    type CourierHeldView() = 
        member val Code:String = null with get,set
        member val Area:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val UnitMany:String = null with get,set
        member val Miles:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val LevelCode:String = null with get,set
        member val LevelName:String = null with get,set
        member val DueText:String = null with get,set
        member val HeldReason:String = null with get,set
        member val HeldMin:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Why:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val BestDriverContactId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val BestName:String = null with get,set
        member val BestLeaveByText:String = null with get,set

    [<AllowNullLiteral>]
    type CourierVehicleOption() = 
        member val CourierProfileId:Int32 = new Int32() with get,set
        member val EquipmentID:Int32 = new Int32() with get,set
        member val UnitNumber:String = null with get,set
        member val VehicleType:String = null with get,set
        member val CapacityUnit:String = null with get,set
        member val CapacityLimit:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val IsRefrigerated:Boolean = new Boolean() with get,set
        member val Status:String = null with get,set

    [<AllowNullLiteral>]
    type CourierFacilityOption() = 
        member val CourierFacilityID:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val Name:String = null with get,set
        member val Address:String = null with get,set
        member val IntakeMin:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CourierProfileOption() = 
        member val CourierProfileID:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val RouteShape:String = null with get,set
        member val Enabled:Boolean = new Boolean() 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 Facilities:ResizeArray<CourierFacilityOption> = new ResizeArray<CourierFacilityOption>() with get,set

    [<AllowNullLiteral>]
    type CourierDriverOption() = 
        member val ContactId:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val Name:String = null with get,set
        member val Online:Boolean = new Boolean() with get,set
        member val Zone:String = null with get,set
        member val VehicleUnit:String = null with get,set
        member val EquipmentID:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val SentToFacility:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierDeskRow() = 
        member val Code:String = null with get,set
        member val CourierProfileId:Int32 = new Int32() with get,set
        member val FacilityName:String = null with get,set
        member val LevelCode: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 UnitMany:String = null with get,set
        member val Fare:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val FinalPrice:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val TipAmount:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PayMode:String = null with get,set
        member val CaptureMode:String = null with get,set
        member val CustomerName:String = null with get,set
        member val Area:String = null with get,set
        member val IntakeUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val IntakeMinAgo:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DamageNote:String = null with get,set
        member val FinalPriceAfterCount:Boolean = new Boolean() with get,set
        member val NeedsPrice:Boolean = new Boolean() with get,set
        member val ItemCount:Int32 = new Int32() with get,set
        member val MissingCount:Int32 = new Int32() with get,set
        member val PhotoCount:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CourierOfficeView() = 
        member val ServerUtc:DateTime = new DateTime() with get,set
        member val Vans:ResizeArray<CourierOfficeVan> = new ResizeArray<CourierOfficeVan>() with get,set
        member val Held:ResizeArray<CourierHeldView> = new ResizeArray<CourierHeldView>() with get,set
        member val Vehicles:ResizeArray<CourierVehicleOption> = new ResizeArray<CourierVehicleOption>() with get,set
        member val Profiles:ResizeArray<CourierProfileOption> = new ResizeArray<CourierProfileOption>() with get,set
        member val Drivers:ResizeArray<CourierDriverOption> = new ResizeArray<CourierDriverOption>() with get,set
        member val Desk:ResizeArray<CourierDeskRow> = new ResizeArray<CourierDeskRow>() with get,set
        member val GoCount:Int32 = new Int32() with get,set
        member val HeldCount:Int32 = new Int32() with get,set
        member val ReadyToOffer:Int32 = new Int32() with get,set
        member val IntakeMin:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val FacilityNoun:String = null with get,set

    [<AllowNullLiteral>]
    type CourierOfficeResponse() = 
        member val Office:CourierOfficeView = null with get,set
        member val Available:Boolean = new Boolean() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

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

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

{
	Office: 
	{
		ServerUtc: 0001-01-01,
		Vans: 
		[
			{
				DriverContactId: 0,
				DriverCode: String,
				Name: String,
				Online: False,
				Zone: String,
				VehicleUnit: String,
				FacilityName: String,
				State: String,
				LeaveByUtc: 0001-01-01,
				LeaveByText: String,
				SlackMin: 0,
				InVan: 0,
				Committed: 0,
				Cap: 0,
				CapUnit: String,
				UnitMany: String,
				CriticalCode: String,
				DriveMin: 0,
				SendNote: String,
				Aboard: 
				[
					{
						Code: String,
						CourierStep: String,
						LevelCode: String,
						LevelName: String,
						Units: 0,
						Area: String,
						DueUtc: 0001-01-01,
						DueText: String,
						Movable: False,
						NoMoveWhy: String,
						Targets: 
						[
							{
								DriverContactId: 0,
								Name: String,
								Ok: False,
								Why: String,
								LeaveByText: String
							}
						]
					}
				],
				Queued: 
				[
					{
						Code: String,
						CourierStep: String,
						LevelCode: String,
						LevelName: String,
						Units: 0,
						Area: String,
						DueUtc: 0001-01-01,
						DueText: String,
						Movable: False,
						NoMoveWhy: String,
						Targets: 
						[
							{
								DriverContactId: 0,
								Name: String,
								Ok: False,
								Why: String,
								LeaveByText: String
							}
						]
					}
				]
			}
		],
		Held: 
		[
			{
				Code: String,
				Area: String,
				Units: 0,
				UnitMany: String,
				Miles: 0,
				LevelCode: String,
				LevelName: String,
				DueText: String,
				HeldReason: String,
				HeldMin: 0,
				Why: 
				[
					String
				],
				BestDriverContactId: 0,
				BestName: String,
				BestLeaveByText: String
			}
		],
		Vehicles: 
		[
			{
				CourierProfileId: 0,
				EquipmentID: 0,
				UnitNumber: String,
				VehicleType: String,
				CapacityUnit: String,
				CapacityLimit: 0,
				IsRefrigerated: False,
				Status: String
			}
		],
		Profiles: 
		[
			{
				CourierProfileID: 0,
				Name: String,
				RouteShape: String,
				Enabled: False,
				UnitOne: String,
				UnitMany: String,
				FacilityNoun: String,
				Facilities: 
				[
					{
						CourierFacilityID: 0,
						Code: String,
						Name: String,
						Address: String,
						IntakeMin: 0
					}
				]
			}
		],
		Drivers: 
		[
			{
				ContactId: 0,
				Code: String,
				Name: String,
				Online: False,
				Zone: String,
				VehicleUnit: String,
				EquipmentID: 0,
				SentToFacility: False
			}
		],
		Desk: 
		[
			{
				Code: String,
				CourierProfileId: 0,
				FacilityName: String,
				LevelCode: String,
				LevelName: String,
				DueUtc: 0001-01-01,
				DueText: String,
				Units: 0,
				UnitsFound: 0,
				UnitMany: String,
				Fare: 0,
				FinalPrice: 0,
				TipAmount: 0,
				PayMode: String,
				CaptureMode: String,
				CustomerName: String,
				Area: String,
				IntakeUtc: 0001-01-01,
				IntakeMinAgo: 0,
				DamageNote: String,
				FinalPriceAfterCount: False,
				NeedsPrice: False,
				ItemCount: 0,
				MissingCount: 0,
				PhotoCount: 0
			}
		],
		GoCount: 0,
		HeldCount: 0,
		ReadyToOffer: 0,
		IntakeMin: 0,
		FacilityNoun: String
	},
	Available: False,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}