| GET,OPTIONS | /v1/dispatch/courier/profiles/{Id} |
|---|
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 CourierProfileRequest
{
public Id: number;
public FacilityCode: string;
public constructor(init?: Partial<CourierProfileRequest>) { (Object as any).assign(this, init); }
}
TypeScript CourierProfileRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/dispatch/courier/profiles/{Id} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}
}
}