| GET,OPTIONS | /v1/book/{Slug} |
|---|
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 CourierTrackBusiness:
name: Optional[str] = None
phone: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookLevel:
code: Optional[str] = None
name: Optional[str] = None
ready: Optional[str] = None
within_min: int = 0
in_by: Optional[str] = None
surcharge: Decimal = decimal.Decimal(0)
days: List[int] = field(default_factory=list)
deadline_min: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HandoffOptions:
hand: bool = False
porch: bool = False
desk: bool = False
sig_required: bool = False
id_required: bool = False
code_required: bool = False
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookProfile:
code: Optional[str] = None
name: Optional[str] = None
shape: Optional[str] = None
template: Optional[str] = None
unit_one: Optional[str] = None
unit_many: Optional[str] = None
unit_one_es: Optional[str] = None
unit_many_es: Optional[str] = None
facility_noun: Optional[str] = None
facility_noun_es: Optional[str] = None
facility_name: Optional[str] = None
levels: List[CourierBookLevel] = field(default_factory=list)
asap: bool = False
recurring: bool = False
pay_timing: Optional[str] = None
final_after_count: bool = False
cancel_fee: Decimal = decimal.Decimal(0)
missed_fee: Decimal = decimal.Decimal(0)
missed_wait_min: int = 0
service_area: List[str] = field(default_factory=list)
zips: List[str] = field(default_factory=list)
handoffs: Optional[HandoffOptions] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookProfileLink:
code: Optional[str] = None
name: Optional[str] = None
shape: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookPageView:
available: bool = False
booking_on: bool = False
business: Optional[CourierTrackBusiness] = None
profile: Optional[CourierBookProfile] = None
profiles: List[CourierBookProfileLink] = field(default_factory=list)
card_enabled: bool = False
publishable_key: Optional[str] = None
app_url: Optional[str] = None
today: Optional[str] = None
weekday: int = 0
now_min: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookPageResponse:
page: Optional[CourierBookPageView] = None
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class CourierBookPageRequest:
slug: Optional[str] = None
profile: Optional[str] = None
Python CourierBookPageRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/book/{Slug} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsonl
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length
{"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},"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}