Trendsic Platform Service

<back to all web services

FinanceRequest

Requires Authentication
The following routes are available for this service:
POST,OPTIONS/v1/dashboard/finance
import java.math.*;
import java.util.*;
import java.io.InputStream;
import net.servicestack.client.*;

public class dtos
{

    public static class FinanceRequest
    {
        public Date FromDate = null;
        public Date ToDate = null;
        public ArrayList<UUID> LocationIds = new ArrayList<UUID>();
        
        public Date getFromDate() { return FromDate; }
        public FinanceRequest setFromDate(Date value) { this.FromDate = value; return this; }
        public Date getToDate() { return ToDate; }
        public FinanceRequest setToDate(Date value) { this.ToDate = value; return this; }
        public ArrayList<UUID> getLocationIds() { return LocationIds; }
        public FinanceRequest setLocationIds(ArrayList<UUID> value) { this.LocationIds = value; return this; }
    }

    public static class FinanceResponse
    {
        public ResponseStatus ResponseStatus = null;
        public ArrayList<DashboardStatTile> Stats = new ArrayList<DashboardStatTile>();
        public ArrayList<DashboardSeries> Trend = new ArrayList<DashboardSeries>();
        public DashboardSeries SourceMix = null;
        public ArrayList<FinanceLocationRow> ByLocation = new ArrayList<FinanceLocationRow>();
        public ArrayList<FinanceTopRow> TopServices = new ArrayList<FinanceTopRow>();
        public ArrayList<FinanceTopRow> TopProducts = new ArrayList<FinanceTopRow>();
        public FinanceSubscriptionInfo Subscriptions = null;
        
        public ResponseStatus getResponseStatus() { return ResponseStatus; }
        public FinanceResponse setResponseStatus(ResponseStatus value) { this.ResponseStatus = value; return this; }
        public ArrayList<DashboardStatTile> getStats() { return Stats; }
        public FinanceResponse setStats(ArrayList<DashboardStatTile> value) { this.Stats = value; return this; }
        public ArrayList<DashboardSeries> getTrend() { return Trend; }
        public FinanceResponse setTrend(ArrayList<DashboardSeries> value) { this.Trend = value; return this; }
        public DashboardSeries getSourceMix() { return SourceMix; }
        public FinanceResponse setSourceMix(DashboardSeries value) { this.SourceMix = value; return this; }
        public ArrayList<FinanceLocationRow> getByLocation() { return ByLocation; }
        public FinanceResponse setByLocation(ArrayList<FinanceLocationRow> value) { this.ByLocation = value; return this; }
        public ArrayList<FinanceTopRow> getTopServices() { return TopServices; }
        public FinanceResponse setTopServices(ArrayList<FinanceTopRow> value) { this.TopServices = value; return this; }
        public ArrayList<FinanceTopRow> getTopProducts() { return TopProducts; }
        public FinanceResponse setTopProducts(ArrayList<FinanceTopRow> value) { this.TopProducts = value; return this; }
        public FinanceSubscriptionInfo getSubscriptions() { return Subscriptions; }
        public FinanceResponse setSubscriptions(FinanceSubscriptionInfo value) { this.Subscriptions = value; return this; }
    }

    public static class DashboardStatTile
    {
        public String Key = null;
        public String Label = null;
        public Double Value = null;
        public Double PreviousValue = null;
        public String Unit = null;
        public Double DeltaPct = null;
        
        public String getKey() { return Key; }
        public DashboardStatTile setKey(String value) { this.Key = value; return this; }
        public String getLabel() { return Label; }
        public DashboardStatTile setLabel(String value) { this.Label = value; return this; }
        public Double getValue() { return Value; }
        public DashboardStatTile setValue(Double value) { this.Value = value; return this; }
        public Double getPreviousValue() { return PreviousValue; }
        public DashboardStatTile setPreviousValue(Double value) { this.PreviousValue = value; return this; }
        public String getUnit() { return Unit; }
        public DashboardStatTile setUnit(String value) { this.Unit = value; return this; }
        public Double getDeltaPct() { return DeltaPct; }
        public DashboardStatTile setDeltaPct(Double value) { this.DeltaPct = value; return this; }
    }

    public static class DashboardSeries
    {
        public String Name = null;
        public ArrayList<DashboardSeriesPoint> Points = new ArrayList<DashboardSeriesPoint>();
        
        public String getName() { return Name; }
        public DashboardSeries setName(String value) { this.Name = value; return this; }
        public ArrayList<DashboardSeriesPoint> getPoints() { return Points; }
        public DashboardSeries setPoints(ArrayList<DashboardSeriesPoint> value) { this.Points = value; return this; }
    }

    public static class DashboardSeriesPoint
    {
        public String Label = null;
        public Double Value = null;
        
        public String getLabel() { return Label; }
        public DashboardSeriesPoint setLabel(String value) { this.Label = value; return this; }
        public Double getValue() { return Value; }
        public DashboardSeriesPoint setValue(Double value) { this.Value = value; return this; }
    }

    public static class FinanceLocationRow
    {
        public String LocationName = null;
        public Double ServiceRev = null;
        public Double ProductRev = null;
        public Double SubscriptionRev = null;
        public Double Total = null;
        
        public String getLocationName() { return LocationName; }
        public FinanceLocationRow setLocationName(String value) { this.LocationName = value; return this; }
        public Double getServiceRev() { return ServiceRev; }
        public FinanceLocationRow setServiceRev(Double value) { this.ServiceRev = value; return this; }
        public Double getProductRev() { return ProductRev; }
        public FinanceLocationRow setProductRev(Double value) { this.ProductRev = value; return this; }
        public Double getSubscriptionRev() { return SubscriptionRev; }
        public FinanceLocationRow setSubscriptionRev(Double value) { this.SubscriptionRev = value; return this; }
        public Double getTotal() { return Total; }
        public FinanceLocationRow setTotal(Double value) { this.Total = value; return this; }
    }

    public static class FinanceTopRow
    {
        public String Name = null;
        public Double Revenue = null;
        
        public String getName() { return Name; }
        public FinanceTopRow setName(String value) { this.Name = value; return this; }
        public Double getRevenue() { return Revenue; }
        public FinanceTopRow setRevenue(Double value) { this.Revenue = value; return this; }
    }

    public static class FinanceSubscriptionInfo
    {
        public Double Mrr = null;
        public Double Arr = null;
        public Integer ActiveCount = null;
        public Integer NewCount = null;
        public Integer ChurnedCount = null;
        public Double ChurnRatePct = null;
        
        public Double getMrr() { return Mrr; }
        public FinanceSubscriptionInfo setMrr(Double value) { this.Mrr = value; return this; }
        public Double getArr() { return Arr; }
        public FinanceSubscriptionInfo setArr(Double value) { this.Arr = value; return this; }
        public Integer getActiveCount() { return ActiveCount; }
        public FinanceSubscriptionInfo setActiveCount(Integer value) { this.ActiveCount = value; return this; }
        public Integer getNewCount() { return NewCount; }
        public FinanceSubscriptionInfo setNewCount(Integer value) { this.NewCount = value; return this; }
        public Integer getChurnedCount() { return ChurnedCount; }
        public FinanceSubscriptionInfo setChurnedCount(Integer value) { this.ChurnedCount = value; return this; }
        public Double getChurnRatePct() { return ChurnRatePct; }
        public FinanceSubscriptionInfo setChurnRatePct(Double value) { this.ChurnRatePct = value; return this; }
    }

}

Java FinanceRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /v1/dashboard/finance HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"FromDate":"0001-01-01T00:00:00.0000000","ToDate":"0001-01-01T00:00:00.0000000","LocationIds":["00000000000000000000000000000000"]}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}},"Stats":[{"Key":"String","Label":"String","Value":0,"PreviousValue":0,"Unit":"String","DeltaPct":null}],"Trend":[{"Name":"String","Points":[{"Label":"String","Value":0}]}],"SourceMix":{"Name":"String","Points":[{"Label":"String","Value":0}]},"ByLocation":[{"LocationName":"String","ServiceRev":0,"ProductRev":0,"SubscriptionRev":0,"Total":0}],"TopServices":[{"Name":"String","Revenue":0}],"TopProducts":[{"Name":"String","Revenue":0}],"Subscriptions":{"Mrr":0,"Arr":0,"ActiveCount":0,"NewCount":0,"ChurnedCount":0,"ChurnRatePct":0}}