Trendsic Platform Service

<back to all web services

CourierCustomerBillingRequest

Requires Authentication
The following routes are available for this service:
PUT/v1/dispatch/courier/customers/{ContactId}/billing
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CourierCustomerBillingRequest
{
    open var ContactId:Int? = null
    open var Mode:String? = null
    open var AccountCode:String? = null
    open var Q:String? = null
}

open class CustomerAppResponse
{
    open var Boot:CustomerAppBoot? = null
    open var Customer:CustomerAppMe? = null
    open var Addresses:ArrayList<CustomerAppAddress> = ArrayList<CustomerAppAddress>()
    open var Cards:ArrayList<CustomerAppCard> = ArrayList<CustomerAppCard>()
    open var Notif:CustomerAppNotif? = null
    open var Recurring:ArrayList<CustomerAppRecurrence> = ArrayList<CustomerAppRecurrence>()
    open var Booked:CourierBookOrderResponse? = null
    open var Sent:Boolean? = null
    open var Token:String? = null
    open var NeedsName:Boolean? = null
    open var Name:String? = null
    open var Url:String? = null
    open var ClientSecret:String? = null
    open var PublishableKey:String? = null
    open var Message:String? = null
    open var ReopenStep:String? = null
    open var Customers:ArrayList<CourierCustomerRow> = ArrayList<CourierCustomerRow>()
    open var Run:RunResult? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class CustomerAppBoot
{
    open var Profile:String? = null
    open var Available:Boolean? = null
    open var Reason:String? = null
    open var AuthMethod:String? = null
    open var Slug:String? = null
    open var Page:CourierBookPageView? = null
    open var ManifestUrl:String? = null
}

open class CourierBookPageView
{
    open var Available:Boolean? = null
    open var BookingOn:Boolean? = null
    open var Business:CourierTrackBusiness? = null
    open var Profile:CourierBookProfile? = null
    open var Profiles:ArrayList<CourierBookProfileLink> = ArrayList<CourierBookProfileLink>()
    open var CardEnabled:Boolean? = null
    open var PublishableKey:String? = null
    open var AppUrl:String? = null
    open var Today:String? = null
    open var Weekday:Int? = null
    open var NowMin:Int? = null
}

open class CourierTrackBusiness
{
    open var Name:String? = null
    open var Phone:String? = null
}

open class CourierBookProfile
{
    open var Code:String? = null
    open var Name:String? = null
    open var Shape:String? = null
    open var Template:String? = null
    open var UnitOne:String? = null
    open var UnitMany:String? = null
    open var UnitOneEs:String? = null
    open var UnitManyEs:String? = null
    open var FacilityNoun:String? = null
    open var FacilityNounEs:String? = null
    open var FacilityName:String? = null
    open var Levels:ArrayList<CourierBookLevel> = ArrayList<CourierBookLevel>()
    open var Asap:Boolean? = null
    open var Recurring:Boolean? = null
    open var PayTiming:String? = null
    open var FinalAfterCount:Boolean? = null
    open var CancelFee:BigDecimal? = null
    open var MissedFee:BigDecimal? = null
    open var MissedWaitMin:Int? = null
    open var ServiceArea:ArrayList<String> = ArrayList<String>()
    open var Zips:ArrayList<String> = ArrayList<String>()
    open var Handoffs:HandoffOptions? = null
}

open class CourierBookLevel
{
    open var Code:String? = null
    open var Name:String? = null
    open var Ready:String? = null
    open var WithinMin:Int? = null
    open var InBy:String? = null
    open var Surcharge:BigDecimal? = null
    open var Days:ArrayList<Int> = ArrayList<Int>()
    open var DeadlineMin:Int? = null
}

open class HandoffOptions
{
    open var Hand:Boolean? = null
    open var Porch:Boolean? = null
    open var Desk:Boolean? = null
    open var SigRequired:Boolean? = null
    open var IdRequired:Boolean? = null
    open var CodeRequired:Boolean? = null
}

open class CourierBookProfileLink
{
    open var Code:String? = null
    open var Name:String? = null
    open var Shape:String? = null
}

open class CustomerAppMe
{
    open var ContactId:Int? = null
    open var FirstName:String? = null
    open var LastName:String? = null
    open var Name:String? = null
    open var Phone:String? = null
    open var NeedsName:Boolean? = null
    open var BillingMode:String? = null
    open var AccountCode:String? = null
    open var Addresses:ArrayList<CustomerAppAddress> = ArrayList<CustomerAppAddress>()
    open var Cards:ArrayList<CustomerAppCard> = ArrayList<CustomerAppCard>()
    open var Notif:CustomerAppNotif? = null
    open var Orders:ArrayList<CustomerAppOrder> = ArrayList<CustomerAppOrder>()
    open var Recurring:ArrayList<CustomerAppRecurrence> = ArrayList<CustomerAppRecurrence>()
    open var Invoices:ArrayList<CustomerAppInvoice> = ArrayList<CustomerAppInvoice>()
    open var Today:String? = null
    open var NowMin:Int? = null
}

open class CustomerAppAddress
{
    open var Id:Int? = null
    open var Label:String? = null
    open var Street:String? = null
    open var Unit:String? = null
    open var City:String? = null
    open var Zip:String? = null
    open var Lat:BigDecimal? = null
    open var Lng:BigDecimal? = null
    open var InArea:Boolean? = null
}

open class CustomerAppCard
{
    open var Id:Int? = null
    open var Label:String? = null
    open var Brand:String? = null
    open var Last4:String? = null
    open var IsDefault:Boolean? = null
}

open class CustomerAppNotif
{
    open var Texts:Boolean? = null
    open var Push:Boolean? = null
    open var Promos:Boolean? = null
}

open class CustomerAppOrder
{
    open var Id:Int? = null
    open var Code:String? = null
    open var Status:String? = null
    open var State:String? = null
    open var Active:Boolean? = null
    open var LevelCode:String? = null
    open var LevelName:String? = null
    open var Units:Int? = null
    open var UnitsFound:Int? = null
    open var Address:String? = null
    open var Unit:String? = null
    open var Zip:String? = null
    open var DropAddress:String? = null
    open var RecipientName:String? = null
    open var Handoff:String? = null
    open var IsAsap:Boolean? = null
    open var DayIx:Int? = null
    open var DateText:String? = null
    open var StartMin:Int? = null
    open var EndMin:Int? = null
    open var DriverFirstName:String? = null
    open var EtaMin:Int? = null
    open var Promise:String? = null
    open var PayMode:String? = null
    open var Amount:BigDecimal? = null
    open var Charged:BigDecimal? = null
    open var Tip:BigDecimal? = null
    open var CardLast4:String? = null
    open var RecurrenceId:Int? = null
    open var Steps:ArrayList<CustomerAppStep> = ArrayList<CustomerAppStep>()
}

open class CustomerAppStep
{
    open var Key:String? = null
    open var Done:Boolean? = null
    open var Time:String? = null
}

open class CustomerAppRecurrence
{
    open var Id:Int? = null
    open var Weekday:Int? = null
    open var StartMin:Int? = null
    open var EndMin:Int? = null
    open var Cadence:String? = null
    open var LevelCode:String? = null
    open var Units:Int? = null
    open var Handoff:String? = null
    open var Address:String? = null
    open var Paused:Boolean? = null
    open var PayMode:String? = null
    open var CardLast4:String? = null
    open var NextDate:String? = null
    open var SkippedDate:String? = null
    open var AheadDays:Int? = null
}

open class CustomerAppInvoice
{
    open var Uid:UUID? = null
    open var Number:String? = null
    open var DateText:String? = null
    open var Total:BigDecimal? = null
    open var Balance:BigDecimal? = null
    open var Paid:Boolean? = null
}

open class CourierBookOrderResponse
{
    open var Done:Boolean? = null
    open var NeedsAction:Boolean? = null
    open var ClientSecret:String? = null
    open var SetupIntentId:String? = null
    open var Code:String? = null
    open var TrackUrl:String? = null
    open var IcsUrl:String? = null
    open var WindowText:String? = null
    open var Promise:String? = null
    open var Total:BigDecimal? = null
    open var PayTiming:String? = null
    open var CardLast4:String? = null
    open var Repeats:String? = null
    open var LinkSentBy:String? = null
    open var ReopenStep:String? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class CourierCustomerRow
{
    open var ContactId:Int? = null
    open var Name:String? = null
    open var Phone:String? = null
    open var BillingMode:String? = null
    open var AccountCode:String? = null
    open var Orders:Int? = null
    open var LastOrderAt:Date? = null
    open var Unbilled:Int? = null
    open var UnbilledAmount:BigDecimal? = null
    open var Cards:Int? = null
}

open class RunResult
{
    open var Invoices:Int? = null
    open var Orders:Int? = null
    open var Total:BigDecimal? = null
    open var Skipped:ArrayList<String> = ArrayList<String>()
}

Kotlin CourierCustomerBillingRequest DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

PUT /v1/dispatch/courier/customers/{ContactId}/billing HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"ContactId":0,"Mode":"String","AccountCode":"String","Q":"String"}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"Boot":{"Profile":"String","Available":false,"Reason":"String","AuthMethod":"String","Slug":"String","Page":{"Available":false,"BookingOn":false,"Business":{"Name":"String","Phone":"String"},"Profile":{"Code":"String","Name":"String","Shape":"String","Template":"String","UnitOne":"String","UnitMany":"String","UnitOneEs":"String","UnitManyEs":"String","FacilityNoun":"String","FacilityNounEs":"String","FacilityName":"String","Levels":[{"Code":"String","Name":"String","Ready":"String","WithinMin":0,"InBy":"String","Surcharge":0,"Days":[0],"DeadlineMin":0}],"Asap":false,"Recurring":false,"PayTiming":"String","FinalAfterCount":false,"CancelFee":0,"MissedFee":0,"MissedWaitMin":0,"ServiceArea":["String"],"Zips":["String"],"Handoffs":{"Hand":false,"Porch":false,"Desk":false,"SigRequired":false,"IdRequired":false,"CodeRequired":false}},"Profiles":[{"Code":"String","Name":"String","Shape":"String"}],"CardEnabled":false,"PublishableKey":"String","AppUrl":"String","Today":"String","Weekday":0,"NowMin":0},"ManifestUrl":"String"},"Customer":{"ContactId":0,"FirstName":"String","LastName":"String","Name":"String","Phone":"String","NeedsName":false,"BillingMode":"String","AccountCode":"String","Addresses":[{"Id":0,"Label":"String","Street":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"InArea":false}],"Cards":[{"Id":0,"Label":"String","Brand":"String","Last4":"String","IsDefault":false}],"Notif":{"Texts":false,"Push":false,"Promos":false},"Orders":[{"Id":0,"Code":"String","Status":"String","State":"String","Active":false,"LevelCode":"String","LevelName":"String","Units":0,"UnitsFound":0,"Address":"String","Unit":"String","Zip":"String","DropAddress":"String","RecipientName":"String","Handoff":"String","IsAsap":false,"DayIx":0,"DateText":"String","StartMin":0,"EndMin":0,"DriverFirstName":"String","EtaMin":0,"Promise":"String","PayMode":"String","Amount":0,"Charged":0,"Tip":0,"CardLast4":"String","RecurrenceId":0,"Steps":[{"Key":"String","Done":false,"Time":"String"}]}],"Recurring":[{"Id":0,"Weekday":0,"StartMin":0,"EndMin":0,"Cadence":"String","LevelCode":"String","Units":0,"Handoff":"String","Address":"String","Paused":false,"PayMode":"String","CardLast4":"String","NextDate":"String","SkippedDate":"String","AheadDays":0}],"Invoices":[{"Uid":"00000000000000000000000000000000","Number":"String","DateText":"String","Total":0,"Balance":0,"Paid":false}],"Today":"String","NowMin":0},"Addresses":[{"Id":0,"Label":"String","Street":"String","Unit":"String","City":"String","Zip":"String","Lat":0,"Lng":0,"InArea":false}],"Cards":[{"Id":0,"Label":"String","Brand":"String","Last4":"String","IsDefault":false}],"Notif":{"Texts":false,"Push":false,"Promos":false},"Recurring":[{"Id":0,"Weekday":0,"StartMin":0,"EndMin":0,"Cadence":"String","LevelCode":"String","Units":0,"Handoff":"String","Address":"String","Paused":false,"PayMode":"String","CardLast4":"String","NextDate":"String","SkippedDate":"String","AheadDays":0}],"Booked":{"Done":false,"NeedsAction":false,"ClientSecret":"String","SetupIntentId":"String","Code":"String","TrackUrl":"String","IcsUrl":"String","WindowText":"String","Promise":"String","Total":0,"PayTiming":"String","CardLast4":"String","Repeats":"String","LinkSentBy":"String","ReopenStep":"String","ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}},"Sent":false,"Token":"String","NeedsName":false,"Name":"String","Url":"String","ClientSecret":"String","PublishableKey":"String","Message":"String","ReopenStep":"String","Customers":[{"ContactId":0,"Name":"String","Phone":"String","BillingMode":"String","AccountCode":"String","Orders":0,"LastOrderAt":"0001-01-01T00:00:00.0000000","Unbilled":0,"UnbilledAmount":0,"Cards":0}],"Run":{"Invoices":0,"Orders":0,"Total":0,"Skipped":["String"]},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}