/* Options: Date: 2026-03-26 02:45:11 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://backoffice-api.brovs.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetInsightsRequest.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/insights", Verbs="GET") open class GetInsightsRequest : IReturn, IGet { open var timeFilter:InsightTimeFilter? = null open var cacheVersion:Long? = null companion object { private val responseType = GetInsightsResponse::class.java } override fun getResponseType(): Any? = GetInsightsRequest.responseType } open class GetInsightsResponse { open var overview:InsightsOverview? = null open var inviteFriendsSeries:ArrayList = ArrayList() open var inviteFriendsTotals:InsightsSeriesTotal? = null open var inviteAcceptedSeries:ArrayList = ArrayList() open var inviteAcceptedTotals:InsightsSeriesTotal? = null open var signUpsSeries:ArrayList = ArrayList() open var signUpsTotals:InsightsSeriesTotal? = null open var optOutsSeries:ArrayList = ArrayList() open var optOutsTotals:InsightsSeriesTotal? = null open var churnSeries:ArrayList = ArrayList() open var churnTotals:InsightsSeriesTotal? = null open var activeUsersSeries:ArrayList = ArrayList() open var activeUsersTotals:InsightsSeriesTotal? = null open var demographics:ArrayList = ArrayList() open var demographicsTotals:InsightsDemographicsTotals? = null open var lotteryUniqueParticipants:Long? = null open var lotteryTotalPoints:Long? = null open var rewardPointsBreakdown:ArrayList = ArrayList() open var rewardPointsTotalAll:Long? = null open var rewardPointsUniqueUsersAll:Long? = null } enum class InsightTimeFilter { Daily, Weekly, Monthly, } open class InsightsOverview { open var uniqueUsers:Long? = null open var signIns:Long? = null open var signUps:Long? = null open var invitesSent:Long? = null open var invitesClicked:Long? = null } open class InsightsTimeBucket { open var bucket:Date? = null open var value:Long? = null } open class InsightsSeriesTotal { open var total:Long? = null open var changePercent:Double? = null } open class InsightsAgeBucket { open var ageGroup:String? = null open var sex:String? = null open var count:Long? = null } open class InsightsDemographicsTotals { open var totalUsers:Long? = null open var maleCount:Long? = null open var femaleCount:Long? = null open var unspecifiedCount:Long? = null } open class PointsBreakdown { open var source:String? = null open var totalPoints:Long? = null open var uniqueUsers:Long? = null }