Trendsic Platform Service

<back to all web services

CourierTrackRatingRequest

The following routes are available for this service:
POST,OPTIONS/v1/dispatch/track/{Token}/rating
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CourierTrackRatingRequest : CourierTrackActRequest()
{
    open var Stars:Int? = null
    open var Tags:ArrayList<String> = ArrayList<String>()
    open var Tip:BigDecimal? = null
}

open class CourierTrackActRequest
{
    open var Token:String? = null
    open var ActToken:String? = null
}

open class DispatchTrackResponse
{
    open var Kind:String? = null
    open var Code:String? = null
    open var What:String? = null
    open var FromLoc:String? = null
    open var ToLoc:String? = null
    open var Bags:Int? = null
    open var Fare:BigDecimal? = null
    open var PayMode:String? = null
    open var CardLast4:String? = null
    open var Charged:Boolean? = null
    open var Stage:String? = null
    open var Headline:String? = null
    open var Sub:String? = null
    open var IsClosed:Boolean? = null
    open var Eta:String? = null
    open var DriverName:String? = null
    open var CustomerName:String? = null
    open var Steps:ArrayList<DispatchTrackStepView> = ArrayList<DispatchTrackStepView>()
    open var Expired:Boolean? = null
    open var Invalid:Boolean? = null
    open var Business:CourierTrackBusiness? = null
    open var Courier:CourierTrackView? = null
    open var Notice:String? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class DispatchTrackStepView
{
    open var Name:String? = null
    open var At:Date? = null
    open var Done:Boolean? = null
    open var Current:Boolean? = null
}

open class CourierTrackBusiness
{
    open var Name:String? = null
    open var Phone:String? = null
}

open class CourierTrackView
{
    open var State:String? = null
    open var Code:String? = null
    open var RunCode:String? = null
    open var Shape:String? = null
    open var Template:String? = null
    open var CourierStep:String? = null
    open var UnitOne:String? = null
    open var UnitMany:String? = null
    open var UnitOneEs:String? = null
    open var UnitManyEs:String? = null
    open var FacilityNoun:String? = null
    open var FacilityNounEs:String? = null
    open var Units:Int? = null
    open var UnitsCounted:Boolean? = null
    open var Address:String? = null
    open var DropoffAddress:String? = null
    open var DropoffName:String? = null
    open var Instructions:String? = null
    open var GateCode:String? = null
    open var Handoff:String? = null
    open var LevelName:String? = null
    open var ReadyPromise:String? = null
    open var WindowText:String? = null
    open var IsAsap:Boolean? = null
    open var Times:HashMap<String,String> = HashMap<String,String>()
    open var StopPosition:Int? = null
    open var StopCount:Int? = null
    open var DeliveryWindowText:String? = null
    open var Driver:CourierTrackDriver? = null
    open var Proof:CourierTrackProof? = null
    open var HandoffCode:String? = null
    open var Rating:CourierTrackRating? = null
    open var TipAllowed:Boolean? = null
    open var TipsPct:BigDecimal? = null
    open var Missed:CourierTrackMissed? = null
    open var CancelFee:BigDecimal? = null
    open var CancelFeeCharged:BigDecimal? = null
    open var CancelledBy:String? = null
    open var BookUrl:String? = null
    open var Can:CourierTrackCan? = null
    open var DeliverySlots:ArrayList<CourierTrackSlot> = ArrayList<CourierTrackSlot>()
    open var Messages:ArrayList<CourierTrackMessage> = ArrayList<CourierTrackMessage>()
    open var MessagesOpen:Boolean? = null
    open var CaseCode:String? = null
    open var CaseStatus:String? = null
    open var CaseReply:String? = null
    open var ThreadHrs:Int? = null
    open var ExpiresUtc:Date? = null
    open var LiveEta:Boolean? = null
    open var Live:Boolean? = null
    open var ServerUtc:Date? = null
}

open class CourierTrackDriver
{
    open var FirstName:String? = null
    open var Initial:String? = null
    open var Vehicle:String? = null
    open var Plate:String? = null
    open var EtaMin:Int? = null
    open var EtaPct:Int? = null
}

open class CourierTrackProof
{
    open var Kind:String? = null
    open var PhotoUrl:String? = null
    open var AtText:String? = null
    open var GpsOk:Boolean? = null
    open var Units:Int? = null
    open var DamageNote:String? = null
    open var DeliveredTo:String? = null
    open var WaitedMin:Int? = null
    open var Attempts:Int? = null
    open var ContactedText:String? = null
    open var EachTagged:Boolean? = null
    open var EachScanned:Boolean? = null
}

open class CourierTrackRating
{
    open var Stars:Int? = null
    open var Tags:String? = null
    open var Tip:BigDecimal? = null
    open var TipStatus:String? = null
}

open class CourierTrackMissed
{
    open var Code:String? = null
    open var Fee:BigDecimal? = null
    open var WaitedMin:Int? = null
    open var AutoRebook:Boolean? = null
    open var RebookWindowText:String? = null
    open var Slots:ArrayList<CourierTrackSlot> = ArrayList<CourierTrackSlot>()
}

open class CourierTrackSlot
{
    open var Id:String? = null
    open var Day:String? = null
    open var DayEs:String? = null
    open var Win:String? = null
}

open class CourierTrackCan
{
    open var EditInstructions:Boolean? = null
    open var ChangeUnits:Boolean? = null
    open var Cancel:Boolean? = null
    open var RescheduleDelivery:Boolean? = null
    open var Rebook:Boolean? = null
    open var Rate:Boolean? = null
    open var Message:Boolean? = null
    open var Report:Boolean? = null
    open var MaxUnits:Int? = null
}

open class CourierTrackMessage
{
    open var Who:String? = null
    open var Mine:Boolean? = null
    open var Office:Boolean? = null
    open var AtText:String? = null
    open var Body:String? = null
}

Kotlin CourierTrackRatingRequest 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}/rating HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Stars: 0,
	Tags: 
	[
		String
	],
	Tip: 0,
	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
		}
	}
}