/* 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 //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetInsightsRequest.* //ExcludeTypes: //DefaultImports: */ export module BackofficeApi { // @ts-nocheck export interface IReturn { createResponse(): T; } export interface IGet { } export enum InsightTimeFilter { Daily = 'Daily', Weekly = 'Weekly', Monthly = 'Monthly', } export class InsightsOverview { public uniqueUsers?: number; public signIns?: number; public signUps?: number; public invitesSent?: number; public invitesClicked?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InsightsTimeBucket { public bucket?: string; public value?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InsightsSeriesTotal { public total?: number; public changePercent?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InsightsAgeBucket { public ageGroup: string; public sex?: string; public count?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class InsightsDemographicsTotals { public totalUsers?: number; public maleCount?: number; public femaleCount?: number; public unspecifiedCount?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class PointsBreakdown { public source: string; public totalPoints?: number; public uniqueUsers?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GetInsightsResponse { public overview: InsightsOverview; public inviteFriendsSeries: InsightsTimeBucket[] = []; public inviteFriendsTotals: InsightsSeriesTotal; public inviteAcceptedSeries: InsightsTimeBucket[] = []; public inviteAcceptedTotals: InsightsSeriesTotal; public signUpsSeries: InsightsTimeBucket[] = []; public signUpsTotals: InsightsSeriesTotal; public optOutsSeries: InsightsTimeBucket[] = []; public optOutsTotals: InsightsSeriesTotal; public churnSeries: InsightsTimeBucket[] = []; public churnTotals: InsightsSeriesTotal; public activeUsersSeries: InsightsTimeBucket[] = []; public activeUsersTotals: InsightsSeriesTotal; public demographics: InsightsAgeBucket[] = []; public demographicsTotals: InsightsDemographicsTotals; public lotteryUniqueParticipants?: number; public lotteryTotalPoints?: number; public rewardPointsBreakdown: PointsBreakdown[] = []; public rewardPointsTotalAll?: number; public rewardPointsUniqueUsersAll?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/insights", "GET") export class GetInsightsRequest implements IReturn, IGet { public timeFilter?: InsightTimeFilter; public cacheVersion?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetInsightsRequest'; } public getMethod() { return 'GET'; } public createResponse() { return new GetInsightsResponse(); } } }