/* Options: Date: 2025-08-05 04:06:43 Version: 8.0 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://www.asg.com.au/RestApi //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: MapDataRequest.* //ExcludeTypes: //DefaultImports: */ export class MetricItemDTO { public Name: string; public DisplayName: string; public Value: number; public Unit: string; public DenominatorMetricName: string; public NominatorMetricName: string; public ShowInSelector: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export enum Dimension { Browser = 'Browser', BrowserVersion = 'BrowserVersion', City = 'City', Continent = 'Continent', VisitCount = 'VisitCount', Country = 'Country', Date = 'Date', Day = 'Day', DaysSinceLastSession = 'DaysSinceLastSession', FlashVersion = 'FlashVersion', Hostname = 'Hostname', Hour = 'Hour', DeviceCategory = 'DeviceCategory', JavaEnabled = 'JavaEnabled', Language = 'Language', Latitude = 'Latitude', Longitude = 'Longitude', Month = 'Month', NetworkDomain = 'NetworkDomain', NetworkLocation = 'NetworkLocation', PageDepth = 'PageDepth', OperatingSystem = 'OperatingSystem', OperatingSystemVersion = 'OperatingSystemVersion', Region = 'Region', ScreenColors = 'ScreenColors', ScreenResolution = 'ScreenResolution', SubContinent = 'SubContinent', UserDefinedValue = 'UserDefinedValue', UserType = 'UserType', Week = 'Week', Year = 'Year', AdContent = 'AdContent', AdGroup = 'AdGroup', AdSlot = 'AdSlot', Campaign = 'Campaign', Keyword = 'Keyword', Medium = 'Medium', ReferralPath = 'ReferralPath', Source = 'Source', ExitPagePath = 'ExitPagePath', LandingPagePath = 'LandingPagePath', PagePath = 'PagePath', PageTitle = 'PageTitle', Affiliation = 'Affiliation', DaysToTransaction = 'DaysToTransaction', ProductCategory = 'ProductCategory', ProductName = 'ProductName', ProductSku = 'ProductSku', TransactionId = 'TransactionId', SearchCategory = 'SearchCategory', SearchDestinationPage = 'SearchDestinationPage', SearchKeyword = 'SearchKeyword', SearchKeywordRefinement = 'SearchKeywordRefinement', SearchStartPage = 'SearchStartPage', SearchUsed = 'SearchUsed', EventCategory = 'EventCategory', EventAction = 'EventAction', EventLabel = 'EventLabel', } // @DataContract export class DimensionItem { // @DataMember public Value: string; // @DataMember public Name: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SingleSerie { public MainMetric: MetricItemDTO; public CategoryFormat: string; public Batch: boolean; public IsCategory: boolean; public SeriesName: string; public SeriesDimensions: DimensionItem[]; public RelatedDimension: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class DashBoardControl { public ControlType: string; public attributes: { [index: string]: string; }; public PlaceholderId: string; public DisplayName: string; public Series: SingleSerie[]; public DimensionName: string; public RelatedDimension: string[]; public SortbyField: string; public SortAsc: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class KendoItem { public category: string; public values: { [index: string]: number; }; public group: string; public tooltip: string; public Dimensions: { [index: string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GetDashboardData { public Controls: DashBoardControl[]; public LayoutTemplateName: string; public GroupBy: string; public MetricNames: MetricItemDTO[]; public ErrorMessage: string; public NeedsGrouping: boolean; public IsDrillDown: boolean; public DateItems: KendoItem[]; public NonDateItems: KendoItem[]; public TotalsItem: KendoItem; public MapDataTable: string[][]; public IsMapRequest: boolean; public SeriesSources: { [index: string]: string[]; }; public StatusCode: number; public SuppressMultipleSeries: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/Sitefinity/Analytics/GetMapData") // @Route("/GetMapData") export class MapDataRequest implements IReturn { public DashboardId: string; public RelatedDashboardId: string; public Metrics: MetricItemDTO[]; public Filter: string; public Dimension: Dimension; public jsStartDate: string; public jsEndDate: string; public SelectedMetric: string; public Region: string; public SiteId: string; public StartDate: string; public EndDate: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'MapDataRequest'; } public getMethod() { return 'POST'; } public createResponse() { return new GetDashboardData(); } }