Trendsic Platform Service

<back to all web services

CourierBookPageRequest

The following routes are available for this service:
GET,OPTIONS/v1/book/{Slug}
using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using CRM.AgencyPlatform.API.Internal;

namespace CRM.AgencyPlatform.API.Internal
{
    public partial class CourierBookLevel
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Ready { get; set; }
        public virtual int WithinMin { get; set; }
        public virtual string InBy { get; set; }
        public virtual decimal Surcharge { get; set; }
        public virtual List<int> Days { get; set; } = [];
        public virtual int? DeadlineMin { get; set; }
    }

    public partial class CourierBookPageRequest
    {
        public virtual string Slug { get; set; }
        public virtual string Profile { get; set; }
    }

    public partial class CourierBookPageResponse
    {
        public virtual CourierBookPageView Page { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

    public partial class CourierBookPageView
    {
        public virtual bool Available { get; set; }
        public virtual bool BookingOn { get; set; }
        public virtual CourierTrackBusiness Business { get; set; }
        public virtual CourierBookProfile Profile { get; set; }
        public virtual List<CourierBookProfileLink> Profiles { get; set; } = [];
        public virtual bool CardEnabled { get; set; }
        public virtual string PublishableKey { get; set; }
        public virtual string AppUrl { get; set; }
        public virtual string Today { get; set; }
        public virtual int Weekday { get; set; }
        public virtual int NowMin { get; set; }
    }

    public partial class CourierBookProfile
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Shape { get; set; }
        public virtual string Template { get; set; }
        public virtual string UnitOne { get; set; }
        public virtual string UnitMany { get; set; }
        public virtual string UnitOneEs { get; set; }
        public virtual string UnitManyEs { get; set; }
        public virtual string FacilityNoun { get; set; }
        public virtual string FacilityNounEs { get; set; }
        public virtual string FacilityName { get; set; }
        public virtual List<CourierBookLevel> Levels { get; set; } = [];
        public virtual bool Asap { get; set; }
        public virtual bool Recurring { get; set; }
        public virtual string PayTiming { get; set; }
        public virtual bool FinalAfterCount { get; set; }
        public virtual decimal CancelFee { get; set; }
        public virtual decimal MissedFee { get; set; }
        public virtual int MissedWaitMin { get; set; }
        public virtual List<string> ServiceArea { get; set; } = [];
        public virtual List<string> Zips { get; set; } = [];
        public virtual HandoffOptions Handoffs { get; set; }
    }

    public partial class CourierBookProfileLink
    {
        public virtual string Code { get; set; }
        public virtual string Name { get; set; }
        public virtual string Shape { get; set; }
    }

    public partial class CourierTrackBusiness
    {
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
    }

}

C# 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
		}
	}
}