Trendsic Platform Service

<back to all web services

CourierTrackProblemRequest

The following routes are available for this service:
POST,OPTIONS/v1/dispatch/track/{Token}/problem
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 DispatchTrackStepView() = 
        member val Name:String = null with get,set
        member val At:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val Done:Boolean = new Boolean() with get,set
        member val Current:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierTrackBusiness() = 
        member val Name:String = null with get,set
        member val Phone:String = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackDriver() = 
        member val FirstName:String = null with get,set
        member val Initial:String = null with get,set
        member val Vehicle:String = null with get,set
        member val Plate:String = null with get,set
        member val EtaMin:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val EtaPct:Nullable<Int32> = new Nullable<Int32>() with get,set

    [<AllowNullLiteral>]
    type CourierTrackProof() = 
        member val Kind:String = null with get,set
        member val PhotoUrl:String = null with get,set
        member val AtText:String = null with get,set
        member val GpsOk:Boolean = new Boolean() with get,set
        member val Units:Int32 = new Int32() with get,set
        member val DamageNote:String = null with get,set
        member val DeliveredTo:String = null with get,set
        member val WaitedMin:Int32 = new Int32() with get,set
        member val Attempts:Int32 = new Int32() with get,set
        member val ContactedText:String = null with get,set
        member val EachTagged:Boolean = new Boolean() with get,set
        member val EachScanned:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type CourierTrackRating() = 
        member val Stars:Int32 = new Int32() with get,set
        member val Tags:String = null with get,set
        member val Tip:Decimal = new Decimal() with get,set
        member val TipStatus:String = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackSlot() = 
        member val Id:String = null with get,set
        member val Day:String = null with get,set
        member val DayEs:String = null with get,set
        member val Win:String = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackMissed() = 
        member val Code:String = null with get,set
        member val Fee:Decimal = new Decimal() with get,set
        member val WaitedMin:Int32 = new Int32() with get,set
        member val AutoRebook:Boolean = new Boolean() with get,set
        member val RebookWindowText:String = null with get,set
        member val Slots:ResizeArray<CourierTrackSlot> = new ResizeArray<CourierTrackSlot>() with get,set

    [<AllowNullLiteral>]
    type CourierTrackCan() = 
        member val EditInstructions:Boolean = new Boolean() with get,set
        member val ChangeUnits:Boolean = new Boolean() with get,set
        member val Cancel:Boolean = new Boolean() with get,set
        member val RescheduleDelivery:Boolean = new Boolean() with get,set
        member val Rebook:Boolean = new Boolean() with get,set
        member val Rate:Boolean = new Boolean() with get,set
        member val Message:Boolean = new Boolean() with get,set
        member val Report:Boolean = new Boolean() with get,set
        member val MaxUnits:Int32 = new Int32() with get,set

    [<AllowNullLiteral>]
    type CourierTrackMessage() = 
        member val Who:String = null with get,set
        member val Mine:Boolean = new Boolean() with get,set
        member val Office:Boolean = new Boolean() with get,set
        member val AtText:String = null with get,set
        member val Body:String = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackView() = 
        member val State:String = null with get,set
        member val Code:String = null with get,set
        member val RunCode:String = null with get,set
        member val Shape:String = null with get,set
        member val Template:String = null with get,set
        member val CourierStep:String = null with get,set
        member val UnitOne:String = null with get,set
        member val UnitMany:String = null with get,set
        member val UnitOneEs:String = null with get,set
        member val UnitManyEs:String = null with get,set
        member val FacilityNoun:String = null with get,set
        member val FacilityNounEs:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val UnitsCounted:Boolean = new Boolean() with get,set
        member val Address:String = null with get,set
        member val DropoffAddress:String = null with get,set
        member val DropoffName:String = null with get,set
        member val Instructions:String = null with get,set
        member val GateCode:String = null with get,set
        member val Handoff:String = null with get,set
        member val LevelName:String = null with get,set
        member val ReadyPromise:String = null with get,set
        member val WindowText:String = null with get,set
        member val IsAsap:Boolean = new Boolean() with get,set
        member val Times:Dictionary<String, String> = new Dictionary<String, String>() with get,set
        member val StopPosition:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val StopCount:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val DeliveryWindowText:String = null with get,set
        member val Driver:CourierTrackDriver = null with get,set
        member val Proof:CourierTrackProof = null with get,set
        member val HandoffCode:String = null with get,set
        member val Rating:CourierTrackRating = null with get,set
        member val TipAllowed:Boolean = new Boolean() with get,set
        member val TipsPct:Decimal = new Decimal() with get,set
        member val Missed:CourierTrackMissed = null with get,set
        member val CancelFee:Decimal = new Decimal() with get,set
        member val CancelFeeCharged:Decimal = new Decimal() with get,set
        member val CancelledBy:String = null with get,set
        member val BookUrl:String = null with get,set
        member val Can:CourierTrackCan = null with get,set
        member val DeliverySlots:ResizeArray<CourierTrackSlot> = new ResizeArray<CourierTrackSlot>() with get,set
        member val Messages:ResizeArray<CourierTrackMessage> = new ResizeArray<CourierTrackMessage>() with get,set
        member val MessagesOpen:Boolean = new Boolean() with get,set
        member val CaseCode:String = null with get,set
        member val CaseStatus:String = null with get,set
        member val CaseReply:String = null with get,set
        member val ThreadHrs:Int32 = new Int32() with get,set
        member val ExpiresUtc:Nullable<DateTime> = new Nullable<DateTime>() with get,set
        member val LiveEta:Boolean = new Boolean() with get,set
        member val Live:Boolean = new Boolean() with get,set
        member val ServerUtc:DateTime = new DateTime() with get,set

    [<AllowNullLiteral>]
    type DispatchTrackResponse() = 
        member val Kind:String = null with get,set
        member val Code:String = null with get,set
        member val What:String = null with get,set
        member val FromLoc:String = null with get,set
        member val ToLoc:String = null with get,set
        member val Bags:Nullable<Int32> = new Nullable<Int32>() with get,set
        member val Fare:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PayMode:String = null with get,set
        member val CardLast4:String = null with get,set
        member val Charged:Boolean = new Boolean() with get,set
        member val Stage:String = null with get,set
        member val Headline:String = null with get,set
        member val Sub:String = null with get,set
        member val IsClosed:Boolean = new Boolean() with get,set
        member val Eta:String = null with get,set
        member val DriverName:String = null with get,set
        member val CustomerName:String = null with get,set
        member val Steps:ResizeArray<DispatchTrackStepView> = new ResizeArray<DispatchTrackStepView>() with get,set
        member val Expired:Boolean = new Boolean() with get,set
        member val Invalid:Boolean = new Boolean() with get,set
        member val Business:CourierTrackBusiness = null with get,set
        member val Courier:CourierTrackView = null with get,set
        member val Notice:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackActRequest() = 
        member val Token:String = null with get,set
        member val ActToken:String = null with get,set

    [<AllowNullLiteral>]
    type CourierTrackProblemRequest() = 
        inherit CourierTrackActRequest()
        member val Reason:String = null with get,set
        member val Note:String = null with get,set
        member val Photos:ResizeArray<String> = new ResizeArray<String>() with get,set

F# CourierTrackProblemRequest 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/track/{Token}/problem HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Reason: String,
	Note: String,
	Photos: 
	[
		String
	],
	Token: String,
	ActToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Kind: String,
	Code: String,
	What: String,
	FromLoc: String,
	ToLoc: String,
	Bags: 0,
	Fare: 0,
	PayMode: String,
	CardLast4: String,
	Charged: False,
	Stage: String,
	Headline: String,
	Sub: String,
	IsClosed: False,
	Eta: String,
	DriverName: String,
	CustomerName: String,
	Steps: 
	[
		{
			Name: String,
			At: 0001-01-01,
			Done: False,
			Current: False
		}
	],
	Expired: False,
	Invalid: False,
	Business: 
	{
		Name: String,
		Phone: String
	},
	Courier: 
	{
		State: String,
		Code: String,
		RunCode: String,
		Shape: String,
		Template: String,
		CourierStep: String,
		UnitOne: String,
		UnitMany: String,
		UnitOneEs: String,
		UnitManyEs: String,
		FacilityNoun: String,
		FacilityNounEs: String,
		Units: 0,
		UnitsCounted: False,
		Address: String,
		DropoffAddress: String,
		DropoffName: String,
		Instructions: String,
		GateCode: String,
		Handoff: String,
		LevelName: String,
		ReadyPromise: String,
		WindowText: String,
		IsAsap: False,
		Times: 
		{
			String: String
		},
		StopPosition: 0,
		StopCount: 0,
		DeliveryWindowText: String,
		Driver: 
		{
			FirstName: String,
			Initial: String,
			Vehicle: String,
			Plate: String,
			EtaMin: 0,
			EtaPct: 0
		},
		Proof: 
		{
			Kind: String,
			PhotoUrl: String,
			AtText: String,
			GpsOk: False,
			Units: 0,
			DamageNote: String,
			DeliveredTo: String,
			WaitedMin: 0,
			Attempts: 0,
			ContactedText: String,
			EachTagged: False,
			EachScanned: False
		},
		HandoffCode: String,
		Rating: 
		{
			Stars: 0,
			Tags: String,
			Tip: 0,
			TipStatus: String
		},
		TipAllowed: False,
		TipsPct: 0,
		Missed: 
		{
			Code: String,
			Fee: 0,
			WaitedMin: 0,
			AutoRebook: False,
			RebookWindowText: String,
			Slots: 
			[
				{
					Id: String,
					Day: String,
					DayEs: String,
					Win: String
				}
			]
		},
		CancelFee: 0,
		CancelFeeCharged: 0,
		CancelledBy: String,
		BookUrl: String,
		Can: 
		{
			EditInstructions: False,
			ChangeUnits: False,
			Cancel: False,
			RescheduleDelivery: False,
			Rebook: False,
			Rate: False,
			Message: False,
			Report: False,
			MaxUnits: 0
		},
		DeliverySlots: 
		[
			{
				Id: String,
				Day: String,
				DayEs: String,
				Win: String
			}
		],
		Messages: 
		[
			{
				Who: String,
				Mine: False,
				Office: False,
				AtText: String,
				Body: String
			}
		],
		MessagesOpen: False,
		CaseCode: String,
		CaseStatus: String,
		CaseReply: String,
		ThreadHrs: 0,
		ExpiresUtc: 0001-01-01,
		LiveEta: False,
		Live: False,
		ServerUtc: 0001-01-01
	},
	Notice: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}