Trendsic Platform Service

<back to all web services

CourierOrderPriceRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/orders/{Code}/price
import Foundation
import ServiceStack

public class CourierOrderPriceRequest : Codable
{
    public var code:String
    public var finalPrice:Double

    required public init(){}
}

public class CourierOrderResponse : Codable
{
    public var orders:[CourierOrderView] = []
    public var order:CourierOrderView
    public var message:String
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class CourierOrderView : Codable
{
    public var dispatchOdRequestID:Int
    public var code:String
    public var courierProfileId:Int
    public var profileName:String
    public var routeShape:String
    public var unitOne:String
    public var unitMany:String
    public var courierFacilityId:Int?
    public var facilityName:String
    public var serviceLevelCode:String
    public var levelName:String
    public var source:String
    public var address:String
    public var unit:String
    public var city:String
    public var zip:String
    public var zone:String
    public var pickupContactName:String
    public var dropoffAddress:String
    public var dropoffUnit:String
    public var dropoffCity:String
    public var dropoffZip:String
    public var dropoffContactName:String
    public var miles:Double?
    public var units:Int
    public var unitsFound:Int?
    public var stage:String
    public var courierStep:String
    public var stepLabel:String
    public var driverCode:String
    public var driverName:String
    public var driverContactId:Int?
    public var courierRunId:Int?
    public var runCode:String
    public var stopSequence:Int?
    public var queueSequence:Int?
    public var isAsap:Bool
    public var windowStartUtc:Date?
    public var windowEndUtc:Date?
    public var windowText:String
    public var dueUtc:Date?
    public var dueText:String
    public var pingAfterUtc:Date?
    public var pingExpiresUtc:Date?
    public var candidateCode:String
    public var heldReason:String
    public var heldUtc:Date?
    public var customerName:String
    public var customerPhone:String
    public var handoff:String
    public var gateCode:String
    public var instructions:String
    public var damageNote:String
    public var deliveredToName:String
    public var payMode:String
    public var fare:Double?
    public var finalPrice:Double?
    public var tipAmount:Double?
    public var cancelledBy:String
    public var cancelReason:String
    public var cancelFeeApplied:Double?
    public var missedFeeApplied:Double?
    public var captureMode:String
    public var authorizedAmount:Double?
    public var capturedAmount:Double?
    public var refundedAmount:Double
    public var chargeError:String
    public var createdAt:Date?
    public var arrivedUtc:Date?
    public var pickedUpUtc:Date?
    public var intakeUtc:Date?
    public var readyUtc:Date?
    public var outForDeliveryUtc:Date?
    public var deliveredUtc:Date?
    public var missedUtc:Date?
    public var cancelledUtc:Date?
    public var isClosed:Bool
    public var rebookOfId:Int?
    public var recurrenceId:Int?
    public var pickupLoadId:Int?
    public var rule:CourierOrderRuleView
    public var items:[CourierItemView] = []
    public var scans:[CourierScanView] = []
    public var proof:[CourierProofResultView] = []
    public var events:[CourierEventView] = []
    public var photos:[CourierPhotoView] = []
    public var payLines:[CourierPayLineView] = []

    required public init(){}
}

public class CourierOrderRuleView : Codable
{
    public var pingSecs:Int
    public var missedWaitMin:Int
    public var missedFee:Double
    public var cancelFee:Double
    public var missedAutoRebook:Bool
    public var missedRequireContact:Bool
    public var missedRequirePhoto:Bool
    public var payTiming:String
    public var finalPriceAfterCount:Bool
    public var payPlanName:String
    public var perPickup:Double
    public var perStop:Double
    public var perMissed:Double
    public var perCancel:Double
    public var acceptedUtc:Date?
    public var proof:[String:String] = [:]

    required public init(){}
}

public class CourierItemView : Codable
{
    public var courierItemID:Int
    public var dispatchOdRequestID:Int
    public var seq:Int
    public var tagCode:String
    public var custody:String
    public var isOpen:Bool
    public var isMissing:Bool
    public var missingReason:String
    public var isManual:Bool
    public var reTagFlag:Bool
    public var scanned:Bool

    required public init(){}
}

public class CourierScanView : Codable
{
    public var tagCode:String
    public var stage:String
    public var result:String
    public var atUtc:Date

    required public init(){}
}

public class CourierProofResultView : Codable
{
    public var stage:String
    public var stepKey:String
    public var value:String
    public var atUtc:Date

    required public init(){}
}

public class CourierEventView : Codable
{
    public var kind:String
    public var party:String
    public var body:String
    public var atUtc:Date

    required public init(){}
}

public class CourierPhotoView : Codable
{
    public var photoId:Int
    public var kind:String
    public var fileName:String
    public var url:String
    public var takenUtc:Date?

    required public init(){}
}

public class CourierPayLineView : Codable
{
    public var dispatchLoadID:Int
    public var kind:String
    public var label:String
    public var qty:Double?
    public var rate:Double?
    public var amount:Double

    required public init(){}
}


Swift CourierOrderPriceRequest 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/courier/orders/{Code}/price HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

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

{
	Orders: 
	[
		{
			DispatchOdRequestID: 0,
			Code: String,
			CourierProfileId: 0,
			ProfileName: String,
			RouteShape: String,
			UnitOne: String,
			UnitMany: String,
			CourierFacilityId: 0,
			FacilityName: String,
			ServiceLevelCode: String,
			LevelName: String,
			Source: String,
			Address: String,
			Unit: String,
			City: String,
			Zip: String,
			Zone: String,
			PickupContactName: String,
			DropoffAddress: String,
			DropoffUnit: String,
			DropoffCity: String,
			DropoffZip: String,
			DropoffContactName: String,
			Miles: 0,
			Units: 0,
			UnitsFound: 0,
			Stage: String,
			CourierStep: String,
			StepLabel: String,
			DriverCode: String,
			DriverName: String,
			DriverContactId: 0,
			CourierRunId: 0,
			RunCode: String,
			StopSequence: 0,
			QueueSequence: 0,
			IsAsap: False,
			WindowStartUtc: 0001-01-01,
			WindowEndUtc: 0001-01-01,
			WindowText: String,
			DueUtc: 0001-01-01,
			DueText: String,
			PingAfterUtc: 0001-01-01,
			PingExpiresUtc: 0001-01-01,
			CandidateCode: String,
			HeldReason: String,
			HeldUtc: 0001-01-01,
			CustomerName: String,
			CustomerPhone: String,
			Handoff: String,
			GateCode: String,
			Instructions: String,
			DamageNote: String,
			DeliveredToName: String,
			PayMode: String,
			Fare: 0,
			FinalPrice: 0,
			TipAmount: 0,
			CancelledBy: String,
			CancelReason: String,
			CancelFeeApplied: 0,
			MissedFeeApplied: 0,
			CaptureMode: String,
			AuthorizedAmount: 0,
			CapturedAmount: 0,
			RefundedAmount: 0,
			ChargeError: String,
			CreatedAt: 0001-01-01,
			ArrivedUtc: 0001-01-01,
			PickedUpUtc: 0001-01-01,
			IntakeUtc: 0001-01-01,
			ReadyUtc: 0001-01-01,
			OutForDeliveryUtc: 0001-01-01,
			DeliveredUtc: 0001-01-01,
			MissedUtc: 0001-01-01,
			CancelledUtc: 0001-01-01,
			IsClosed: False,
			RebookOfId: 0,
			RecurrenceId: 0,
			PickupLoadId: 0,
			Rule: 
			{
				PingSecs: 0,
				MissedWaitMin: 0,
				MissedFee: 0,
				CancelFee: 0,
				MissedAutoRebook: False,
				MissedRequireContact: False,
				MissedRequirePhoto: False,
				PayTiming: String,
				FinalPriceAfterCount: False,
				PayPlanName: String,
				PerPickup: 0,
				PerStop: 0,
				PerMissed: 0,
				PerCancel: 0,
				AcceptedUtc: 0001-01-01,
				Proof: 
				{
					String: String
				}
			},
			Items: 
			[
				{
					CourierItemID: 0,
					DispatchOdRequestID: 0,
					Seq: 0,
					TagCode: String,
					Custody: String,
					IsOpen: False,
					IsMissing: False,
					MissingReason: String,
					IsManual: False,
					ReTagFlag: False,
					Scanned: False
				}
			],
			Scans: 
			[
				{
					TagCode: String,
					Stage: String,
					Result: String,
					AtUtc: 0001-01-01
				}
			],
			Proof: 
			[
				{
					Stage: String,
					StepKey: String,
					Value: String,
					AtUtc: 0001-01-01
				}
			],
			Events: 
			[
				{
					Kind: String,
					Party: String,
					Body: String,
					AtUtc: 0001-01-01
				}
			],
			Photos: 
			[
				{
					PhotoId: 0,
					Kind: String,
					FileName: String,
					Url: String,
					TakenUtc: 0001-01-01
				}
			],
			PayLines: 
			[
				{
					DispatchLoadID: 0,
					Kind: String,
					Label: String,
					Qty: 0,
					Rate: 0,
					Amount: 0
				}
			]
		}
	],
	Order: 
	{
		DispatchOdRequestID: 0,
		Code: String,
		CourierProfileId: 0,
		ProfileName: String,
		RouteShape: String,
		UnitOne: String,
		UnitMany: String,
		CourierFacilityId: 0,
		FacilityName: String,
		ServiceLevelCode: String,
		LevelName: String,
		Source: String,
		Address: String,
		Unit: String,
		City: String,
		Zip: String,
		Zone: String,
		PickupContactName: String,
		DropoffAddress: String,
		DropoffUnit: String,
		DropoffCity: String,
		DropoffZip: String,
		DropoffContactName: String,
		Miles: 0,
		Units: 0,
		UnitsFound: 0,
		Stage: String,
		CourierStep: String,
		StepLabel: String,
		DriverCode: String,
		DriverName: String,
		DriverContactId: 0,
		CourierRunId: 0,
		RunCode: String,
		StopSequence: 0,
		QueueSequence: 0,
		IsAsap: False,
		WindowStartUtc: 0001-01-01,
		WindowEndUtc: 0001-01-01,
		WindowText: String,
		DueUtc: 0001-01-01,
		DueText: String,
		PingAfterUtc: 0001-01-01,
		PingExpiresUtc: 0001-01-01,
		CandidateCode: String,
		HeldReason: String,
		HeldUtc: 0001-01-01,
		CustomerName: String,
		CustomerPhone: String,
		Handoff: String,
		GateCode: String,
		Instructions: String,
		DamageNote: String,
		DeliveredToName: String,
		PayMode: String,
		Fare: 0,
		FinalPrice: 0,
		TipAmount: 0,
		CancelledBy: String,
		CancelReason: String,
		CancelFeeApplied: 0,
		MissedFeeApplied: 0,
		CaptureMode: String,
		AuthorizedAmount: 0,
		CapturedAmount: 0,
		RefundedAmount: 0,
		ChargeError: String,
		CreatedAt: 0001-01-01,
		ArrivedUtc: 0001-01-01,
		PickedUpUtc: 0001-01-01,
		IntakeUtc: 0001-01-01,
		ReadyUtc: 0001-01-01,
		OutForDeliveryUtc: 0001-01-01,
		DeliveredUtc: 0001-01-01,
		MissedUtc: 0001-01-01,
		CancelledUtc: 0001-01-01,
		IsClosed: False,
		RebookOfId: 0,
		RecurrenceId: 0,
		PickupLoadId: 0,
		Rule: 
		{
			PingSecs: 0,
			MissedWaitMin: 0,
			MissedFee: 0,
			CancelFee: 0,
			MissedAutoRebook: False,
			MissedRequireContact: False,
			MissedRequirePhoto: False,
			PayTiming: String,
			FinalPriceAfterCount: False,
			PayPlanName: String,
			PerPickup: 0,
			PerStop: 0,
			PerMissed: 0,
			PerCancel: 0,
			AcceptedUtc: 0001-01-01,
			Proof: 
			{
				String: String
			}
		},
		Items: 
		[
			{
				CourierItemID: 0,
				DispatchOdRequestID: 0,
				Seq: 0,
				TagCode: String,
				Custody: String,
				IsOpen: False,
				IsMissing: False,
				MissingReason: String,
				IsManual: False,
				ReTagFlag: False,
				Scanned: False
			}
		],
		Scans: 
		[
			{
				TagCode: String,
				Stage: String,
				Result: String,
				AtUtc: 0001-01-01
			}
		],
		Proof: 
		[
			{
				Stage: String,
				StepKey: String,
				Value: String,
				AtUtc: 0001-01-01
			}
		],
		Events: 
		[
			{
				Kind: String,
				Party: String,
				Body: String,
				AtUtc: 0001-01-01
			}
		],
		Photos: 
		[
			{
				PhotoId: 0,
				Kind: String,
				FileName: String,
				Url: String,
				TakenUtc: 0001-01-01
			}
		],
		PayLines: 
		[
			{
				DispatchLoadID: 0,
				Kind: String,
				Label: String,
				Qty: 0,
				Rate: 0,
				Amount: 0
			}
		]
	},
	Message: String,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}