| GET,OPTIONS | /v1/dispatch/courier/profiles |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierProfileSummary:
courier_profile_i_d: int = 0
code: Optional[str] = None
name: Optional[str] = None
business_name: Optional[str] = None
route_shape: Optional[str] = None
enabled: bool = False
template_from: Optional[str] = None
drivers: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierTemplateOption:
key: Optional[str] = None
label: Optional[str] = None
detail: Optional[str] = None
route_shape: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierPay:
worker_class: Optional[str] = None
per_pickup: Decimal = decimal.Decimal(0)
per_stop: Decimal = decimal.Decimal(0)
per_missed: Decimal = decimal.Decimal(0)
per_cancel: Decimal = decimal.Decimal(0)
wait_after_min: int = 0
wait_per_min: Decimal = decimal.Decimal(0)
mileage_on: bool = False
per_mile: Decimal = decimal.Decimal(0)
min_per_job: Decimal = decimal.Decimal(0)
tips_pct: Decimal = decimal.Decimal(0)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierDispatch:
ping_secs: int = 0
radius_mi: Decimal = decimal.Decimal(0)
decline_penalty: bool = False
next_rule: Optional[str] = None
go_min: int = 0
last_min: int = 0
near_full: int = 0
margin_min: int = 0
traffic_source: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierMissed:
wait_min: int = 0
fee: Decimal = decimal.Decimal(0)
cancel_fee: Decimal = decimal.Decimal(0)
auto_rebook: bool = False
require_contact: bool = False
require_photo: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierPrivacy:
thread_hrs: int = 0
photo_days: int = 0
lock_names: Optional[str] = None
hide_addr: bool = False
live_eta: bool = False
tipping: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierPricing:
base: Decimal = decimal.Decimal(0)
per_unit: Decimal = decimal.Decimal(0)
per_mile: Decimal = decimal.Decimal(0)
min_order: Decimal = decimal.Decimal(0)
tax_pct: Decimal = decimal.Decimal(0)
final_after_count: bool = False
service_area: List[str] = field(default_factory=list)
window_min: int = 0
surcharges: Dict[str, Decimal] = field(default_factory=dict)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBooking:
on: bool = False
slug: Optional[str] = None
asap: bool = False
min_lead_min: int = 0
open: Optional[str] = None
close: Optional[str] = None
drive_buffer_min: int = 0
zips: List[str] = field(default_factory=list)
recurring: bool = False
pay_timing: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierLevelView:
code: Optional[str] = None
name: Optional[str] = None
in_by: Optional[str] = None
within_min: int = 0
ready: Optional[str] = None
days: List[int] = field(default_factory=list)
is_on: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierFacilityView:
code: Optional[str] = None
name: Optional[str] = None
address: Optional[str] = None
intake_min: int = 0
levels: List[CourierLevelView] = field(default_factory=list)
holidays: List[str] = field(default_factory=list)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierVehicleView:
equipment_i_d: int = 0
unit_number: Optional[str] = None
name: Optional[str] = None
unit: Optional[str] = None
cap: Decimal = decimal.Decimal(0)
cold: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierProfileContext:
drivers: int = 0
profile_count: int = 0
pay_plan_id: Optional[int] = None
zone_mode: Optional[str] = None
zone_name: Optional[str] = None
zone_count: int = 0
has_booking_page: bool = False
has_rate_config: bool = False
vehicle_facts: Dict[str, str] = field(default_factory=dict)
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierProfileView:
courier_profile_i_d: int = 0
code: Optional[str] = None
name: Optional[str] = None
business_name: Optional[str] = None
route_shape: Optional[str] = None
enabled: bool = False
template_from: Optional[str] = None
unit_one: Optional[str] = None
unit_many: Optional[str] = None
facility_noun: Optional[str] = None
unit_one_es: Optional[str] = None
unit_many_es: Optional[str] = None
facility_noun_es: Optional[str] = None
tag_mode: Optional[str] = None
tag_formats: List[str] = field(default_factory=list)
pay: Optional[CourierPay] = None
dispatch: Optional[CourierDispatch] = None
missed: Optional[CourierMissed] = None
privacy: Optional[CourierPrivacy] = None
pricing: Optional[CourierPricing] = None
booking: Optional[CourierBooking] = None
facilities: List[CourierFacilityView] = field(default_factory=list)
vehicles: List[CourierVehicleView] = field(default_factory=list)
proof: Dict[str, Dict[str, str]] = field(default_factory=dict)
context: Optional[CourierProfileContext] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierIssue:
key: Optional[str] = None
section: Optional[str] = None
message: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierChange:
key: Optional[str] = None
section: Optional[str] = None
label: Optional[str] = None
from_: Optional[str] = field(metadata=config(field_name='from'), default=None)
to: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierPreviewLine:
k: Optional[str] = None
v: Optional[str] = None
dot: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierPreview:
deadline_title: Optional[str] = None
deadline_lead: Optional[str] = None
room_w: Optional[str] = None
last_w: Optional[str] = None
go_w: Optional[str] = None
zones: List[CourierPreviewLine] = field(default_factory=list)
pay_sub: Optional[str] = None
pay_rows: List[CourierPreviewLine] = field(default_factory=list)
pay_total: Optional[str] = None
proof_rows: List[CourierPreviewLine] = field(default_factory=list)
ping: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierFleetVehicle:
equipment_i_d: int = 0
unit_number: Optional[str] = None
name: Optional[str] = None
vehicle_type: Optional[str] = None
unit: Optional[str] = None
cap: Optional[Decimal] = None
cold: bool = False
status: Optional[str] = None
assigned: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierResponse:
profiles: List[CourierProfileSummary] = field(default_factory=list)
templates: List[CourierTemplateOption] = field(default_factory=list)
profile: Optional[CourierProfileView] = None
issues: List[CourierIssue] = field(default_factory=list)
changes: List[CourierChange] = field(default_factory=list)
preview: Optional[CourierPreview] = None
fleet: List[CourierFleetVehicle] = field(default_factory=list)
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierProfilesRequest:
pass
Python CourierProfilesRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/dispatch/courier/profiles HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<CourierResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Changes>
<CourierChange>
<From>String</From>
<Key>String</Key>
<Label>String</Label>
<Section>String</Section>
<To>String</To>
</CourierChange>
</Changes>
<Fleet>
<CourierFleetVehicle>
<Assigned>false</Assigned>
<Cap>0</Cap>
<Cold>false</Cold>
<EquipmentID>0</EquipmentID>
<Name>String</Name>
<Status>String</Status>
<Unit>String</Unit>
<UnitNumber>String</UnitNumber>
<VehicleType>String</VehicleType>
</CourierFleetVehicle>
</Fleet>
<Issues>
<CourierIssue>
<Key>String</Key>
<Message>String</Message>
<Section>String</Section>
</CourierIssue>
</Issues>
<Preview>
<DeadlineLead>String</DeadlineLead>
<DeadlineTitle>String</DeadlineTitle>
<GoW>String</GoW>
<LastW>String</LastW>
<PayRows>
<CourierPreviewLine>
<Dot>String</Dot>
<K>String</K>
<V>String</V>
</CourierPreviewLine>
</PayRows>
<PaySub>String</PaySub>
<PayTotal>String</PayTotal>
<Ping>String</Ping>
<ProofRows>
<CourierPreviewLine>
<Dot>String</Dot>
<K>String</K>
<V>String</V>
</CourierPreviewLine>
</ProofRows>
<RoomW>String</RoomW>
<Zones>
<CourierPreviewLine>
<Dot>String</Dot>
<K>String</K>
<V>String</V>
</CourierPreviewLine>
</Zones>
</Preview>
<Profile>
<Booking>
<Asap>false</Asap>
<Close>String</Close>
<DriveBufferMin>0</DriveBufferMin>
<MinLeadMin>0</MinLeadMin>
<On>false</On>
<Open>String</Open>
<PayTiming>String</PayTiming>
<Recurring>false</Recurring>
<Slug>String</Slug>
<Zips xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</Zips>
</Booking>
<BusinessName>String</BusinessName>
<Code>String</Code>
<Context>
<Drivers>0</Drivers>
<HasBookingPage>false</HasBookingPage>
<HasRateConfig>false</HasRateConfig>
<PayPlanId>0</PayPlanId>
<ProfileCount>0</ProfileCount>
<VehicleFacts xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringstring>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>String</d4p1:Value>
</d4p1:KeyValueOfstringstring>
</VehicleFacts>
<ZoneCount>0</ZoneCount>
<ZoneMode>String</ZoneMode>
<ZoneName>String</ZoneName>
</Context>
<CourierProfileID>0</CourierProfileID>
<Dispatch>
<DeclinePenalty>false</DeclinePenalty>
<GoMin>0</GoMin>
<LastMin>0</LastMin>
<MarginMin>0</MarginMin>
<NearFull>0</NearFull>
<NextRule>String</NextRule>
<PingSecs>0</PingSecs>
<RadiusMi>0</RadiusMi>
<TrafficSource>String</TrafficSource>
</Dispatch>
<Enabled>false</Enabled>
<Facilities>
<CourierFacilityView>
<Address>String</Address>
<Code>String</Code>
<Holidays xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:string>String</d5p1:string>
</Holidays>
<IntakeMin>0</IntakeMin>
<Levels>
<CourierLevelView>
<Code>String</Code>
<Days xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d7p1:int>0</d7p1:int>
</Days>
<InBy>String</InBy>
<IsOn>false</IsOn>
<Name>String</Name>
<Ready>String</Ready>
<WithinMin>0</WithinMin>
</CourierLevelView>
</Levels>
<Name>String</Name>
</CourierFacilityView>
</Facilities>
<FacilityNoun>String</FacilityNoun>
<FacilityNounEs>String</FacilityNounEs>
<Missed>
<AutoRebook>false</AutoRebook>
<CancelFee>0</CancelFee>
<Fee>0</Fee>
<RequireContact>false</RequireContact>
<RequirePhoto>false</RequirePhoto>
<WaitMin>0</WaitMin>
</Missed>
<Name>String</Name>
<Pay>
<MileageOn>false</MileageOn>
<MinPerJob>0</MinPerJob>
<PerCancel>0</PerCancel>
<PerMile>0</PerMile>
<PerMissed>0</PerMissed>
<PerPickup>0</PerPickup>
<PerStop>0</PerStop>
<TipsPct>0</TipsPct>
<WaitAfterMin>0</WaitAfterMin>
<WaitPerMin>0</WaitPerMin>
<WorkerClass>String</WorkerClass>
</Pay>
<Pricing>
<Base>0</Base>
<FinalAfterCount>false</FinalAfterCount>
<MinOrder>0</MinOrder>
<PerMile>0</PerMile>
<PerUnit>0</PerUnit>
<ServiceArea xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:string>String</d4p1:string>
</ServiceArea>
<Surcharges xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d4p1:KeyValueOfstringdecimal>
<d4p1:Key>String</d4p1:Key>
<d4p1:Value>0</d4p1:Value>
</d4p1:KeyValueOfstringdecimal>
</Surcharges>
<TaxPct>0</TaxPct>
<WindowMin>0</WindowMin>
</Pricing>
<Privacy>
<HideAddr>false</HideAddr>
<LiveEta>false</LiveEta>
<LockNames>String</LockNames>
<PhotoDays>0</PhotoDays>
<ThreadHrs>0</ThreadHrs>
<Tipping>false</Tipping>
</Privacy>
<Proof xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringArrayOfKeyValueOfstringstringty7Ep6D1>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d3p1:Value>
</d3p1:KeyValueOfstringArrayOfKeyValueOfstringstringty7Ep6D1>
</Proof>
<RouteShape>String</RouteShape>
<TagFormats xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>String</d3p1:string>
</TagFormats>
<TagMode>String</TagMode>
<TemplateFrom>String</TemplateFrom>
<UnitMany>String</UnitMany>
<UnitManyEs>String</UnitManyEs>
<UnitOne>String</UnitOne>
<UnitOneEs>String</UnitOneEs>
<Vehicles>
<CourierVehicleView>
<Cap>0</Cap>
<Cold>false</Cold>
<EquipmentID>0</EquipmentID>
<Name>String</Name>
<Unit>String</Unit>
<UnitNumber>String</UnitNumber>
</CourierVehicleView>
</Vehicles>
</Profile>
<Profiles>
<CourierProfileSummary>
<BusinessName>String</BusinessName>
<Code>String</Code>
<CourierProfileID>0</CourierProfileID>
<Drivers>0</Drivers>
<Enabled>false</Enabled>
<Name>String</Name>
<RouteShape>String</RouteShape>
<TemplateFrom>String</TemplateFrom>
</CourierProfileSummary>
</Profiles>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<Templates>
<CourierTemplateOption>
<Detail>String</Detail>
<Key>String</Key>
<Label>String</Label>
<RouteShape>String</RouteShape>
</CourierTemplateOption>
</Templates>
</CourierResponse>