Trendsic Platform Service

<back to all web services

CourierBookPageRequest

The following routes are available for this service:
GET,OPTIONS/v1/book/{Slug}

export class CourierTrackBusiness
{
    public Name: string;
    public Phone: string;

    public constructor(init?: Partial<CourierTrackBusiness>) { (Object as any).assign(this, init); }
}

export class CourierBookLevel
{
    public Code: string;
    public Name: string;
    public Ready: string;
    public WithinMin: number;
    public InBy: string;
    public Surcharge: number;
    public Days: number[] = [];
    public DeadlineMin?: number;

    public constructor(init?: Partial<CourierBookLevel>) { (Object as any).assign(this, init); }
}

export class HandoffOptions
{
    public Hand: boolean;
    public Porch: boolean;
    public Desk: boolean;
    public SigRequired: boolean;
    public IdRequired: boolean;
    public CodeRequired: boolean;

    public constructor(init?: Partial<HandoffOptions>) { (Object as any).assign(this, init); }
}

export class CourierBookProfile
{
    public Code: string;
    public Name: string;
    public Shape: string;
    public Template: string;
    public UnitOne: string;
    public UnitMany: string;
    public UnitOneEs: string;
    public UnitManyEs: string;
    public FacilityNoun: string;
    public FacilityNounEs: string;
    public FacilityName: string;
    public Levels: CourierBookLevel[] = [];
    public Asap: boolean;
    public Recurring: boolean;
    public PayTiming: string;
    public FinalAfterCount: boolean;
    public CancelFee: number;
    public MissedFee: number;
    public MissedWaitMin: number;
    public ServiceArea: string[] = [];
    public Zips: string[] = [];
    public Handoffs: HandoffOptions;

    public constructor(init?: Partial<CourierBookProfile>) { (Object as any).assign(this, init); }
}

export class CourierBookProfileLink
{
    public Code: string;
    public Name: string;
    public Shape: string;

    public constructor(init?: Partial<CourierBookProfileLink>) { (Object as any).assign(this, init); }
}

export class CourierBookPageView
{
    public Available: boolean;
    public BookingOn: boolean;
    public Business: CourierTrackBusiness;
    public Profile: CourierBookProfile;
    public Profiles: CourierBookProfileLink[] = [];
    public CardEnabled: boolean;
    public PublishableKey: string;
    public AppUrl: string;
    public Today: string;
    public Weekday: number;
    public NowMin: number;

    public constructor(init?: Partial<CourierBookPageView>) { (Object as any).assign(this, init); }
}

export class CourierBookPageResponse
{
    public Page: CourierBookPageView;
    public ResponseStatus: ResponseStatus;

    public constructor(init?: Partial<CourierBookPageResponse>) { (Object as any).assign(this, init); }
}

export class CourierBookPageRequest
{
    public Slug: string;
    public Profile: string;

    public constructor(init?: Partial<CourierBookPageRequest>) { (Object as any).assign(this, init); }
}

TypeScript CourierBookPageRequest 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.

GET /v1/book/{Slug} HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
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
		}
	}
}