/* Options: Date: 2026-06-13 03:51:43 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: FinanceRequest.* //ExcludeTypes: //AddNamespaces: //AddDefaultXmlNamespace: http://schemas.servicestack.net/types */ using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using ServiceStack; using ServiceStack.DataAnnotations; using System.Net; using CRM.AgencyPlatform.API.Internal; namespace CRM.AgencyPlatform.API.Internal { public partial class DashboardSeries { public virtual string Name { get; set; } public virtual List Points { get; set; } = []; } public partial class DashboardSeriesPoint { public virtual string Label { get; set; } public virtual double Value { get; set; } } public partial class DashboardStatTile { public virtual string Key { get; set; } public virtual string Label { get; set; } public virtual double Value { get; set; } public virtual double? PreviousValue { get; set; } public virtual string Unit { get; set; } public virtual double? DeltaPct { get; set; } } public partial class FinanceLocationRow { public virtual string LocationName { get; set; } public virtual double ServiceRev { get; set; } public virtual double ProductRev { get; set; } public virtual double SubscriptionRev { get; set; } public virtual double Total { get; set; } } [Route("/v1/dashboard/finance", "POST,OPTIONS")] public partial class FinanceRequest : IReturn { public virtual DateTime FromDate { get; set; } public virtual DateTime ToDate { get; set; } public virtual List LocationIds { get; set; } = []; } public partial class FinanceResponse { public virtual ResponseStatus ResponseStatus { get; set; } public virtual List Stats { get; set; } = []; public virtual List Trend { get; set; } = []; public virtual DashboardSeries SourceMix { get; set; } public virtual List ByLocation { get; set; } = []; public virtual List TopServices { get; set; } = []; public virtual List TopProducts { get; set; } = []; public virtual FinanceSubscriptionInfo Subscriptions { get; set; } } public partial class FinanceSubscriptionInfo { public virtual double Mrr { get; set; } public virtual double Arr { get; set; } public virtual int ActiveCount { get; set; } public virtual int NewCount { get; set; } public virtual int ChurnedCount { get; set; } public virtual double ChurnRatePct { get; set; } } public partial class FinanceTopRow { public virtual string Name { get; set; } public virtual double Revenue { get; set; } } } namespace ServiceStack { [DataContract] public partial class ResponseStatus : IMeta { [DataMember(Order=1)] public virtual string ErrorCode { get; set; } [DataMember(Order=2)] public virtual string Message { get; set; } [DataMember(Order=3)] public virtual string StackTrace { get; set; } [DataMember(Order=4)] public virtual List Errors { get; set; } = []; [DataMember(Order=5)] public virtual Dictionary Meta { get; set; } = new(); } }