Trendsic Platform Service

<back to all web services

CourierBookOrderRequest

The following routes are available for this service:
POST,OPTIONS/v1/book/{Slug}/orders
POST,OPTIONS/v1/book/{Slug}/orders/confirm
namespace CRM.AgencyPlatform.API.Internal

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type CourierBookOrderResponse() = 
        member val Done:Boolean = new Boolean() with get,set
        member val NeedsAction:Boolean = new Boolean() with get,set
        member val ClientSecret:String = null with get,set
        member val SetupIntentId:String = null with get,set
        member val Code:String = null with get,set
        member val TrackUrl:String = null with get,set
        member val IcsUrl:String = null with get,set
        member val WindowText:String = null with get,set
        member val Promise:String = null with get,set
        member val Total:Decimal = new Decimal() with get,set
        member val PayTiming:String = null with get,set
        member val CardLast4:String = null with get,set
        member val Repeats:String = null with get,set
        member val LinkSentBy:String = null with get,set
        member val ReopenStep:String = null with get,set
        member val ResponseStatus:ResponseStatus = null with get,set

    [<AllowNullLiteral>]
    type CourierBookOrderRequest() = 
        member val Slug:String = null with get,set
        member val Profile:String = null with get,set
        member val TurnstileToken:String = null with get,set
        member val Level:String = null with get,set
        member val WindowId:String = null with get,set
        member val Recur:String = null with get,set
        member val Address:String = null with get,set
        member val Unit:String = null with get,set
        member val City:String = null with get,set
        member val Zip:String = null with get,set
        member val Lat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Lng:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val PickupName:String = null with get,set
        member val DropAddress:String = null with get,set
        member val DropUnit:String = null with get,set
        member val DropCity:String = null with get,set
        member val DropZip:String = null with get,set
        member val DropLat:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val DropLng:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val RecipientName:String = null with get,set
        member val Units:Int32 = new Int32() with get,set
        member val Handoff:String = null with get,set
        member val GateCode:String = null with get,set
        member val Note:String = null with get,set
        member val Name:String = null with get,set
        member val Phone:String = null with get,set
        member val Email:String = null with get,set
        member val SmsConsent:Boolean = new Boolean() with get,set
        member val Terms:Boolean = new Boolean() with get,set
        member val PaymentMethodId:String = null with get,set
        member val SetupIntentId:String = null with get,set
        member val QuotedTotal:Nullable<Decimal> = new Nullable<Decimal>() with get,set
        member val Lang:String = null with get,set

F# CourierBookOrderRequest DTOs

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

HTTP + JSV

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

POST /v1/book/{Slug}/orders HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Slug: String,
	Profile: String,
	TurnstileToken: String,
	Level: String,
	WindowId: String,
	Recur: String,
	Address: String,
	Unit: String,
	City: String,
	Zip: String,
	Lat: 0,
	Lng: 0,
	PickupName: String,
	DropAddress: String,
	DropUnit: String,
	DropCity: String,
	DropZip: String,
	DropLat: 0,
	DropLng: 0,
	RecipientName: String,
	Units: 0,
	Handoff: String,
	GateCode: String,
	Note: String,
	Name: String,
	Phone: String,
	Email: String,
	SmsConsent: False,
	Terms: False,
	PaymentMethodId: String,
	SetupIntentId: String,
	QuotedTotal: 0,
	Lang: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	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
		}
	}
}