Trendsic Platform Service

<back to all web services

CourierSendToFacilityRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/drivers/{ContactId}/send-to-facility
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class CourierEventView
    {
        public virtual string Kind { get; set; }
        public virtual string Party { get; set; }
        public virtual string Body { get; set; }
        public virtual DateTime AtUtc { get; set; }
    }

    public partial class CourierItemView
    {
        public virtual int CourierItemID { get; set; }
        public virtual int DispatchOdRequestID { get; set; }
        public virtual int Seq { get; set; }
        public virtual string TagCode { get; set; }
        public virtual string Custody { get; set; }
        public virtual bool IsOpen { get; set; }
        public virtual bool IsMissing { get; set; }
        public virtual string MissingReason { get; set; }
        public virtual bool IsManual { get; set; }
        public virtual bool ReTagFlag { get; set; }
        public virtual bool Scanned { get; set; }
    }

    public partial class CourierOrderResponse
    {
        public virtual List<CourierOrderView> Orders { get; set; } = [];
        public virtual CourierOrderView Order { get; set; }
        public virtual string Message { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class CourierOrderRuleView
    {
        public virtual int PingSecs { get; set; }
        public virtual int MissedWaitMin { get; set; }
        public virtual decimal MissedFee { get; set; }
        public virtual decimal CancelFee { get; set; }
        public virtual bool MissedAutoRebook { get; set; }
        public virtual bool MissedRequireContact { get; set; }
        public virtual bool MissedRequirePhoto { get; set; }
        public virtual string PayTiming { get; set; }
        public virtual bool FinalPriceAfterCount { get; set; }
        public virtual string PayPlanName { get; set; }
        public virtual decimal PerPickup { get; set; }
        public virtual decimal PerStop { get; set; }
        public virtual decimal PerMissed { get; set; }
        public virtual decimal PerCancel { get; set; }
        public virtual DateTime? AcceptedUtc { get; set; }
        public virtual Dictionary<string, string> Proof { get; set; } = new();
    }

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

    public partial class CourierPayLineView
    {
        public virtual int DispatchLoadID { get; set; }
        public virtual string Kind { get; set; }
        public virtual string Label { get; set; }
        public virtual decimal? Qty { get; set; }
        public virtual decimal? Rate { get; set; }
        public virtual decimal Amount { get; set; }
    }

    public partial class CourierPhotoView
    {
        public virtual int PhotoId { get; set; }
        public virtual string Kind { get; set; }
        public virtual string FileName { get; set; }
        public virtual string Url { get; set; }
        public virtual DateTime? TakenUtc { get; set; }
    }

    public partial class CourierProofResultView
    {
        public virtual string Stage { get; set; }
        public virtual string StepKey { get; set; }
        public virtual string Value { get; set; }
        public virtual DateTime AtUtc { get; set; }
    }

    public partial class CourierScanView
    {
        public virtual string TagCode { get; set; }
        public virtual string Stage { get; set; }
        public virtual string Result { get; set; }
        public virtual DateTime AtUtc { get; set; }
    }

    public partial class CourierSendToFacilityRequest
    {
        public virtual int ContactId { get; set; }
        public virtual string Note { get; set; }
        public virtual bool Lift { get; set; }
    }

}

C# CourierSendToFacilityRequest 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/drivers/{ContactId}/send-to-facility HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	ContactId: 0,
	Note: String,
	Lift: False
}
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
		}
	}
}