| POST | /v1/c/app/cards/{Id}/{Action} |
|---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
open class CustomerAppCardActionRequest : CustomerAppSessionRequest()
{
open var Id:Int? = null
open var Action:String? = null
}
open class CustomerAppSessionRequest
{
open var Slug:String? = null
open var Profile: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 CustomerAppCardActionRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/c/app/cards/{Id}/{Action} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Id: 0,
Action: String,
Slug: String,
Profile: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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-01,
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
}
}
}