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
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookOrderResponse:
    done: bool = False
    needs_action: bool = False
    client_secret: Optional[str] = None
    setup_intent_id: Optional[str] = None
    code: Optional[str] = None
    track_url: Optional[str] = None
    ics_url: Optional[str] = None
    window_text: Optional[str] = None
    promise: Optional[str] = None
    total: Decimal = decimal.Decimal(0)
    pay_timing: Optional[str] = None
    card_last4: Optional[str] = None
    repeats: Optional[str] = None
    link_sent_by: Optional[str] = None
    reopen_step: Optional[str] = None
    response_status: Optional[ResponseStatus] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookOrderRequest:
    slug: Optional[str] = None
    profile: Optional[str] = None
    turnstile_token: Optional[str] = None
    level: Optional[str] = None
    window_id: Optional[str] = None
    recur: Optional[str] = None
    address: Optional[str] = None
    unit: Optional[str] = None
    city: Optional[str] = None
    zip: Optional[str] = None
    lat: Optional[Decimal] = None
    lng: Optional[Decimal] = None
    pickup_name: Optional[str] = None
    drop_address: Optional[str] = None
    drop_unit: Optional[str] = None
    drop_city: Optional[str] = None
    drop_zip: Optional[str] = None
    drop_lat: Optional[Decimal] = None
    drop_lng: Optional[Decimal] = None
    recipient_name: Optional[str] = None
    units: int = 0
    handoff: Optional[str] = None
    gate_code: Optional[str] = None
    note: Optional[str] = None
    name: Optional[str] = None
    phone: Optional[str] = None
    email: Optional[str] = None
    sms_consent: bool = False
    terms: bool = False
    payment_method_id: Optional[str] = None
    setup_intent_id: Optional[str] = None
    quoted_total: Optional[Decimal] = None
    lang: Optional[str] = None

Python CourierBookOrderRequest DTOs

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

HTTP + XML

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: application/xml
Content-Type: application/xml
Content-Length: length

<CourierBookOrderRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <Address>String</Address>
  <City>String</City>
  <DropAddress>String</DropAddress>
  <DropCity>String</DropCity>
  <DropLat>0</DropLat>
  <DropLng>0</DropLng>
  <DropUnit>String</DropUnit>
  <DropZip>String</DropZip>
  <Email>String</Email>
  <GateCode>String</GateCode>
  <Handoff>String</Handoff>
  <Lang>String</Lang>
  <Lat>0</Lat>
  <Level>String</Level>
  <Lng>0</Lng>
  <Name>String</Name>
  <Note>String</Note>
  <PaymentMethodId>String</PaymentMethodId>
  <Phone>String</Phone>
  <PickupName>String</PickupName>
  <Profile>String</Profile>
  <QuotedTotal>0</QuotedTotal>
  <RecipientName>String</RecipientName>
  <Recur>String</Recur>
  <SetupIntentId>String</SetupIntentId>
  <Slug>String</Slug>
  <SmsConsent>false</SmsConsent>
  <Terms>false</Terms>
  <TurnstileToken>String</TurnstileToken>
  <Unit>String</Unit>
  <Units>0</Units>
  <WindowId>String</WindowId>
  <Zip>String</Zip>
</CourierBookOrderRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CourierBookOrderResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <CardLast4>String</CardLast4>
  <ClientSecret>String</ClientSecret>
  <Code>String</Code>
  <Done>false</Done>
  <IcsUrl>String</IcsUrl>
  <LinkSentBy>String</LinkSentBy>
  <NeedsAction>false</NeedsAction>
  <PayTiming>String</PayTiming>
  <Promise>String</Promise>
  <ReopenStep>String</ReopenStep>
  <Repeats>String</Repeats>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <SetupIntentId>String</SetupIntentId>
  <Total>0</Total>
  <TrackUrl>String</TrackUrl>
  <WindowText>String</WindowText>
</CourierBookOrderResponse>