/* Options: Date: 2026-10-13 00:46:28 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: CourierTrackMessageRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/dispatch/track/{Token}/messages", "POST,OPTIONS") public class CourierTrackMessageRequest : CourierTrackActRequest, IReturn { public typealias Return = DispatchTrackResponse 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 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 CourierTrackActRequest : Codable { public var token:String? public var actToken:String? 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 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 CourierTrackSlot : Codable { public var id:String? public var day:String? public var dayEs:String? public var win:String? 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(){} }