Trendsic Platform Service

<back to all web services

CourierStopReturnRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/worker/dispatch/od/runs/{RunId}/stops/{Seq}/return
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 CourierVanView:
    state: Optional[str] = None
    leave_by_utc: Optional[datetime.datetime] = None
    leave_by_text: Optional[str] = None
    slack_min: Optional[int] = None
    in_van: int = 0
    committed: int = 0
    cap: Optional[Decimal] = None
    cap_unit: Optional[str] = None
    vehicle_unit: Optional[str] = None
    critical_code: Optional[str] = None
    drive_min: int = 0
    facility_name: Optional[str] = None
    send_note: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierItemView:
    courier_item_i_d: int = 0
    dispatch_od_request_i_d: int = 0
    seq: int = 0
    tag_code: Optional[str] = None
    custody: Optional[str] = None
    is_open: bool = False
    is_missing: bool = False
    missing_reason: Optional[str] = None
    is_manual: bool = False
    re_tag_flag: bool = False
    scanned: bool = False


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierDriverOrder:
    code: Optional[str] = None
    courier_step: Optional[str] = None
    route_shape: Optional[str] = None
    profile_name: Optional[str] = None
    unit_one: Optional[str] = None
    unit_many: Optional[str] = None
    facility_noun: Optional[str] = None
    facility_name: Optional[str] = None
    level_name: Optional[str] = None
    due_utc: Optional[datetime.datetime] = None
    due_text: Optional[str] = None
    units: int = 0
    units_found: Optional[int] = None
    area: Optional[str] = None
    minutes: Optional[int] = None
    address: Optional[str] = None
    unit: Optional[str] = None
    city: Optional[str] = None
    lat: Optional[Decimal] = None
    lng: Optional[Decimal] = None
    customer_name: Optional[str] = None
    customer_phone: Optional[str] = None
    handoff: Optional[str] = None
    gate_code: Optional[str] = None
    instructions: Optional[str] = None
    dropoff_address: Optional[str] = None
    dropoff_contact_name: Optional[str] = None
    drop_lat: Optional[Decimal] = None
    drop_lng: Optional[Decimal] = None
    arrived_utc: Optional[datetime.datetime] = None
    tags: List[CourierItemView] = field(default_factory=list)
    proof: Dict[str, str] = field(default_factory=dict)
    photos: Dict[str, int] = field(default_factory=dict)
    needs: List[str] = field(default_factory=list)
    missed_wait_min: int = 0
    missed_require_contact: bool = False
    missed_require_photo: bool = False
    missed_fee: Decimal = decimal.Decimal(0)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierStopView:
    sequence: int = 0
    status: Optional[str] = None
    dispatch_od_request_i_d: int = 0
    code: Optional[str] = None
    courier_step: Optional[str] = None
    address: Optional[str] = None
    unit: Optional[str] = None
    city: Optional[str] = None
    zip: Optional[str] = None
    lat: Optional[Decimal] = None
    lng: Optional[Decimal] = None
    customer_name: Optional[str] = None
    customer_phone: Optional[str] = None
    handoff: Optional[str] = None
    gate_code: Optional[str] = None
    instructions: Optional[str] = None
    units: int = 0
    due_text: Optional[str] = None
    note: Optional[str] = None
    needs: List[str] = field(default_factory=list)
    items: List[CourierItemView] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierRunView:
    courier_run_i_d: int = 0
    code: Optional[str] = None
    status: Optional[str] = None
    courier_profile_id: int = 0
    profile_name: Optional[str] = None
    courier_facility_id: int = 0
    facility_name: Optional[str] = None
    facility_address: Optional[str] = None
    driver_contact_id: Optional[int] = None
    driver_name: Optional[str] = None
    equipment_i_d: Optional[int] = None
    vehicle_unit: Optional[str] = None
    unit_one: Optional[str] = None
    unit_many: Optional[str] = None
    units: int = 0
    stop_count: int = 0
    stops_done: int = 0
    pay: Optional[Decimal] = None
    built_utc: Optional[datetime.datetime] = None
    started_utc: Optional[datetime.datetime] = None
    completed_utc: Optional[datetime.datetime] = None
    to_load: int = 0
    to_return: int = 0
    stops: List[CourierStopView] = field(default_factory=list)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierDriverView:
    driver_code: Optional[str] = None
    name: Optional[str] = None
    online: bool = False
    on_roster: bool = False
    van: Optional[CourierVanView] = None
    current: Optional[CourierDriverOrder] = None
    queue: List[CourierDriverOrder] = field(default_factory=list)
    aboard: List[CourierDriverOrder] = field(default_factory=list)
    runs: List[CourierRunView] = field(default_factory=list)
    up_next: Optional[CourierDriverOrder] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierDriverResponse:
    courier: Optional[CourierDriverView] = None
    result: Optional[str] = None
    detail: Optional[str] = None
    message: Optional[str] = None
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierStopReturnRequest:
    run_id: int = 0
    seq: int = 0
    reason: Optional[str] = None

Python CourierStopReturnRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/worker/dispatch/od/runs/{RunId}/stops/{Seq}/return HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CourierStopReturnRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Reason>String</Reason>
  <RunId>0</RunId>
  <Seq>0</Seq>
</CourierStopReturnRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CourierDriverResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Courier>
    <Aboard>
      <CourierDriverOrder>
        <Address>String</Address>
        <Area>String</Area>
        <ArrivedUtc>0001-01-01T00:00:00</ArrivedUtc>
        <City>String</City>
        <Code>String</Code>
        <CourierStep>String</CourierStep>
        <CustomerName>String</CustomerName>
        <CustomerPhone>String</CustomerPhone>
        <DropLat>0</DropLat>
        <DropLng>0</DropLng>
        <DropoffAddress>String</DropoffAddress>
        <DropoffContactName>String</DropoffContactName>
        <DueText>String</DueText>
        <DueUtc>0001-01-01T00:00:00</DueUtc>
        <FacilityName>String</FacilityName>
        <FacilityNoun>String</FacilityNoun>
        <GateCode>String</GateCode>
        <Handoff>String</Handoff>
        <Instructions>String</Instructions>
        <Lat>0</Lat>
        <LevelName>String</LevelName>
        <Lng>0</Lng>
        <Minutes>0</Minutes>
        <MissedFee>0</MissedFee>
        <MissedRequireContact>false</MissedRequireContact>
        <MissedRequirePhoto>false</MissedRequirePhoto>
        <MissedWaitMin>0</MissedWaitMin>
        <Needs xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </Needs>
        <Photos xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringint>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>0</d5p1:Value>
          </d5p1:KeyValueOfstringint>
        </Photos>
        <ProfileName>String</ProfileName>
        <Proof xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Proof>
        <RouteShape>String</RouteShape>
        <Tags>
          <CourierItemView>
            <CourierItemID>0</CourierItemID>
            <Custody>String</Custody>
            <DispatchOdRequestID>0</DispatchOdRequestID>
            <IsManual>false</IsManual>
            <IsMissing>false</IsMissing>
            <IsOpen>false</IsOpen>
            <MissingReason>String</MissingReason>
            <ReTagFlag>false</ReTagFlag>
            <Scanned>false</Scanned>
            <Seq>0</Seq>
            <TagCode>String</TagCode>
          </CourierItemView>
        </Tags>
        <Unit>String</Unit>
        <UnitMany>String</UnitMany>
        <UnitOne>String</UnitOne>
        <Units>0</Units>
        <UnitsFound>0</UnitsFound>
      </CourierDriverOrder>
    </Aboard>
    <Current>
      <Address>String</Address>
      <Area>String</Area>
      <ArrivedUtc>0001-01-01T00:00:00</ArrivedUtc>
      <City>String</City>
      <Code>String</Code>
      <CourierStep>String</CourierStep>
      <CustomerName>String</CustomerName>
      <CustomerPhone>String</CustomerPhone>
      <DropLat>0</DropLat>
      <DropLng>0</DropLng>
      <DropoffAddress>String</DropoffAddress>
      <DropoffContactName>String</DropoffContactName>
      <DueText>String</DueText>
      <DueUtc>0001-01-01T00:00:00</DueUtc>
      <FacilityName>String</FacilityName>
      <FacilityNoun>String</FacilityNoun>
      <GateCode>String</GateCode>
      <Handoff>String</Handoff>
      <Instructions>String</Instructions>
      <Lat>0</Lat>
      <LevelName>String</LevelName>
      <Lng>0</Lng>
      <Minutes>0</Minutes>
      <MissedFee>0</MissedFee>
      <MissedRequireContact>false</MissedRequireContact>
      <MissedRequirePhoto>false</MissedRequirePhoto>
      <MissedWaitMin>0</MissedWaitMin>
      <Needs xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Needs>
      <Photos xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringint>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>0</d4p1:Value>
        </d4p1:KeyValueOfstringint>
      </Photos>
      <ProfileName>String</ProfileName>
      <Proof xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Proof>
      <RouteShape>String</RouteShape>
      <Tags>
        <CourierItemView>
          <CourierItemID>0</CourierItemID>
          <Custody>String</Custody>
          <DispatchOdRequestID>0</DispatchOdRequestID>
          <IsManual>false</IsManual>
          <IsMissing>false</IsMissing>
          <IsOpen>false</IsOpen>
          <MissingReason>String</MissingReason>
          <ReTagFlag>false</ReTagFlag>
          <Scanned>false</Scanned>
          <Seq>0</Seq>
          <TagCode>String</TagCode>
        </CourierItemView>
      </Tags>
      <Unit>String</Unit>
      <UnitMany>String</UnitMany>
      <UnitOne>String</UnitOne>
      <Units>0</Units>
      <UnitsFound>0</UnitsFound>
    </Current>
    <DriverCode>String</DriverCode>
    <Name>String</Name>
    <OnRoster>false</OnRoster>
    <Online>false</Online>
    <Queue>
      <CourierDriverOrder>
        <Address>String</Address>
        <Area>String</Area>
        <ArrivedUtc>0001-01-01T00:00:00</ArrivedUtc>
        <City>String</City>
        <Code>String</Code>
        <CourierStep>String</CourierStep>
        <CustomerName>String</CustomerName>
        <CustomerPhone>String</CustomerPhone>
        <DropLat>0</DropLat>
        <DropLng>0</DropLng>
        <DropoffAddress>String</DropoffAddress>
        <DropoffContactName>String</DropoffContactName>
        <DueText>String</DueText>
        <DueUtc>0001-01-01T00:00:00</DueUtc>
        <FacilityName>String</FacilityName>
        <FacilityNoun>String</FacilityNoun>
        <GateCode>String</GateCode>
        <Handoff>String</Handoff>
        <Instructions>String</Instructions>
        <Lat>0</Lat>
        <LevelName>String</LevelName>
        <Lng>0</Lng>
        <Minutes>0</Minutes>
        <MissedFee>0</MissedFee>
        <MissedRequireContact>false</MissedRequireContact>
        <MissedRequirePhoto>false</MissedRequirePhoto>
        <MissedWaitMin>0</MissedWaitMin>
        <Needs xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:string>String</d5p1:string>
        </Needs>
        <Photos xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringint>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>0</d5p1:Value>
          </d5p1:KeyValueOfstringint>
        </Photos>
        <ProfileName>String</ProfileName>
        <Proof xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </Proof>
        <RouteShape>String</RouteShape>
        <Tags>
          <CourierItemView>
            <CourierItemID>0</CourierItemID>
            <Custody>String</Custody>
            <DispatchOdRequestID>0</DispatchOdRequestID>
            <IsManual>false</IsManual>
            <IsMissing>false</IsMissing>
            <IsOpen>false</IsOpen>
            <MissingReason>String</MissingReason>
            <ReTagFlag>false</ReTagFlag>
            <Scanned>false</Scanned>
            <Seq>0</Seq>
            <TagCode>String</TagCode>
          </CourierItemView>
        </Tags>
        <Unit>String</Unit>
        <UnitMany>String</UnitMany>
        <UnitOne>String</UnitOne>
        <Units>0</Units>
        <UnitsFound>0</UnitsFound>
      </CourierDriverOrder>
    </Queue>
    <Runs>
      <CourierRunView>
        <BuiltUtc>0001-01-01T00:00:00</BuiltUtc>
        <Code>String</Code>
        <CompletedUtc>0001-01-01T00:00:00</CompletedUtc>
        <CourierFacilityId>0</CourierFacilityId>
        <CourierProfileId>0</CourierProfileId>
        <CourierRunID>0</CourierRunID>
        <DriverContactId>0</DriverContactId>
        <DriverName>String</DriverName>
        <EquipmentID>0</EquipmentID>
        <FacilityAddress>String</FacilityAddress>
        <FacilityName>String</FacilityName>
        <Pay>0</Pay>
        <ProfileName>String</ProfileName>
        <StartedUtc>0001-01-01T00:00:00</StartedUtc>
        <Status>String</Status>
        <StopCount>0</StopCount>
        <Stops>
          <CourierStopView>
            <Address>String</Address>
            <City>String</City>
            <Code>String</Code>
            <CourierStep>String</CourierStep>
            <CustomerName>String</CustomerName>
            <CustomerPhone>String</CustomerPhone>
            <DispatchOdRequestID>0</DispatchOdRequestID>
            <DueText>String</DueText>
            <GateCode>String</GateCode>
            <Handoff>String</Handoff>
            <Instructions>String</Instructions>
            <Items>
              <CourierItemView>
                <CourierItemID>0</CourierItemID>
                <Custody>String</Custody>
                <DispatchOdRequestID>0</DispatchOdRequestID>
                <IsManual>false</IsManual>
                <IsMissing>false</IsMissing>
                <IsOpen>false</IsOpen>
                <MissingReason>String</MissingReason>
                <ReTagFlag>false</ReTagFlag>
                <Scanned>false</Scanned>
                <Seq>0</Seq>
                <TagCode>String</TagCode>
              </CourierItemView>
            </Items>
            <Lat>0</Lat>
            <Lng>0</Lng>
            <Needs xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </Needs>
            <Note>String</Note>
            <Sequence>0</Sequence>
            <Status>String</Status>
            <Unit>String</Unit>
            <Units>0</Units>
            <Zip>String</Zip>
          </CourierStopView>
        </Stops>
        <StopsDone>0</StopsDone>
        <ToLoad>0</ToLoad>
        <ToReturn>0</ToReturn>
        <UnitMany>String</UnitMany>
        <UnitOne>String</UnitOne>
        <Units>0</Units>
        <VehicleUnit>String</VehicleUnit>
      </CourierRunView>
    </Runs>
    <UpNext>
      <Address>String</Address>
      <Area>String</Area>
      <ArrivedUtc>0001-01-01T00:00:00</ArrivedUtc>
      <City>String</City>
      <Code>String</Code>
      <CourierStep>String</CourierStep>
      <CustomerName>String</CustomerName>
      <CustomerPhone>String</CustomerPhone>
      <DropLat>0</DropLat>
      <DropLng>0</DropLng>
      <DropoffAddress>String</DropoffAddress>
      <DropoffContactName>String</DropoffContactName>
      <DueText>String</DueText>
      <DueUtc>0001-01-01T00:00:00</DueUtc>
      <FacilityName>String</FacilityName>
      <FacilityNoun>String</FacilityNoun>
      <GateCode>String</GateCode>
      <Handoff>String</Handoff>
      <Instructions>String</Instructions>
      <Lat>0</Lat>
      <LevelName>String</LevelName>
      <Lng>0</Lng>
      <Minutes>0</Minutes>
      <MissedFee>0</MissedFee>
      <MissedRequireContact>false</MissedRequireContact>
      <MissedRequirePhoto>false</MissedRequirePhoto>
      <MissedWaitMin>0</MissedWaitMin>
      <Needs xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:string>String</d4p1:string>
      </Needs>
      <Photos xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringint>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>0</d4p1:Value>
        </d4p1:KeyValueOfstringint>
      </Photos>
      <ProfileName>String</ProfileName>
      <Proof xmlns:d4p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d4p1:KeyValueOfstringstring>
          <d4p1:Key>String</d4p1:Key>
          <d4p1:Value>String</d4p1:Value>
        </d4p1:KeyValueOfstringstring>
      </Proof>
      <RouteShape>String</RouteShape>
      <Tags>
        <CourierItemView>
          <CourierItemID>0</CourierItemID>
          <Custody>String</Custody>
          <DispatchOdRequestID>0</DispatchOdRequestID>
          <IsManual>false</IsManual>
          <IsMissing>false</IsMissing>
          <IsOpen>false</IsOpen>
          <MissingReason>String</MissingReason>
          <ReTagFlag>false</ReTagFlag>
          <Scanned>false</Scanned>
          <Seq>0</Seq>
          <TagCode>String</TagCode>
        </CourierItemView>
      </Tags>
      <Unit>String</Unit>
      <UnitMany>String</UnitMany>
      <UnitOne>String</UnitOne>
      <Units>0</Units>
      <UnitsFound>0</UnitsFound>
    </UpNext>
    <Van>
      <Cap>0</Cap>
      <CapUnit>String</CapUnit>
      <Committed>0</Committed>
      <CriticalCode>String</CriticalCode>
      <DriveMin>0</DriveMin>
      <FacilityName>String</FacilityName>
      <InVan>0</InVan>
      <LeaveByText>String</LeaveByText>
      <LeaveByUtc>0001-01-01T00:00:00</LeaveByUtc>
      <SendNote>String</SendNote>
      <SlackMin>0</SlackMin>
      <State>String</State>
      <VehicleUnit>String</VehicleUnit>
    </Van>
  </Courier>
  <Detail>String</Detail>
  <Message>String</Message>
  <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>
  <Result>String</Result>
</CourierDriverResponse>