Trendsic Platform Service

<back to all web services

CustomerAppMeRequest

The following routes are available for this service:
GET,PUT/v1/c/app/me
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 CourierBookOrderResponse
    {
        public virtual bool Done { get; set; }
        public virtual bool NeedsAction { get; set; }
        public virtual string ClientSecret { get; set; }
        public virtual string SetupIntentId { get; set; }
        public virtual string Code { get; set; }
        public virtual string TrackUrl { get; set; }
        public virtual string IcsUrl { get; set; }
        public virtual string WindowText { get; set; }
        public virtual string Promise { get; set; }
        public virtual decimal Total { get; set; }
        public virtual string PayTiming { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual string Repeats { get; set; }
        public virtual string LinkSentBy { get; set; }
        public virtual string ReopenStep { 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 CourierCustomerRow
    {
        public virtual int ContactId { get; set; }
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
        public virtual string BillingMode { get; set; }
        public virtual string AccountCode { get; set; }
        public virtual int Orders { get; set; }
        public virtual DateTime? LastOrderAt { get; set; }
        public virtual int Unbilled { get; set; }
        public virtual decimal UnbilledAmount { get; set; }
        public virtual int Cards { get; set; }
    }

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

    public partial class CustomerAppAddress
    {
        public virtual int Id { get; set; }
        public virtual string Label { get; set; }
        public virtual string Street { get; set; }
        public virtual string Unit { get; set; }
        public virtual string City { get; set; }
        public virtual string Zip { get; set; }
        public virtual decimal? Lat { get; set; }
        public virtual decimal? Lng { get; set; }
        public virtual bool InArea { get; set; }
    }

    public partial class CustomerAppBoot
    {
        public virtual string Profile { get; set; }
        public virtual bool Available { get; set; }
        public virtual string Reason { get; set; }
        public virtual string AuthMethod { get; set; }
        public virtual string Slug { get; set; }
        public virtual CourierBookPageView Page { get; set; }
        public virtual string ManifestUrl { get; set; }
    }

    public partial class CustomerAppCard
    {
        public virtual int Id { get; set; }
        public virtual string Label { get; set; }
        public virtual string Brand { get; set; }
        public virtual string Last4 { get; set; }
        public virtual bool IsDefault { get; set; }
    }

    public partial class CustomerAppInvoice
    {
        public virtual Guid Uid { get; set; }
        public virtual string Number { get; set; }
        public virtual string DateText { get; set; }
        public virtual decimal Total { get; set; }
        public virtual decimal Balance { get; set; }
        public virtual bool Paid { get; set; }
    }

    public partial class CustomerAppMe
    {
        public virtual int ContactId { get; set; }
        public virtual string FirstName { get; set; }
        public virtual string LastName { get; set; }
        public virtual string Name { get; set; }
        public virtual string Phone { get; set; }
        public virtual bool NeedsName { get; set; }
        public virtual string BillingMode { get; set; }
        public virtual string AccountCode { get; set; }
        public virtual List<CustomerAppAddress> Addresses { get; set; } = [];
        public virtual List<CustomerAppCard> Cards { get; set; } = [];
        public virtual CustomerAppNotif Notif { get; set; }
        public virtual List<CustomerAppOrder> Orders { get; set; } = [];
        public virtual List<CustomerAppRecurrence> Recurring { get; set; } = [];
        public virtual List<CustomerAppInvoice> Invoices { get; set; } = [];
        public virtual string Today { get; set; }
        public virtual int NowMin { get; set; }
    }

    public partial class CustomerAppMeRequest
        : CustomerAppSessionRequest
    {
        public virtual string Name { get; set; }
    }

    public partial class CustomerAppNotif
    {
        public virtual bool Texts { get; set; }
        public virtual bool Push { get; set; }
        public virtual bool Promos { get; set; }
    }

    public partial class CustomerAppOrder
    {
        public virtual int Id { get; set; }
        public virtual string Code { get; set; }
        public virtual string Status { get; set; }
        public virtual string State { get; set; }
        public virtual bool Active { get; set; }
        public virtual string LevelCode { get; set; }
        public virtual string LevelName { get; set; }
        public virtual int Units { get; set; }
        public virtual int? UnitsFound { get; set; }
        public virtual string Address { get; set; }
        public virtual string Unit { get; set; }
        public virtual string Zip { get; set; }
        public virtual string DropAddress { get; set; }
        public virtual string RecipientName { get; set; }
        public virtual string Handoff { get; set; }
        public virtual bool IsAsap { get; set; }
        public virtual int DayIx { get; set; }
        public virtual string DateText { get; set; }
        public virtual int? StartMin { get; set; }
        public virtual int? EndMin { get; set; }
        public virtual string DriverFirstName { get; set; }
        public virtual int? EtaMin { get; set; }
        public virtual string Promise { get; set; }
        public virtual string PayMode { get; set; }
        public virtual decimal Amount { get; set; }
        public virtual decimal? Charged { get; set; }
        public virtual decimal? Tip { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual int? RecurrenceId { get; set; }
        public virtual List<CustomerAppStep> Steps { get; set; } = [];
    }

    public partial class CustomerAppRecurrence
    {
        public virtual int Id { get; set; }
        public virtual int Weekday { get; set; }
        public virtual int StartMin { get; set; }
        public virtual int EndMin { get; set; }
        public virtual string Cadence { get; set; }
        public virtual string LevelCode { get; set; }
        public virtual int Units { get; set; }
        public virtual string Handoff { get; set; }
        public virtual string Address { get; set; }
        public virtual bool Paused { get; set; }
        public virtual string PayMode { get; set; }
        public virtual string CardLast4 { get; set; }
        public virtual string NextDate { get; set; }
        public virtual string SkippedDate { get; set; }
        public virtual int AheadDays { get; set; }
    }

    public partial class CustomerAppResponse
    {
        public virtual CustomerAppBoot Boot { get; set; }
        public virtual CustomerAppMe Customer { get; set; }
        public virtual List<CustomerAppAddress> Addresses { get; set; } = [];
        public virtual List<CustomerAppCard> Cards { get; set; } = [];
        public virtual CustomerAppNotif Notif { get; set; }
        public virtual List<CustomerAppRecurrence> Recurring { get; set; } = [];
        public virtual CourierBookOrderResponse Booked { get; set; }
        public virtual bool Sent { get; set; }
        public virtual string Token { get; set; }
        public virtual bool NeedsName { get; set; }
        public virtual string Name { get; set; }
        public virtual string Url { get; set; }
        public virtual string ClientSecret { get; set; }
        public virtual string PublishableKey { get; set; }
        public virtual string Message { get; set; }
        public virtual string ReopenStep { get; set; }
        public virtual List<CourierCustomerRow> Customers { get; set; } = [];
        public virtual RunResult Run { get; set; }
        public virtual ResponseStatus ResponseStatus { get; set; }
    }

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

    public partial class CustomerAppStep
    {
        public virtual string Key { get; set; }
        public virtual bool Done { get; set; }
        public virtual string Time { get; set; }
    }

}

C# CustomerAppMeRequest 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.

PUT /v1/c/app/me HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	Name: String,
	Slug: String,
	Profile: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Boot: 
	{
		Profile: String,
		Available: False,
		Reason: String,
		AuthMethod: String,
		Slug: String,
		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
		},
		ManifestUrl: String
	},
	Customer: 
	{
		ContactId: 0,
		FirstName: String,
		LastName: String,
		Name: String,
		Phone: String,
		NeedsName: False,
		BillingMode: String,
		AccountCode: String,
		Addresses: 
		[
			{
				Id: 0,
				Label: String,
				Street: String,
				Unit: String,
				City: String,
				Zip: String,
				Lat: 0,
				Lng: 0,
				InArea: False
			}
		],
		Cards: 
		[
			{
				Id: 0,
				Label: String,
				Brand: String,
				Last4: String,
				IsDefault: False
			}
		],
		Notif: 
		{
			Texts: False,
			Push: False,
			Promos: False
		},
		Orders: 
		[
			{
				Id: 0,
				Code: String,
				Status: String,
				State: String,
				Active: False,
				LevelCode: String,
				LevelName: String,
				Units: 0,
				UnitsFound: 0,
				Address: String,
				Unit: String,
				Zip: String,
				DropAddress: String,
				RecipientName: String,
				Handoff: String,
				IsAsap: False,
				DayIx: 0,
				DateText: String,
				StartMin: 0,
				EndMin: 0,
				DriverFirstName: String,
				EtaMin: 0,
				Promise: String,
				PayMode: String,
				Amount: 0,
				Charged: 0,
				Tip: 0,
				CardLast4: String,
				RecurrenceId: 0,
				Steps: 
				[
					{
						Key: String,
						Done: False,
						Time: String
					}
				]
			}
		],
		Recurring: 
		[
			{
				Id: 0,
				Weekday: 0,
				StartMin: 0,
				EndMin: 0,
				Cadence: String,
				LevelCode: String,
				Units: 0,
				Handoff: String,
				Address: String,
				Paused: False,
				PayMode: String,
				CardLast4: String,
				NextDate: String,
				SkippedDate: String,
				AheadDays: 0
			}
		],
		Invoices: 
		[
			{
				Uid: 00000000000000000000000000000000,
				Number: String,
				DateText: String,
				Total: 0,
				Balance: 0,
				Paid: False
			}
		],
		Today: String,
		NowMin: 0
	},
	Addresses: 
	[
		{
			Id: 0,
			Label: String,
			Street: String,
			Unit: String,
			City: String,
			Zip: String,
			Lat: 0,
			Lng: 0,
			InArea: False
		}
	],
	Cards: 
	[
		{
			Id: 0,
			Label: String,
			Brand: String,
			Last4: String,
			IsDefault: False
		}
	],
	Notif: 
	{
		Texts: False,
		Push: False,
		Promos: False
	},
	Recurring: 
	[
		{
			Id: 0,
			Weekday: 0,
			StartMin: 0,
			EndMin: 0,
			Cadence: String,
			LevelCode: String,
			Units: 0,
			Handoff: String,
			Address: String,
			Paused: False,
			PayMode: String,
			CardLast4: String,
			NextDate: String,
			SkippedDate: String,
			AheadDays: 0
		}
	],
	Booked: 
	{
		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
			}
		}
	},
	Sent: False,
	Token: String,
	NeedsName: False,
	Name: String,
	Url: String,
	ClientSecret: String,
	PublishableKey: String,
	Message: String,
	ReopenStep: String,
	Customers: 
	[
		{
			ContactId: 0,
			Name: String,
			Phone: String,
			BillingMode: String,
			AccountCode: String,
			Orders: 0,
			LastOrderAt: 0001-01-01,
			Unbilled: 0,
			UnbilledAmount: 0,
			Cards: 0
		}
	],
	Run: 
	{
		Invoices: 0,
		Orders: 0,
		Total: 0,
		Skipped: 
		[
			String
		]
	},
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}