Trendsic Platform Service

<back to all web services

CourierTrackProblemRequest

The following routes are available for this service:
POST,OPTIONS/v1/dispatch/track/{Token}/problem
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 CourierTrackActRequest
    {
        public virtual string Token { get; set; }
        public virtual string ActToken { get; set; }
    }

    public partial class CourierTrackBusiness
    {
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
    }

    public partial class CourierTrackCan
    {
        public virtual bool EditInstructions { get; set; }
        public virtual bool ChangeUnits { get; set; }
        public virtual bool Cancel { get; set; }
        public virtual bool RescheduleDelivery { get; set; }
        public virtual bool Rebook { get; set; }
        public virtual bool Rate { get; set; }
        public virtual bool Message { get; set; }
        public virtual bool Report { get; set; }
        public virtual int MaxUnits { get; set; }
    }

    public partial class CourierTrackDriver
    {
        public virtual string FirstName { get; set; }
        public virtual string Initial { get; set; }
        public virtual string Vehicle { get; set; }
        public virtual string Plate { get; set; }
        public virtual int? EtaMin { get; set; }
        public virtual int? EtaPct { get; set; }
    }

    public partial class CourierTrackMessage
    {
        public virtual string Who { get; set; }
        public virtual bool Mine { get; set; }
        public virtual bool Office { get; set; }
        public virtual string AtText { get; set; }
        public virtual string Body { get; set; }
    }

    public partial class CourierTrackMissed
    {
        public virtual string Code { get; set; }
        public virtual decimal Fee { get; set; }
        public virtual int WaitedMin { get; set; }
        public virtual bool AutoRebook { get; set; }
        public virtual string RebookWindowText { get; set; }
        public virtual List<CourierTrackSlot> Slots { get; set; } = [];
    }

    public partial class CourierTrackProblemRequest
        : CourierTrackActRequest
    {
        public virtual string Reason { get; set; }
        public virtual string Note { get; set; }
        public virtual List<string> Photos { get; set; } = [];
    }

    public partial class CourierTrackProof
    {
        public virtual string Kind { get; set; }
        public virtual string PhotoUrl { get; set; }
        public virtual string AtText { get; set; }
        public virtual bool GpsOk { get; set; }
        public virtual int Units { get; set; }
        public virtual string DamageNote { get; set; }
        public virtual string DeliveredTo { get; set; }
        public virtual int WaitedMin { get; set; }
        public virtual int Attempts { get; set; }
        public virtual string ContactedText { get; set; }
        public virtual bool EachTagged { get; set; }
        public virtual bool EachScanned { get; set; }
    }

    public partial class CourierTrackRating
    {
        public virtual int Stars { get; set; }
        public virtual string Tags { get; set; }
        public virtual decimal Tip { get; set; }
        public virtual string TipStatus { get; set; }
    }

    public partial class CourierTrackSlot
    {
        public virtual string Id { get; set; }
        public virtual string Day { get; set; }
        public virtual string DayEs { get; set; }
        public virtual string Win { get; set; }
    }

    public partial class CourierTrackView
    {
        public virtual string State { get; set; }
        public virtual string Code { get; set; }
        public virtual string RunCode { get; set; }
        public virtual string Shape { get; set; }
        public virtual string Template { get; set; }
        public virtual string CourierStep { get; set; }
        public virtual string UnitOne { get; set; }
        public virtual string UnitMany { get; set; }
        public virtual string UnitOneEs { get; set; }
        public virtual string UnitManyEs { get; set; }
        public virtual string FacilityNoun { get; set; }
        public virtual string FacilityNounEs { get; set; }
        public virtual int Units { get; set; }
        public virtual bool UnitsCounted { get; set; }
        public virtual string Address { get; set; }
        public virtual string DropoffAddress { get; set; }
        public virtual string DropoffName { get; set; }
        public virtual string Instructions { get; set; }
        public virtual string GateCode { get; set; }
        public virtual string Handoff { get; set; }
        public virtual string LevelName { get; set; }
        public virtual string ReadyPromise { get; set; }
        public virtual string WindowText { get; set; }
        public virtual bool IsAsap { get; set; }
        public virtual Dictionary<string, string> Times { get; set; } = new();
        public virtual int? StopPosition { get; set; }
        public virtual int? StopCount { get; set; }
        public virtual string DeliveryWindowText { get; set; }
        public virtual CourierTrackDriver Driver { get; set; }
        public virtual CourierTrackProof Proof { get; set; }
        public virtual string HandoffCode { get; set; }
        public virtual CourierTrackRating Rating { get; set; }
        public virtual bool TipAllowed { get; set; }
        public virtual decimal TipsPct { get; set; }
        public virtual CourierTrackMissed Missed { get; set; }
        public virtual decimal CancelFee { get; set; }
        public virtual decimal CancelFeeCharged { get; set; }
        public virtual string CancelledBy { get; set; }
        public virtual string BookUrl { get; set; }
        public virtual CourierTrackCan Can { get; set; }
        public virtual List<CourierTrackSlot> DeliverySlots { get; set; } = [];
        public virtual List<CourierTrackMessage> Messages { get; set; } = [];
        public virtual bool MessagesOpen { get; set; }
        public virtual string CaseCode { get; set; }
        public virtual string CaseStatus { get; set; }
        public virtual string CaseReply { get; set; }
        public virtual int ThreadHrs { get; set; }
        public virtual DateTime? ExpiresUtc { get; set; }
        public virtual bool LiveEta { get; set; }
        public virtual bool Live { get; set; }
        public virtual DateTime ServerUtc { get; set; }
    }

    public partial class DispatchTrackResponse
    {
        public virtual string Kind { get; set; }
        public virtual string Code { get; set; }
        public virtual string What { get; set; }
        public virtual string FromLoc { get; set; }
        public virtual string ToLoc { get; set; }
        public virtual int? Bags { get; set; }
        public virtual decimal? Fare { get; set; }
        public virtual string PayMode { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual bool Charged { get; set; }
        public virtual string Stage { get; set; }
        public virtual string Headline { get; set; }
        public virtual string Sub { get; set; }
        public virtual bool IsClosed { get; set; }
        public virtual string Eta { get; set; }
        public virtual string DriverName { get; set; }
        public virtual string CustomerName { get; set; }
        public virtual List<DispatchTrackStepView> Steps { get; set; } = [];
        public virtual bool Expired { get; set; }
        public virtual bool Invalid { get; set; }
        public virtual CourierTrackBusiness Business { get; set; }
        public virtual CourierTrackView Courier { get; set; }
        public virtual string Notice { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class DispatchTrackStepView
    {
        public virtual string Name { get; set; }
        public virtual DateTime? At { get; set; }
        public virtual bool Done { get; set; }
        public virtual bool Current { get; set; }
    }

}

C# CourierTrackProblemRequest 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/dispatch/track/{Token}/problem HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<CourierTrackProblemRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ActToken>String</ActToken>
  <Token>String</Token>
  <Note>String</Note>
  <Photos xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </Photos>
  <Reason>String</Reason>
</CourierTrackProblemRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<DispatchTrackResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Bags>0</Bags>
  <Business>
    <Name>String</Name>
    <Phone>String</Phone>
  </Business>
  <CardLast4>String</CardLast4>
  <Charged>false</Charged>
  <Code>String</Code>
  <Courier>
    <Address>String</Address>
    <BookUrl>String</BookUrl>
    <Can>
      <Cancel>false</Cancel>
      <ChangeUnits>false</ChangeUnits>
      <EditInstructions>false</EditInstructions>
      <MaxUnits>0</MaxUnits>
      <Message>false</Message>
      <Rate>false</Rate>
      <Rebook>false</Rebook>
      <Report>false</Report>
      <RescheduleDelivery>false</RescheduleDelivery>
    </Can>
    <CancelFee>0</CancelFee>
    <CancelFeeCharged>0</CancelFeeCharged>
    <CancelledBy>String</CancelledBy>
    <CaseCode>String</CaseCode>
    <CaseReply>String</CaseReply>
    <CaseStatus>String</CaseStatus>
    <Code>String</Code>
    <CourierStep>String</CourierStep>
    <DeliverySlots>
      <CourierTrackSlot>
        <Day>String</Day>
        <DayEs>String</DayEs>
        <Id>String</Id>
        <Win>String</Win>
      </CourierTrackSlot>
    </DeliverySlots>
    <DeliveryWindowText>String</DeliveryWindowText>
    <Driver>
      <EtaMin>0</EtaMin>
      <EtaPct>0</EtaPct>
      <FirstName>String</FirstName>
      <Initial>String</Initial>
      <Plate>String</Plate>
      <Vehicle>String</Vehicle>
    </Driver>
    <DropoffAddress>String</DropoffAddress>
    <DropoffName>String</DropoffName>
    <ExpiresUtc>0001-01-01T00:00:00</ExpiresUtc>
    <FacilityNoun>String</FacilityNoun>
    <FacilityNounEs>String</FacilityNounEs>
    <GateCode>String</GateCode>
    <Handoff>String</Handoff>
    <HandoffCode>String</HandoffCode>
    <Instructions>String</Instructions>
    <IsAsap>false</IsAsap>
    <LevelName>String</LevelName>
    <Live>false</Live>
    <LiveEta>false</LiveEta>
    <Messages>
      <CourierTrackMessage>
        <AtText>String</AtText>
        <Body>String</Body>
        <Mine>false</Mine>
        <Office>false</Office>
        <Who>String</Who>
      </CourierTrackMessage>
    </Messages>
    <MessagesOpen>false</MessagesOpen>
    <Missed>
      <AutoRebook>false</AutoRebook>
      <Code>String</Code>
      <Fee>0</Fee>
      <RebookWindowText>String</RebookWindowText>
      <Slots>
        <CourierTrackSlot>
          <Day>String</Day>
          <DayEs>String</DayEs>
          <Id>String</Id>
          <Win>String</Win>
        </CourierTrackSlot>
      </Slots>
      <WaitedMin>0</WaitedMin>
    </Missed>
    <Proof>
      <AtText>String</AtText>
      <Attempts>0</Attempts>
      <ContactedText>String</ContactedText>
      <DamageNote>String</DamageNote>
      <DeliveredTo>String</DeliveredTo>
      <EachScanned>false</EachScanned>
      <EachTagged>false</EachTagged>
      <GpsOk>false</GpsOk>
      <Kind>String</Kind>
      <PhotoUrl>String</PhotoUrl>
      <Units>0</Units>
      <WaitedMin>0</WaitedMin>
    </Proof>
    <Rating>
      <Stars>0</Stars>
      <Tags>String</Tags>
      <Tip>0</Tip>
      <TipStatus>String</TipStatus>
    </Rating>
    <ReadyPromise>String</ReadyPromise>
    <RunCode>String</RunCode>
    <ServerUtc>0001-01-01T00:00:00</ServerUtc>
    <Shape>String</Shape>
    <State>String</State>
    <StopCount>0</StopCount>
    <StopPosition>0</StopPosition>
    <Template>String</Template>
    <ThreadHrs>0</ThreadHrs>
    <Times xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </Times>
    <TipAllowed>false</TipAllowed>
    <TipsPct>0</TipsPct>
    <UnitMany>String</UnitMany>
    <UnitManyEs>String</UnitManyEs>
    <UnitOne>String</UnitOne>
    <UnitOneEs>String</UnitOneEs>
    <Units>0</Units>
    <UnitsCounted>false</UnitsCounted>
    <WindowText>String</WindowText>
  </Courier>
  <CustomerName>String</CustomerName>
  <DriverName>String</DriverName>
  <Eta>String</Eta>
  <Expired>false</Expired>
  <Fare>0</Fare>
  <FromLoc>String</FromLoc>
  <Headline>String</Headline>
  <Invalid>false</Invalid>
  <IsClosed>false</IsClosed>
  <Kind>String</Kind>
  <Notice>String</Notice>
  <PayMode>String</PayMode>
  <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>
  <Stage>String</Stage>
  <Steps>
    <DispatchTrackStepView>
      <At>0001-01-01T00:00:00</At>
      <Current>false</Current>
      <Done>false</Done>
      <Name>String</Name>
    </DispatchTrackStepView>
  </Steps>
  <Sub>String</Sub>
  <ToLoc>String</ToLoc>
  <What>String</What>
</DispatchTrackResponse>