/* Options: Date: 2025-12-06 05:23:47 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://geniuslink-api-zane.dev.platform.georiot.com //GlobalNamespace: //MakePartial: True //MakeVirtual: True //MakeInternal: False //MakeDataContractsExtensible: False //AddNullableAnnotations: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //InitializeCollections: False //ExportValueTypes: False IncludeTypes: PostLinkReportRequest.* //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 GeniuslinkAPI.ServiceModel.V4.Reporting.DTOs; using GeniuslinkAPI.ServiceModel.V4.Reporting.DTOs.Items; using GeniuslinkAPI.ServiceModel.V4.Reporting.Requests; using GeniuslinkAPI.ServiceModel.V4.Reporting.Responses; namespace GeniuslinkAPI.ServiceModel.V4.Reporting.DTOs { [DataContract] public partial class Error { [DataMember(Name="code")] public virtual string Code { get; set; } } public enum GroupBy { Default, Retailer, Date, } [DataContract] public partial class Report { [DataMember(Name="data")] public virtual List Data { get; set; } [DataMember(Name="executionTimeMs")] public virtual long ExecutionTimeMs { get; set; } [DataMember(Name="totalItems")] public virtual long TotalItems { get; set; } [DataMember(Name="errors")] public virtual List Errors { get; set; } [DataMember(Name="request")] public virtual ReportRequest Request { get; set; } [DataMember(Name="totalClicks")] public virtual long TotalClicks { get; set; } } [DataContract] public partial class ReportData { [DataMember(Name="id")] public virtual string Id { get; set; } [DataMember(Name="item")] public virtual Item Item { get; set; } [DataMember(Name="totalClicks")] public virtual ulong TotalClicks { get; set; } [DataMember(Name="clicks")] public virtual ulong ActualClicks { get; set; } [DataMember(Name="junkClicks")] public virtual ulong JunkClicks { get; set; } [DataMember(Name="spiderClicks")] public virtual ulong SpiderClicks { get; set; } [DataMember(Name="dateUtc")] public virtual DateTime DateUtc { get; set; } } [DataContract] public partial class ReportRequest { [DataMember(Name="items")] public virtual IEnumerable Items { get; set; } [DataMember(Name="groupBy")] public virtual IEnumerable GroupBy { get; set; } [DataMember(Name="attribute")] public virtual string Attribute { get; set; } [DataMember(Name="type")] public virtual ReportType Type { get; set; } [DataMember(Name="fromStartUtcInclusive")] public virtual DateTime FromStartUtcInclusive { get; set; } [DataMember(Name="fromEndUtcInclusive")] public virtual DateTime FromEndUtcInclusive { get; set; } [DataMember(Name="retailers")] public virtual IEnumerable Retailers { get; set; } } public enum ReportType { ShortUrl, Group, User, } } namespace GeniuslinkAPI.ServiceModel.V4.Reporting.DTOs.Items { [DataContract] public partial class Item { [DataMember(Name="id")] public virtual string Id { get; set; } [DataMember(Name="displayName")] public virtual string DisplayName { get; set; } } } namespace GeniuslinkAPI.ServiceModel.V4.Reporting.Requests { [Route("/v4/report/links", "POST")] [Route("/v3.5/report/links", "POST")] [DataContract] public partial class PostLinkReportRequest : IReturn { [DataMember(Name="reports")] public virtual IEnumerable Reports { get; set; } } } namespace GeniuslinkAPI.ServiceModel.V4.Reporting.Responses { [DataContract] public partial class PostLinkReportResponse { [DataMember(Name="responseStatus")] public virtual ResponseStatus ResponseStatus { get; set; } [DataMember(Name="reports")] public virtual IEnumerable Reports { get; set; } } }