| POST | /v1/c/app/recurring/{Id}/{Action} |
|---|
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 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 CustomerAppRecurringActionRequest
: CustomerAppSessionRequest
{
public virtual int Id { get; set; }
public virtual string Action { 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# CustomerAppRecurringActionRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/c/app/recurring/{Id}/{Action} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Id: 0,
Action: 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
}
}
}