/* Options: Date: 2026-06-13 03:55:29 SwiftVersion: 6.0 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.dev.dynamics.trendsic.com //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: FinanceRequest.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/v1/dashboard/finance", "POST,OPTIONS") public class FinanceRequest : IReturn, Codable { public typealias Return = FinanceResponse public var fromDate:Date? public var toDate:Date? public var locationIds:[String] = [] required public init(){} } public class FinanceResponse : Codable { public var responseStatus:ResponseStatus? public var stats:[DashboardStatTile] = [] public var trend:[DashboardSeries] = [] public var sourceMix:DashboardSeries? public var byLocation:[FinanceLocationRow] = [] public var topServices:[FinanceTopRow] = [] public var topProducts:[FinanceTopRow] = [] public var subscriptions:FinanceSubscriptionInfo? required public init(){} } public class DashboardStatTile : Codable { public var key:String? public var label:String? public var value:Double? public var previousValue:Double? public var unit:String? public var deltaPct:Double? required public init(){} } public class DashboardSeries : Codable { public var name:String? public var points:[DashboardSeriesPoint] = [] required public init(){} } public class FinanceLocationRow : Codable { public var locationName:String? public var serviceRev:Double? public var productRev:Double? public var subscriptionRev:Double? public var total:Double? required public init(){} } public class FinanceTopRow : Codable { public var name:String? public var revenue:Double? required public init(){} } public class FinanceSubscriptionInfo : Codable { public var mrr:Double? public var arr:Double? public var activeCount:Int? public var newCount:Int? public var churnedCount:Int? public var churnRatePct:Double? required public init(){} } public class DashboardSeriesPoint : Codable { public var label:String? public var value:Double? required public init(){} }