Trendsic Platform Service

<back to all web services

CourierNewVehicleRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dispatch/courier/profiles/{Id}/vehicle
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CourierNewVehicleRequest
{
    open var Id:Int? = null
    open var UnitNumber:String? = null
    open var Name:String? = null
    open var VehicleType:String? = null
    open var Unit:String? = null
    open var Cap:BigDecimal? = null
    open var Cold:Boolean? = null
}

open class CourierResponse
{
    open var Profiles:ArrayList<CourierProfileSummary> = ArrayList<CourierProfileSummary>()
    open var Templates:ArrayList<CourierTemplateOption> = ArrayList<CourierTemplateOption>()
    open var Profile:CourierProfileView? = null
    open var Issues:ArrayList<CourierIssue> = ArrayList<CourierIssue>()
    open var Changes:ArrayList<CourierChange> = ArrayList<CourierChange>()
    open var Preview:CourierPreview? = null
    open var Fleet:ArrayList<CourierFleetVehicle> = ArrayList<CourierFleetVehicle>()
    open var ResponseStatus:ResponseStatus? = null
}

open class CourierProfileSummary
{
    open var CourierProfileID:Int? = null
    open var Code:String? = null
    open var Name:String? = null
    open var BusinessName:String? = null
    open var RouteShape:String? = null
    open var Enabled:Boolean? = null
    open var TemplateFrom:String? = null
    open var Drivers:Int? = null
}

open class CourierTemplateOption
{
    open var Key:String? = null
    open var Label:String? = null
    open var Detail:String? = null
    open var RouteShape:String? = null
}

open class CourierProfileView
{
    open var CourierProfileID:Int? = null
    open var Code:String? = null
    open var Name:String? = null
    open var BusinessName:String? = null
    open var RouteShape:String? = null
    open var Enabled:Boolean? = null
    open var TemplateFrom:String? = null
    open var UnitOne:String? = null
    open var UnitMany:String? = null
    open var FacilityNoun:String? = null
    open var UnitOneEs:String? = null
    open var UnitManyEs:String? = null
    open var FacilityNounEs:String? = null
    open var TagMode:String? = null
    open var TagFormats:ArrayList<String> = ArrayList<String>()
    open var Pay:CourierPay? = null
    open var Dispatch:CourierDispatch? = null
    open var Missed:CourierMissed? = null
    open var Privacy:CourierPrivacy? = null
    open var Pricing:CourierPricing? = null
    open var Booking:CourierBooking? = null
    open var Facilities:ArrayList<CourierFacilityView> = ArrayList<CourierFacilityView>()
    open var Vehicles:ArrayList<CourierVehicleView> = ArrayList<CourierVehicleView>()
    open var Proof:HashMap<String,HashMap<String,String>> = HashMap<String,HashMap<String,String>>()
    open var Context:CourierProfileContext? = null
}

open class CourierPay
{
    open var WorkerClass:String? = null
    open var PerPickup:BigDecimal? = null
    open var PerStop:BigDecimal? = null
    open var PerMissed:BigDecimal? = null
    open var PerCancel:BigDecimal? = null
    open var WaitAfterMin:Int? = null
    open var WaitPerMin:BigDecimal? = null
    open var MileageOn:Boolean? = null
    open var PerMile:BigDecimal? = null
    open var MinPerJob:BigDecimal? = null
    open var TipsPct:BigDecimal? = null
}

open class CourierDispatch
{
    open var PingSecs:Int? = null
    open var RadiusMi:BigDecimal? = null
    open var DeclinePenalty:Boolean? = null
    open var NextRule:String? = null
    open var GoMin:Int? = null
    open var LastMin:Int? = null
    open var NearFull:Int? = null
    open var MarginMin:Int? = null
    open var TrafficSource:String? = null
}

open class CourierMissed
{
    open var WaitMin:Int? = null
    open var Fee:BigDecimal? = null
    open var CancelFee:BigDecimal? = null
    open var AutoRebook:Boolean? = null
    open var RequireContact:Boolean? = null
    open var RequirePhoto:Boolean? = null
}

open class CourierPrivacy
{
    open var ThreadHrs:Int? = null
    open var PhotoDays:Int? = null
    open var LockNames:String? = null
    open var HideAddr:Boolean? = null
    open var LiveEta:Boolean? = null
    open var Tipping:Boolean? = null
}

open class CourierPricing
{
    open var Base:BigDecimal? = null
    open var PerUnit:BigDecimal? = null
    open var PerMile:BigDecimal? = null
    open var MinOrder:BigDecimal? = null
    open var TaxPct:BigDecimal? = null
    open var FinalAfterCount:Boolean? = null
    open var ServiceArea:ArrayList<String> = ArrayList<String>()
    open var WindowMin:Int? = null
    open var Surcharges:HashMap<String,BigDecimal> = HashMap<String,BigDecimal>()
}

open class CourierBooking
{
    open var On:Boolean? = null
    open var Slug:String? = null
    open var Asap:Boolean? = null
    open var MinLeadMin:Int? = null
    open var Open:String? = null
    open var Close:String? = null
    open var DriveBufferMin:Int? = null
    open var Zips:ArrayList<String> = ArrayList<String>()
    open var Recurring:Boolean? = null
    open var PayTiming:String? = null
}

open class CourierFacilityView
{
    open var Code:String? = null
    open var Name:String? = null
    open var Address:String? = null
    open var IntakeMin:Int? = null
    open var Levels:ArrayList<CourierLevelView> = ArrayList<CourierLevelView>()
    open var Holidays:ArrayList<String> = ArrayList<String>()
}

open class CourierLevelView
{
    open var Code:String? = null
    open var Name:String? = null
    open var InBy:String? = null
    open var WithinMin:Int? = null
    open var Ready:String? = null
    open var Days:ArrayList<Int> = ArrayList<Int>()
    open var IsOn:Boolean? = null
}

open class CourierVehicleView
{
    open var EquipmentID:Int? = null
    open var UnitNumber:String? = null
    open var Name:String? = null
    open var Unit:String? = null
    open var Cap:BigDecimal? = null
    open var Cold:Boolean? = null
}

open class CourierProfileContext
{
    open var Drivers:Int? = null
    open var ProfileCount:Int? = null
    open var PayPlanId:Int? = null
    open var ZoneMode:String? = null
    open var ZoneName:String? = null
    open var ZoneCount:Int? = null
    open var HasBookingPage:Boolean? = null
    open var HasRateConfig:Boolean? = null
    open var VehicleFacts:HashMap<String,String> = HashMap<String,String>()
}

open class CourierIssue
{
    open var Key:String? = null
    open var Section:String? = null
    open var Message:String? = null
}

open class CourierChange
{
    open var Key:String? = null
    open var Section:String? = null
    open var Label:String? = null
    open var From:String? = null
    open var To:String? = null
}

open class CourierPreview
{
    open var DeadlineTitle:String? = null
    open var DeadlineLead:String? = null
    open var RoomW:String? = null
    open var LastW:String? = null
    open var GoW:String? = null
    open var Zones:ArrayList<CourierPreviewLine> = ArrayList<CourierPreviewLine>()
    open var PaySub:String? = null
    open var PayRows:ArrayList<CourierPreviewLine> = ArrayList<CourierPreviewLine>()
    open var PayTotal:String? = null
    open var ProofRows:ArrayList<CourierPreviewLine> = ArrayList<CourierPreviewLine>()
    open var Ping:String? = null
}

open class CourierPreviewLine
{
    open var K:String? = null
    open var V:String? = null
    open var Dot:String? = null
}

open class CourierFleetVehicle
{
    open var EquipmentID:Int? = null
    open var UnitNumber:String? = null
    open var Name:String? = null
    open var VehicleType:String? = null
    open var Unit:String? = null
    open var Cap:BigDecimal? = null
    open var Cold:Boolean? = null
    open var Status:String? = null
    open var Assigned:Boolean? = null
}

Kotlin CourierNewVehicleRequest DTOs

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

HTTP + CSV

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

POST /v1/dispatch/courier/profiles/{Id}/vehicle HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Id":0,"UnitNumber":"String","Name":"String","VehicleType":"String","Unit":"String","Cap":0,"Cold":false}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Profiles":[{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","Drivers":0}],"Templates":[{"Key":"String","Label":"String","Detail":"String","RouteShape":"String"}],"Profile":{"CourierProfileID":0,"Code":"String","Name":"String","BusinessName":"String","RouteShape":"String","Enabled":false,"TemplateFrom":"String","UnitOne":"String","UnitMany":"String","FacilityNoun":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNounEs":"String","TagMode":"String","TagFormats":["String"],"Pay":{"WorkerClass":"String","PerPickup":0,"PerStop":0,"PerMissed":0,"PerCancel":0,"WaitAfterMin":0,"WaitPerMin":0,"MileageOn":false,"PerMile":0,"MinPerJob":0,"TipsPct":0},"Dispatch":{"PingSecs":0,"RadiusMi":0,"DeclinePenalty":false,"NextRule":"String","GoMin":0,"LastMin":0,"NearFull":0,"MarginMin":0,"TrafficSource":"String"},"Missed":{"WaitMin":0,"Fee":0,"CancelFee":0,"AutoRebook":false,"RequireContact":false,"RequirePhoto":false},"Privacy":{"ThreadHrs":0,"PhotoDays":0,"LockNames":"String","HideAddr":false,"LiveEta":false,"Tipping":false},"Pricing":{"Base":0,"PerUnit":0,"PerMile":0,"MinOrder":0,"TaxPct":0,"FinalAfterCount":false,"ServiceArea":["String"],"WindowMin":0,"Surcharges":{"String":0}},"Booking":{"On":false,"Slug":"String","Asap":false,"MinLeadMin":0,"Open":"String","Close":"String","DriveBufferMin":0,"Zips":["String"],"Recurring":false,"PayTiming":"String"},"Facilities":[{"Code":"String","Name":"String","Address":"String","IntakeMin":0,"Levels":[{"Code":"String","Name":"String","InBy":"String","WithinMin":0,"Ready":"String","Days":[0],"IsOn":false}],"Holidays":["String"]}],"Vehicles":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","Unit":"String","Cap":0,"Cold":false}],"Proof":{"String":{"String":"String"}},"Context":{"Drivers":0,"ProfileCount":0,"PayPlanId":0,"ZoneMode":"String","ZoneName":"String","ZoneCount":0,"HasBookingPage":false,"HasRateConfig":false,"VehicleFacts":{"String":"String"}}},"Issues":[{"Key":"String","Section":"String","Message":"String"}],"Changes":[{"Key":"String","Section":"String","Label":"String","From":"String","To":"String"}],"Preview":{"DeadlineTitle":"String","DeadlineLead":"String","RoomW":"String","LastW":"String","GoW":"String","Zones":[{"K":"String","V":"String","Dot":"String"}],"PaySub":"String","PayRows":[{"K":"String","V":"String","Dot":"String"}],"PayTotal":"String","ProofRows":[{"K":"String","V":"String","Dot":"String"}],"Ping":"String"},"Fleet":[{"EquipmentID":0,"UnitNumber":"String","Name":"String","VehicleType":"String","Unit":"String","Cap":0,"Cold":false,"Status":"String","Assigned":false}],"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}