Trendsic Platform Service

<back to all web services

CourierProfileRequest

Requires Authentication
The following routes are available for this service:
GET,OPTIONS/v1/dispatch/courier/profiles/{Id}
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 CourierProfileSummary() = 
        member val CourierProfileID:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val Name:String = null with get,set
        member val BusinessName:String = null with get,set
        member val RouteShape:String = null with get,set
        member val Enabled:Boolean = new Boolean() with get,set
        member val TemplateFrom:String = null with get,set
        member val Drivers:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CourierTemplateOption() = 
        member val Key:String = null with get,set
        member val Label:String = null with get,set
        member val Detail:String = null with get,set
        member val RouteShape:String = null with get,set

    [<AllowNullLiteral>]
    type CourierPay() = 
        member val WorkerClass:String = null with get,set
        member val PerPickup:Decimal = new Decimal() with get,set
        member val PerStop:Decimal = new Decimal() with get,set
        member val PerMissed:Decimal = new Decimal() with get,set
        member val PerCancel:Decimal = new Decimal() with get,set
        member val WaitAfterMin:Int32 = new Int32() with get,set
        member val WaitPerMin:Decimal = new Decimal() with get,set
        member val MileageOn:Boolean = new Boolean() with get,set
        member val PerMile:Decimal = new Decimal() with get,set
        member val MinPerJob:Decimal = new Decimal() with get,set
        member val TipsPct:Decimal = new Decimal() with get,set

    [<AllowNullLiteral>]
    type CourierDispatch() = 
        member val PingSecs:Int32 = new Int32() with get,set
        member val RadiusMi:Decimal = new Decimal() with get,set
        member val DeclinePenalty:Boolean = new Boolean() with get,set
        member val NextRule:String = null with get,set
        member val GoMin:Int32 = new Int32() with get,set
        member val LastMin:Int32 = new Int32() with get,set
        member val NearFull:Int32 = new Int32() with get,set
        member val MarginMin:Int32 = new Int32() with get,set
        member val TrafficSource:String = null with get,set

    [<AllowNullLiteral>]
    type CourierMissed() = 
        member val WaitMin:Int32 = new Int32() with get,set
        member val Fee:Decimal = new Decimal() with get,set
        member val CancelFee:Decimal = new Decimal() with get,set
        member val AutoRebook:Boolean = new Boolean() with get,set
        member val RequireContact:Boolean = new Boolean() with get,set
        member val RequirePhoto:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierPrivacy() = 
        member val ThreadHrs:Int32 = new Int32() with get,set
        member val PhotoDays:Int32 = new Int32() with get,set
        member val LockNames:String = null with get,set
        member val HideAddr:Boolean = new Boolean() with get,set
        member val LiveEta:Boolean = new Boolean() with get,set
        member val Tipping:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierPricing() = 
        member val Base:Decimal = new Decimal() with get,set
        member val PerUnit:Decimal = new Decimal() with get,set
        member val PerMile:Decimal = new Decimal() with get,set
        member val MinOrder:Decimal = new Decimal() with get,set
        member val TaxPct:Decimal = new Decimal() with get,set
        member val FinalAfterCount:Boolean = new Boolean() with get,set
        member val ServiceArea:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val WindowMin:Int32 = new Int32() with get,set
        member val Surcharges:Dictionary<String, Decimal> = new Dictionary<String, Decimal>() with get,set

    [<AllowNullLiteral>]
    type CourierBooking() = 
        member val On:Boolean = new Boolean() with get,set
        member val Slug:String = null with get,set
        member val Asap:Boolean = new Boolean() with get,set
        member val MinLeadMin:Int32 = new Int32() with get,set
        member val Open:String = null with get,set
        member val Close:String = null with get,set
        member val DriveBufferMin:Int32 = new Int32() with get,set
        member val Zips:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Recurring:Boolean = new Boolean() with get,set
        member val PayTiming:String = null with get,set

    [<AllowNullLiteral>]
    type CourierLevelView() = 
        member val Code:String = null with get,set
        member val Name:String = null with get,set
        member val InBy:String = null with get,set
        member val WithinMin:Int32 = new Int32() with get,set
        member val Ready:String = null with get,set
        member val Days:ResizeArray<Int32> = new ResizeArray<Int32>() with get,set
        member val IsOn:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierFacilityView() = 
        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
        member val Levels:ResizeArray<CourierLevelView> = new ResizeArray<CourierLevelView>() with get,set
        member val Holidays:ResizeArray<String> = new ResizeArray<String>() with get,set

    [<AllowNullLiteral>]
    type CourierVehicleView() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val UnitNumber:String = null with get,set
        member val Name:String = null with get,set
        member val Unit:String = null with get,set
        member val Cap:Decimal = new Decimal() with get,set
        member val Cold:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierProfileContext() = 
        member val Drivers:Int32 = new Int32() with get,set
        member val ProfileCount:Int32 = new Int32() with get,set
        member val PayPlanId:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val ZoneMode:String = null with get,set
        member val ZoneName:String = null with get,set
        member val ZoneCount:Int32 = new Int32() with get,set
        member val HasBookingPage:Boolean = new Boolean() with get,set
        member val HasRateConfig:Boolean = new Boolean() with get,set
        member val VehicleFacts:Dictionary<String, String> = new Dictionary<String, String>() with get,set

    [<AllowNullLiteral>]
    type CourierProfileView() = 
        member val CourierProfileID:Int32 = new Int32() with get,set
        member val Code:String = null with get,set
        member val Name:String = null with get,set
        member val BusinessName:String = null with get,set
        member val RouteShape:String = null with get,set
        member val Enabled:Boolean = new Boolean() with get,set
        member val TemplateFrom: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 UnitOneEs:String = null with get,set
        member val UnitManyEs:String = null with get,set
        member val FacilityNounEs:String = null with get,set
        member val TagMode:String = null with get,set
        member val TagFormats:ResizeArray<String> = new ResizeArray<String>() with get,set
        member val Pay:CourierPay = null with get,set
        member val Dispatch:CourierDispatch = null with get,set
        member val Missed:CourierMissed = null with get,set
        member val Privacy:CourierPrivacy = null with get,set
        member val Pricing:CourierPricing = null with get,set
        member val Booking:CourierBooking = null with get,set
        member val Facilities:ResizeArray<CourierFacilityView> = new ResizeArray<CourierFacilityView>() with get,set
        member val Vehicles:ResizeArray<CourierVehicleView> = new ResizeArray<CourierVehicleView>() with get,set
        member val Proof:Dictionary<String, Dictionary<String,String>> = new Dictionary<String, Dictionary<String,String>>() with get,set
        member val Context:CourierProfileContext = null with get,set

    [<AllowNullLiteral>]
    type CourierIssue() = 
        member val Key:String = null with get,set
        member val Section:String = null with get,set
        member val Message:String = null with get,set

    [<AllowNullLiteral>]
    type CourierChange() = 
        member val Key:String = null with get,set
        member val Section:String = null with get,set
        member val Label:String = null with get,set
        member val From:String = null with get,set
        member val To:String = null with get,set

    [<AllowNullLiteral>]
    type CourierPreviewLine() = 
        member val K:String = null with get,set
        member val V:String = null with get,set
        member val Dot:String = null with get,set

    [<AllowNullLiteral>]
    type CourierPreview() = 
        member val DeadlineTitle:String = null with get,set
        member val DeadlineLead:String = null with get,set
        member val RoomW:String = null with get,set
        member val LastW:String = null with get,set
        member val GoW:String = null with get,set
        member val Zones:ResizeArray<CourierPreviewLine> = new ResizeArray<CourierPreviewLine>() with get,set
        member val PaySub:String = null with get,set
        member val PayRows:ResizeArray<CourierPreviewLine> = new ResizeArray<CourierPreviewLine>() with get,set
        member val PayTotal:String = null with get,set
        member val ProofRows:ResizeArray<CourierPreviewLine> = new ResizeArray<CourierPreviewLine>() with get,set
        member val Ping:String = null with get,set

    [<AllowNullLiteral>]
    type CourierFleetVehicle() = 
        member val EquipmentID:Int32 = new Int32() with get,set
        member val UnitNumber:String = null with get,set
        member val Name:String = null with get,set
        member val VehicleType:String = null with get,set
        member val Unit:String = null with get,set
        member val Cap:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Cold:Boolean = new Boolean() with get,set
        member val Status:String = null with get,set
        member val Assigned:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierResponse() = 
        member val Profiles:ResizeArray<CourierProfileSummary> = new ResizeArray<CourierProfileSummary>() with get,set
        member val Templates:ResizeArray<CourierTemplateOption> = new ResizeArray<CourierTemplateOption>() with get,set
        member val Profile:CourierProfileView = null with get,set
        member val Issues:ResizeArray<CourierIssue> = new ResizeArray<CourierIssue>() with get,set
        member val Changes:ResizeArray<CourierChange> = new ResizeArray<CourierChange>() with get,set
        member val Preview:CourierPreview = null with get,set
        member val Fleet:ResizeArray<CourierFleetVehicle> = new ResizeArray<CourierFleetVehicle>() with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CourierProfileRequest() = 
        member val Id:Int32 = new Int32() with get,set
        member val FacilityCode:String = null with get,set

F# CourierProfileRequest 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/profiles/{Id} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Profiles: 
	[
		{
			CourierProfileID: 0,
			Code: String,
			Name: String,
			BusinessName: String,
			RouteShape: String,
			Enabled: False,
			TemplateFrom: String,
			Drivers: 0
		}
	],
	Templates: 
	[
		{
			Key: String,
			Label: String,
			Detail: String,
			RouteShape: String
		}
	],
	Profile: 
	{
		CourierProfileID: 0,
		Code: String,
		Name: String,
		BusinessName: String,
		RouteShape: String,
		Enabled: False,
		TemplateFrom: String,
		UnitOne: String,
		UnitMany: String,
		FacilityNoun: String,
		UnitOneEs: String,
		UnitManyEs: String,
		FacilityNounEs: String,
		TagMode: String,
		TagFormats: 
		[
			String
		],
		Pay: 
		{
			WorkerClass: String,
			PerPickup: 0,
			PerStop: 0,
			PerMissed: 0,
			PerCancel: 0,
			WaitAfterMin: 0,
			WaitPerMin: 0,
			MileageOn: False,
			PerMile: 0,
			MinPerJob: 0,
			TipsPct: 0
		},
		Dispatch: 
		{
			PingSecs: 0,
			RadiusMi: 0,
			DeclinePenalty: False,
			NextRule: String,
			GoMin: 0,
			LastMin: 0,
			NearFull: 0,
			MarginMin: 0,
			TrafficSource: String
		},
		Missed: 
		{
			WaitMin: 0,
			Fee: 0,
			CancelFee: 0,
			AutoRebook: False,
			RequireContact: False,
			RequirePhoto: False
		},
		Privacy: 
		{
			ThreadHrs: 0,
			PhotoDays: 0,
			LockNames: String,
			HideAddr: False,
			LiveEta: False,
			Tipping: False
		},
		Pricing: 
		{
			Base: 0,
			PerUnit: 0,
			PerMile: 0,
			MinOrder: 0,
			TaxPct: 0,
			FinalAfterCount: False,
			ServiceArea: 
			[
				String
			],
			WindowMin: 0,
			Surcharges: 
			{
				String: 0
			}
		},
		Booking: 
		{
			On: False,
			Slug: String,
			Asap: False,
			MinLeadMin: 0,
			Open: String,
			Close: String,
			DriveBufferMin: 0,
			Zips: 
			[
				String
			],
			Recurring: False,
			PayTiming: String
		},
		Facilities: 
		[
			{
				Code: String,
				Name: String,
				Address: String,
				IntakeMin: 0,
				Levels: 
				[
					{
						Code: String,
						Name: String,
						InBy: String,
						WithinMin: 0,
						Ready: String,
						Days: 
						[
							0
						],
						IsOn: False
					}
				],
				Holidays: 
				[
					String
				]
			}
		],
		Vehicles: 
		[
			{
				EquipmentID: 0,
				UnitNumber: String,
				Name: String,
				Unit: String,
				Cap: 0,
				Cold: False
			}
		],
		Proof: 
		{
			String: 
			{
				String: String
			}
		},
		Context: 
		{
			Drivers: 0,
			ProfileCount: 0,
			PayPlanId: 0,
			ZoneMode: String,
			ZoneName: String,
			ZoneCount: 0,
			HasBookingPage: False,
			HasRateConfig: False,
			VehicleFacts: 
			{
				String: String
			}
		}
	},
	Issues: 
	[
		{
			Key: String,
			Section: String,
			Message: String
		}
	],
	Changes: 
	[
		{
			Key: String,
			Section: String,
			Label: String,
			From: String,
			To: String
		}
	],
	Preview: 
	{
		DeadlineTitle: String,
		DeadlineLead: String,
		RoomW: String,
		LastW: String,
		GoW: String,
		Zones: 
		[
			{
				K: String,
				V: String,
				Dot: String
			}
		],
		PaySub: String,
		PayRows: 
		[
			{
				K: String,
				V: String,
				Dot: String
			}
		],
		PayTotal: String,
		ProofRows: 
		[
			{
				K: String,
				V: String,
				Dot: String
			}
		],
		Ping: String
	},
	Fleet: 
	[
		{
			EquipmentID: 0,
			UnitNumber: String,
			Name: String,
			VehicleType: String,
			Unit: String,
			Cap: 0,
			Cold: False,
			Status: String,
			Assigned: False
		}
	],
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}