Trendsic Platform Service

<back to all web services

CourierTrackInstructionsRequest

The following routes are available for this service:
POST,OPTIONS/v1/dispatch/track/{Token}/instructions
import Foundation
import ServiceStack

public class CourierTrackInstructionsRequest : CourierTrackActRequest
{
    public var text:String

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case text
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        text = try container.decodeIfPresent(String.self, forKey: .text)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if text != nil { try container.encode(text, forKey: .text) }
    }
}

public class CourierTrackActRequest : Codable
{
    public var token:String
    public var actToken:String

    required public init(){}
}

public class DispatchTrackResponse : Codable
{
    public var kind:String
    public var code:String
    public var what:String
    public var fromLoc:String
    public var toLoc:String
    public var bags:Int?
    public var fare:Double?
    public var payMode:String
    public var cardLast4:String
    public var charged:Bool
    public var stage:String
    public var headline:String
    public var sub:String
    public var isClosed:Bool
    public var eta:String
    public var driverName:String
    public var customerName:String
    public var steps:[DispatchTrackStepView] = []
    public var expired:Bool
    public var invalid:Bool
    public var business:CourierTrackBusiness
    public var courier:CourierTrackView
    public var notice:String
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class DispatchTrackStepView : Codable
{
    public var name:String
    public var at:Date?
    public var done:Bool
    public var current:Bool

    required public init(){}
}

public class CourierTrackBusiness : Codable
{
    public var name:String
    public var phone:String

    required public init(){}
}

public class CourierTrackView : Codable
{
    public var state:String
    public var code:String
    public var runCode:String
    public var shape:String
    public var template:String
    public var courierStep:String
    public var unitOne:String
    public var unitMany:String
    public var unitOneEs:String
    public var unitManyEs:String
    public var facilityNoun:String
    public var facilityNounEs:String
    public var units:Int
    public var unitsCounted:Bool
    public var address:String
    public var dropoffAddress:String
    public var dropoffName:String
    public var instructions:String
    public var gateCode:String
    public var handoff:String
    public var levelName:String
    public var readyPromise:String
    public var windowText:String
    public var isAsap:Bool
    public var times:[String:String] = [:]
    public var stopPosition:Int?
    public var stopCount:Int?
    public var deliveryWindowText:String
    public var driver:CourierTrackDriver
    public var proof:CourierTrackProof
    public var handoffCode:String
    public var rating:CourierTrackRating
    public var tipAllowed:Bool
    public var tipsPct:Double
    public var missed:CourierTrackMissed
    public var cancelFee:Double
    public var cancelFeeCharged:Double
    public var cancelledBy:String
    public var bookUrl:String
    public var can:CourierTrackCan
    public var deliverySlots:[CourierTrackSlot] = []
    public var messages:[CourierTrackMessage] = []
    public var messagesOpen:Bool
    public var caseCode:String
    public var caseStatus:String
    public var caseReply:String
    public var threadHrs:Int
    public var expiresUtc:Date?
    public var liveEta:Bool
    public var live:Bool
    public var serverUtc:Date

    required public init(){}
}

public class CourierTrackDriver : Codable
{
    public var firstName:String
    public var initial:String
    public var vehicle:String
    public var plate:String
    public var etaMin:Int?
    public var etaPct:Int?

    required public init(){}
}

public class CourierTrackProof : Codable
{
    public var kind:String
    public var photoUrl:String
    public var atText:String
    public var gpsOk:Bool
    public var units:Int
    public var damageNote:String
    public var deliveredTo:String
    public var waitedMin:Int
    public var attempts:Int
    public var contactedText:String
    public var eachTagged:Bool
    public var eachScanned:Bool

    required public init(){}
}

public class CourierTrackRating : Codable
{
    public var stars:Int
    public var tags:String
    public var tip:Double
    public var tipStatus:String

    required public init(){}
}

public class CourierTrackMissed : Codable
{
    public var code:String
    public var fee:Double
    public var waitedMin:Int
    public var autoRebook:Bool
    public var rebookWindowText:String
    public var slots:[CourierTrackSlot] = []

    required public init(){}
}

public class CourierTrackSlot : Codable
{
    public var id:String
    public var day:String
    public var dayEs:String
    public var win:String

    required public init(){}
}

public class CourierTrackCan : Codable
{
    public var editInstructions:Bool
    public var changeUnits:Bool
    public var cancel:Bool
    public var rescheduleDelivery:Bool
    public var rebook:Bool
    public var rate:Bool
    public var message:Bool
    public var report:Bool
    public var maxUnits:Int

    required public init(){}
}

public class CourierTrackMessage : Codable
{
    public var who:String
    public var mine:Bool
    public var office:Bool
    public var atText:String
    public var body:String

    required public init(){}
}


Swift CourierTrackInstructionsRequest DTOs

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

HTTP + OTHER

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

POST /v1/dispatch/track/{Token}/instructions HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"Text":"String","Token":"String","ActToken":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"Kind":"String","Code":"String","What":"String","FromLoc":"String","ToLoc":"String","Bags":0,"Fare":0,"PayMode":"String","CardLast4":"String","Charged":false,"Stage":"String","Headline":"String","Sub":"String","IsClosed":false,"Eta":"String","DriverName":"String","CustomerName":"String","Steps":[{"Name":"String","At":"0001-01-01T00:00:00.0000000","Done":false,"Current":false}],"Expired":false,"Invalid":false,"Business":{"Name":"String","Phone":"String"},"Courier":{"State":"String","Code":"String","RunCode":"String","Shape":"String","Template":"String","CourierStep":"String","UnitOne":"String","UnitMany":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNoun":"String","FacilityNounEs":"String","Units":0,"UnitsCounted":false,"Address":"String","DropoffAddress":"String","DropoffName":"String","Instructions":"String","GateCode":"String","Handoff":"String","LevelName":"String","ReadyPromise":"String","WindowText":"String","IsAsap":false,"Times":{"String":"String"},"StopPosition":0,"StopCount":0,"DeliveryWindowText":"String","Driver":{"FirstName":"String","Initial":"String","Vehicle":"String","Plate":"String","EtaMin":0,"EtaPct":0},"Proof":{"Kind":"String","PhotoUrl":"String","AtText":"String","GpsOk":false,"Units":0,"DamageNote":"String","DeliveredTo":"String","WaitedMin":0,"Attempts":0,"ContactedText":"String","EachTagged":false,"EachScanned":false},"HandoffCode":"String","Rating":{"Stars":0,"Tags":"String","Tip":0,"TipStatus":"String"},"TipAllowed":false,"TipsPct":0,"Missed":{"Code":"String","Fee":0,"WaitedMin":0,"AutoRebook":false,"RebookWindowText":"String","Slots":[{"Id":"String","Day":"String","DayEs":"String","Win":"String"}]},"CancelFee":0,"CancelFeeCharged":0,"CancelledBy":"String","BookUrl":"String","Can":{"EditInstructions":false,"ChangeUnits":false,"Cancel":false,"RescheduleDelivery":false,"Rebook":false,"Rate":false,"Message":false,"Report":false,"MaxUnits":0},"DeliverySlots":[{"Id":"String","Day":"String","DayEs":"String","Win":"String"}],"Messages":[{"Who":"String","Mine":false,"Office":false,"AtText":"String","Body":"String"}],"MessagesOpen":false,"CaseCode":"String","CaseStatus":"String","CaseReply":"String","ThreadHrs":0,"ExpiresUtc":"0001-01-01T00:00:00.0000000","LiveEta":false,"Live":false,"ServerUtc":"0001-01-01T00:00:00.0000000"},"Notice":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}