| POST,OPTIONS | /v1/dispatch/courier/profiles |
|---|
export class CourierProfileSummary
{
public CourierProfileID: number;
public Code: string;
public Name: string;
public BusinessName: string;
public RouteShape: string;
public Enabled: boolean;
public TemplateFrom: string;
public Drivers: number;
public constructor(init?: Partial<CourierProfileSummary>) { (Object as any).assign(this, init); }
}
export class CourierTemplateOption
{
public Key: string;
public Label: string;
public Detail: string;
public RouteShape: string;
public constructor(init?: Partial<CourierTemplateOption>) { (Object as any).assign(this, init); }
}
export class CourierPay
{
public WorkerClass: string;
public PerPickup: number;
public PerStop: number;
public PerMissed: number;
public PerCancel: number;
public WaitAfterMin: number;
public WaitPerMin: number;
public MileageOn: boolean;
public PerMile: number;
public MinPerJob: number;
public TipsPct: number;
public constructor(init?: Partial<CourierPay>) { (Object as any).assign(this, init); }
}
export class CourierDispatch
{
public PingSecs: number;
public RadiusMi: number;
public DeclinePenalty: boolean;
public NextRule: string;
public GoMin: number;
public LastMin: number;
public NearFull: number;
public MarginMin: number;
public TrafficSource: string;
public constructor(init?: Partial<CourierDispatch>) { (Object as any).assign(this, init); }
}
export class CourierMissed
{
public WaitMin: number;
public Fee: number;
public CancelFee: number;
public AutoRebook: boolean;
public RequireContact: boolean;
public RequirePhoto: boolean;
public constructor(init?: Partial<CourierMissed>) { (Object as any).assign(this, init); }
}
export class CourierPrivacy
{
public ThreadHrs: number;
public PhotoDays: number;
public LockNames: string;
public HideAddr: boolean;
public LiveEta: boolean;
public Tipping: boolean;
public constructor(init?: Partial<CourierPrivacy>) { (Object as any).assign(this, init); }
}
export class CourierPricing
{
public Base: number;
public PerUnit: number;
public PerMile: number;
public MinOrder: number;
public TaxPct: number;
public FinalAfterCount: boolean;
public ServiceArea: string[] = [];
public WindowMin: number;
public Surcharges: { [index:string]: number; } = {};
public constructor(init?: Partial<CourierPricing>) { (Object as any).assign(this, init); }
}
export class CourierBooking
{
public On: boolean;
public Slug: string;
public Asap: boolean;
public MinLeadMin: number;
public Open: string;
public Close: string;
public DriveBufferMin: number;
public Zips: string[] = [];
public Recurring: boolean;
public PayTiming: string;
public constructor(init?: Partial<CourierBooking>) { (Object as any).assign(this, init); }
}
export class CourierLevelView
{
public Code: string;
public Name: string;
public InBy: string;
public WithinMin: number;
public Ready: string;
public Days: number[] = [];
public IsOn: boolean;
public constructor(init?: Partial<CourierLevelView>) { (Object as any).assign(this, init); }
}
export class CourierFacilityView
{
public Code: string;
public Name: string;
public Address: string;
public IntakeMin: number;
public Levels: CourierLevelView[] = [];
public Holidays: string[] = [];
public constructor(init?: Partial<CourierFacilityView>) { (Object as any).assign(this, init); }
}
export class CourierVehicleView
{
public EquipmentID: number;
public UnitNumber: string;
public Name: string;
public Unit: string;
public Cap: number;
public Cold: boolean;
public constructor(init?: Partial<CourierVehicleView>) { (Object as any).assign(this, init); }
}
export class CourierProfileContext
{
public Drivers: number;
public ProfileCount: number;
public PayPlanId?: number;
public ZoneMode: string;
public ZoneName: string;
public ZoneCount: number;
public HasBookingPage: boolean;
public HasRateConfig: boolean;
public VehicleFacts: { [index:string]: string; } = {};
public constructor(init?: Partial<CourierProfileContext>) { (Object as any).assign(this, init); }
}
export class CourierProfileView
{
public CourierProfileID: number;
public Code: string;
public Name: string;
public BusinessName: string;
public RouteShape: string;
public Enabled: boolean;
public TemplateFrom: string;
public UnitOne: string;
public UnitMany: string;
public FacilityNoun: string;
public UnitOneEs: string;
public UnitManyEs: string;
public FacilityNounEs: string;
public TagMode: string;
public TagFormats: string[] = [];
public Pay: CourierPay;
public Dispatch: CourierDispatch;
public Missed: CourierMissed;
public Privacy: CourierPrivacy;
public Pricing: CourierPricing;
public Booking: CourierBooking;
public Facilities: CourierFacilityView[] = [];
public Vehicles: CourierVehicleView[] = [];
public Proof: { [index:string]: { [index:string]: string; }; } = {};
public Context: CourierProfileContext;
public constructor(init?: Partial<CourierProfileView>) { (Object as any).assign(this, init); }
}
export class CourierIssue
{
public Key: string;
public Section: string;
public Message: string;
public constructor(init?: Partial<CourierIssue>) { (Object as any).assign(this, init); }
}
export class CourierChange
{
public Key: string;
public Section: string;
public Label: string;
public From: string;
public To: string;
public constructor(init?: Partial<CourierChange>) { (Object as any).assign(this, init); }
}
export class CourierPreviewLine
{
public K: string;
public V: string;
public Dot: string;
public constructor(init?: Partial<CourierPreviewLine>) { (Object as any).assign(this, init); }
}
export class CourierPreview
{
public DeadlineTitle: string;
public DeadlineLead: string;
public RoomW: string;
public LastW: string;
public GoW: string;
public Zones: CourierPreviewLine[] = [];
public PaySub: string;
public PayRows: CourierPreviewLine[] = [];
public PayTotal: string;
public ProofRows: CourierPreviewLine[] = [];
public Ping: string;
public constructor(init?: Partial<CourierPreview>) { (Object as any).assign(this, init); }
}
export class CourierFleetVehicle
{
public EquipmentID: number;
public UnitNumber: string;
public Name: string;
public VehicleType: string;
public Unit: string;
public Cap?: number;
public Cold: boolean;
public Status: string;
public Assigned: boolean;
public constructor(init?: Partial<CourierFleetVehicle>) { (Object as any).assign(this, init); }
}
export class CourierResponse
{
public Profiles: CourierProfileSummary[] = [];
public Templates: CourierTemplateOption[] = [];
public Profile: CourierProfileView;
public Issues: CourierIssue[] = [];
public Changes: CourierChange[] = [];
public Preview: CourierPreview;
public Fleet: CourierFleetVehicle[] = [];
public ResponseStatus: ResponseStatus;
public constructor(init?: Partial<CourierResponse>) { (Object as any).assign(this, init); }
}
export class CourierProfileCreateRequest
{
public Name: string;
public TemplateKey: string;
public constructor(init?: Partial<CourierProfileCreateRequest>) { (Object as any).assign(this, init); }
}
TypeScript CourierProfileCreateRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/dispatch/courier/profiles HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length
{"Name":"String","TemplateKey":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"Profiles":[{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","Drivers":0}],"Templates":[{"Key":"String","Label":"String","Detail":"String","RouteShape":"String"}],"Profile":{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNounEs":"String","TagMode":"String","TagFormats":["String"],"Pay":{"WorkerClass":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"WaitAfterMin":0,"WaitPerMin":0,"MileageOn":false,"PerMile":0,"MinPerJob":0,"TipsPct":0},"Dispatch":{"PingSecs":0,"RadiusMi":0,"DeclinePenalty":false,"NextRule":"String","GoMin":0,"LastMin":0,"NearFull":0,"MarginMin":0,"TrafficSource":"String"},"Missed":{"WaitMin":0,"Fee":0,"CancelFee":0,"AutoRebook":false,"RequireContact":false,"RequirePhoto":false},"Privacy":{"ThreadHrs":0,"PhotoDays":0,"LockNames":"String","HideAddr":false,"LiveEta":false,"Tipping":false},"Pricing":{"Base":0,"PerUnit":0,"PerMile":0,"MinOrder":0,"TaxPct":0,"FinalAfterCount":false,"ServiceArea":["String"],"WindowMin":0,"Surcharges":{"String":0}},"Booking":{"On":false,"Slug":"String","Asap":false,"MinLeadMin":0,"Open":"String","Close":"String","DriveBufferMin":0,"Zips":["String"],"Recurring":false,"PayTiming":"String"},"Facilities":[{"Code":"String","Name":"String","Address":"String","IntakeMin":0,"Levels":[{"Code":"String","Name":"String","InBy":"String","WithinMin":0,"Ready":"String","Days":[0],"IsOn":false}],"Holidays":["String"]}],"Vehicles":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","Unit":"String","Cap":0,"Cold":false}],"Proof":{"String":{"String":"String"}},"Context":{"Drivers":0,"ProfileCount":0,"PayPlanId":0,"ZoneMode":"String","ZoneName":"String","ZoneCount":0,"HasBookingPage":false,"HasRateConfig":false,"VehicleFacts":{"String":"String"}}},"Issues":[{"Key":"String","Section":"String","Message":"String"}],"Changes":[{"Key":"String","Section":"String","Label":"String","From":"String","To":"String"}],"Preview":{"DeadlineTitle":"String","DeadlineLead":"String","RoomW":"String","LastW":"String","GoW":"String","Zones":[{"K":"String","V":"String","Dot":"String"}],"PaySub":"String","PayRows":[{"K":"String","V":"String","Dot":"String"}],"PayTotal":"String","ProofRows":[{"K":"String","V":"String","Dot":"String"}],"Ping":"String"},"Fleet":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","VehicleType":"String","Unit":"String","Cap":0,"Cold":false,"Status":"String","Assigned":false}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}