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

export class CourierOrderRuleView
{
    public PingSecs: number;
    public MissedWaitMin: number;
    public MissedFee: number;
    public CancelFee: number;
    public MissedAutoRebook: boolean;
    public MissedRequireContact: boolean;
    public MissedRequirePhoto: boolean;
    public PayTiming: string;
    public FinalPriceAfterCount: boolean;
    public PayPlanName: string;
    public PerPickup: number;
    public PerStop: number;
    public PerMissed: number;
    public PerCancel: number;
    public AcceptedUtc?: string;
    public Proof: { [index:string]: string; } = {};

    public constructor(init?: Partial<CourierOrderRuleView>) { (Object as any).assign(this, init); }
}

export class CourierItemView
{
    public CourierItemID: number;
    public DispatchOdRequestID: number;
    public Seq: number;
    public TagCode: string;
    public Custody: string;
    public IsOpen: boolean;
    public IsMissing: boolean;
    public MissingReason: string;
    public IsManual: boolean;
    public ReTagFlag: boolean;
    public Scanned: boolean;

    public constructor(init?: Partial<CourierItemView>) { (Object as any).assign(this, init); }
}

export class CourierScanView
{
    public TagCode: string;
    public Stage: string;
    public Result: string;
    public AtUtc: string;

    public constructor(init?: Partial<CourierScanView>) { (Object as any).assign(this, init); }
}

export class CourierProofResultView
{
    public Stage: string;
    public StepKey: string;
    public Value: string;
    public AtUtc: string;

    public constructor(init?: Partial<CourierProofResultView>) { (Object as any).assign(this, init); }
}

export class CourierEventView
{
    public Kind: string;
    public Party: string;
    public Body: string;
    public AtUtc: string;

    public constructor(init?: Partial<CourierEventView>) { (Object as any).assign(this, init); }
}

export class CourierPhotoView
{
    public PhotoId: number;
    public Kind: string;
    public FileName: string;
    public Url: string;
    public TakenUtc?: string;

    public constructor(init?: Partial<CourierPhotoView>) { (Object as any).assign(this, init); }
}

export class CourierPayLineView
{
    public DispatchLoadID: number;
    public Kind: string;
    public Label: string;
    public Qty?: number;
    public Rate?: number;
    public Amount: number;

    public constructor(init?: Partial<CourierPayLineView>) { (Object as any).assign(this, init); }
}

export class CourierOrderView
{
    public DispatchOdRequestID: number;
    public Code: string;
    public CourierProfileId: number;
    public ProfileName: string;
    public RouteShape: string;
    public UnitOne: string;
    public UnitMany: string;
    public CourierFacilityId?: number;
    public FacilityName: string;
    public ServiceLevelCode: string;
    public LevelName: string;
    public Source: string;
    public Address: string;
    public Unit: string;
    public City: string;
    public Zip: string;
    public Zone: string;
    public PickupContactName: string;
    public DropoffAddress: string;
    public DropoffUnit: string;
    public DropoffCity: string;
    public DropoffZip: string;
    public DropoffContactName: string;
    public Miles?: number;
    public Units: number;
    public UnitsFound?: number;
    public Stage: string;
    public CourierStep: string;
    public StepLabel: string;
    public DriverCode: string;
    public DriverName: string;
    public DriverContactId?: number;
    public CourierRunId?: number;
    public RunCode: string;
    public StopSequence?: number;
    public QueueSequence?: number;
    public IsAsap: boolean;
    public WindowStartUtc?: string;
    public WindowEndUtc?: string;
    public WindowText: string;
    public DueUtc?: string;
    public DueText: string;
    public PingAfterUtc?: string;
    public PingExpiresUtc?: string;
    public CandidateCode: string;
    public HeldReason: string;
    public HeldUtc?: string;
    public CustomerName: string;
    public CustomerPhone: string;
    public Handoff: string;
    public GateCode: string;
    public Instructions: string;
    public DamageNote: string;
    public DeliveredToName: string;
    public PayMode: string;
    public Fare?: number;
    public FinalPrice?: number;
    public TipAmount?: number;
    public CancelledBy: string;
    public CancelReason: string;
    public CancelFeeApplied?: number;
    public MissedFeeApplied?: number;
    public CaptureMode: string;
    public AuthorizedAmount?: number;
    public CapturedAmount?: number;
    public RefundedAmount: number;
    public ChargeError: string;
    public CreatedAt?: string;
    public ArrivedUtc?: string;
    public PickedUpUtc?: string;
    public IntakeUtc?: string;
    public ReadyUtc?: string;
    public OutForDeliveryUtc?: string;
    public DeliveredUtc?: string;
    public MissedUtc?: string;
    public CancelledUtc?: string;
    public IsClosed: boolean;
    public RebookOfId?: number;
    public RecurrenceId?: number;
    public PickupLoadId?: number;
    public Rule: CourierOrderRuleView;
    public Items: CourierItemView[] = [];
    public Scans: CourierScanView[] = [];
    public Proof: CourierProofResultView[] = [];
    public Events: CourierEventView[] = [];
    public Photos: CourierPhotoView[] = [];
    public PayLines: CourierPayLineView[] = [];

    public constructor(init?: Partial<CourierOrderView>) { (Object as any).assign(this, init); }
}

export class CourierOrderResponse
{
    public Orders: CourierOrderView[] = [];
    public Order: CourierOrderView;
    public Message: string;
    public ResponseStatus: ResponseStatus;

    public constructor(init?: Partial<CourierOrderResponse>) { (Object as any).assign(this, init); }
}

export class CourierOrderPriceRequest
{
    public Code: string;
    public FinalPrice: number;

    public constructor(init?: Partial<CourierOrderPriceRequest>) { (Object as any).assign(this, init); }
}

TypeScript 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
		}
	}
}