/* Options: Date: 2026-03-26 02:44:29 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://backoffice-api.brovs.com //GlobalNamespace: BackofficeApi //MakePartial: True //MakeVirtual: False //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: True //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: True //ExportValueTypes: False IncludeTypes: GetInsightsRequest.* //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 BackofficeApi; namespace BackofficeApi { [Route("/insights", "GET")] public partial class GetInsightsRequest : IReturn, IGet { public InsightTimeFilter TimeFilter { get; set; } public long? CacheVersion { get; set; } } public partial class GetInsightsResponse { public InsightsOverview Overview { get; set; } public List InviteFriendsSeries { get; set; } = []; public InsightsSeriesTotal InviteFriendsTotals { get; set; } public List InviteAcceptedSeries { get; set; } = []; public InsightsSeriesTotal InviteAcceptedTotals { get; set; } public List SignUpsSeries { get; set; } = []; public InsightsSeriesTotal SignUpsTotals { get; set; } public List OptOutsSeries { get; set; } = []; public InsightsSeriesTotal OptOutsTotals { get; set; } public List ChurnSeries { get; set; } = []; public InsightsSeriesTotal ChurnTotals { get; set; } public List ActiveUsersSeries { get; set; } = []; public InsightsSeriesTotal ActiveUsersTotals { get; set; } public List Demographics { get; set; } = []; public InsightsDemographicsTotals DemographicsTotals { get; set; } public long LotteryUniqueParticipants { get; set; } public long LotteryTotalPoints { get; set; } public List RewardPointsBreakdown { get; set; } = []; public long RewardPointsTotalAll { get; set; } public long RewardPointsUniqueUsersAll { get; set; } } public enum InsightTimeFilter { Daily, Weekly, Monthly, } public partial class InsightsAgeBucket { public string AgeGroup { get; set; } public string? Sex { get; set; } public long Count { get; set; } } public partial class InsightsDemographicsTotals { public long TotalUsers { get; set; } public long MaleCount { get; set; } public long FemaleCount { get; set; } public long UnspecifiedCount { get; set; } } public partial class InsightsOverview { public long UniqueUsers { get; set; } public long SignIns { get; set; } public long SignUps { get; set; } public long InvitesSent { get; set; } public long InvitesClicked { get; set; } } public partial class InsightsSeriesTotal { public long Total { get; set; } public double ChangePercent { get; set; } } public partial class InsightsTimeBucket { public DateTimeOffset Bucket { get; set; } public long Value { get; set; } } public partial class PointsBreakdown { public string Source { get; set; } public long TotalPoints { get; set; } public long UniqueUsers { get; set; } } }