/* Options: Date: 2025-12-06 05:08:21 Version: 8.60 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://reporting-api-zane.dev.platform.georiot.com //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: PostLinkReportRequest.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.*,com.google.gson.annotations.*,com.google.gson.reflect.* */ import java.math.*; import java.util.*; import java.io.InputStream; import net.servicestack.client.*; import com.google.gson.annotations.*; import com.google.gson.reflect.*; public class dtos { @Route(Path="/v4/report/links", Verbs="POST") @DataContract public static class PostLinkReportRequest implements IReturn, IPostLinkReportRequest { @DataMember(Name="reports") @SerializedName("reports") public ArrayList reports = null; public ArrayList getReports() { return reports; } public PostLinkReportRequest setReports(ArrayList value) { this.reports = value; return this; } private static Object responseType = PostLinkReportResponse.class; public Object getResponseType() { return responseType; } } @DataContract public static class PostLinkReportResponse implements IPostLinkReportResponse { @DataMember(Name="reports") @SerializedName("reports") public ArrayList reports = null; @DataMember(Name="responseStatus") @SerializedName("responseStatus") public ResponseStatus responseStatus = null; public ArrayList getReports() { return reports; } public PostLinkReportResponse setReports(ArrayList value) { this.reports = value; return this; } public ResponseStatus getResponseStatus() { return responseStatus; } public PostLinkReportResponse setResponseStatus(ResponseStatus value) { this.responseStatus = value; return this; } } @DataContract public static class ReportRequest { @DataMember(Name="items") @SerializedName("items") public ArrayList items = null; @DataMember(Name="groupBy") @SerializedName("groupBy") public ArrayList groupBy = null; @DataMember(Name="attribute") @SerializedName("attribute") public String attribute = null; @DataMember(Name="type") @SerializedName("type") public ReportType type = null; @DataMember(Name="fromStartUtcInclusive") @SerializedName("fromStartUtcInclusive") public Date fromStartUtcInclusive = null; @DataMember(Name="fromEndUtcInclusive") @SerializedName("fromEndUtcInclusive") public Date fromEndUtcInclusive = null; @DataMember(Name="retailers") @SerializedName("retailers") public ArrayList retailers = null; public ArrayList getItems() { return items; } public ReportRequest setItems(ArrayList value) { this.items = value; return this; } public ArrayList getGroupBy() { return groupBy; } public ReportRequest setGroupBy(ArrayList value) { this.groupBy = value; return this; } public String getAttribute() { return attribute; } public ReportRequest setAttribute(String value) { this.attribute = value; return this; } public ReportType getType() { return type; } public ReportRequest setType(ReportType value) { this.type = value; return this; } public Date getFromStartUtcInclusive() { return fromStartUtcInclusive; } public ReportRequest setFromStartUtcInclusive(Date value) { this.fromStartUtcInclusive = value; return this; } public Date getFromEndUtcInclusive() { return fromEndUtcInclusive; } public ReportRequest setFromEndUtcInclusive(Date value) { this.fromEndUtcInclusive = value; return this; } public ArrayList getRetailers() { return retailers; } public ReportRequest setRetailers(ArrayList value) { this.retailers = value; return this; } } public static interface IPostLinkReportRequest { public ArrayList reports = null; } @DataContract public static class Report { @DataMember(Name="data") @SerializedName("data") public ArrayList data = null; @DataMember(Name="executionTimeMs") @SerializedName("executionTimeMs") public Long executionTimeMs = null; @DataMember(Name="totalItems") @SerializedName("totalItems") public Long totalItems = null; @DataMember(Name="errors") @SerializedName("errors") public ArrayList errors = null; @DataMember(Name="request") @SerializedName("request") public ReportRequest request = null; @DataMember(Name="totalClicks") @SerializedName("totalClicks") public Long totalClicks = null; public ArrayList getData() { return data; } public Report setData(ArrayList value) { this.data = value; return this; } public Long getExecutionTimeMs() { return executionTimeMs; } public Report setExecutionTimeMs(Long value) { this.executionTimeMs = value; return this; } public Long getTotalItems() { return totalItems; } public Report setTotalItems(Long value) { this.totalItems = value; return this; } public ArrayList getErrors() { return errors; } public Report setErrors(ArrayList value) { this.errors = value; return this; } public ReportRequest getRequest() { return request; } public Report setRequest(ReportRequest value) { this.request = value; return this; } public Long getTotalClicks() { return totalClicks; } public Report setTotalClicks(Long value) { this.totalClicks = value; return this; } } public static interface IPostLinkReportResponse { public ArrayList reports = null; } public static enum GroupBy { Default, Retailer, Date; } public static enum ReportType { ShortUrl, Group, User; } @DataContract public static class ReportData { @DataMember(Name="id") @SerializedName("id") public String id = null; @DataMember(Name="item") @SerializedName("item") public Item item = null; @DataMember(Name="totalClicks") @SerializedName("totalClicks") public BigInteger totalClicks = null; @DataMember(Name="clicks") @SerializedName("clicks") public BigInteger actualClicks = null; @DataMember(Name="junkClicks") @SerializedName("junkClicks") public BigInteger junkClicks = null; @DataMember(Name="spiderClicks") @SerializedName("spiderClicks") public BigInteger spiderClicks = null; @DataMember(Name="dateUtc") @SerializedName("dateUtc") public Date dateUtc = null; public String getId() { return id; } public ReportData setId(String value) { this.id = value; return this; } public Item getItem() { return item; } public ReportData setItem(Item value) { this.item = value; return this; } public BigInteger getTotalClicks() { return totalClicks; } public ReportData setTotalClicks(BigInteger value) { this.totalClicks = value; return this; } public BigInteger getActualClicks() { return actualClicks; } public ReportData setActualClicks(BigInteger value) { this.actualClicks = value; return this; } public BigInteger getJunkClicks() { return junkClicks; } public ReportData setJunkClicks(BigInteger value) { this.junkClicks = value; return this; } public BigInteger getSpiderClicks() { return spiderClicks; } public ReportData setSpiderClicks(BigInteger value) { this.spiderClicks = value; return this; } public Date getDateUtc() { return dateUtc; } public ReportData setDateUtc(Date value) { this.dateUtc = value; return this; } } @DataContract public static class Error { @DataMember(Name="code") @SerializedName("code") public String code = null; public String getCode() { return code; } public Error setCode(String value) { this.code = value; return this; } } @DataContract public static class Item { @DataMember(Name="id") @SerializedName("id") public String id = null; @DataMember(Name="displayName") @SerializedName("displayName") public String displayName = null; public String getId() { return id; } public Item setId(String value) { this.id = value; return this; } public String getDisplayName() { return displayName; } public Item setDisplayName(String value) { this.displayName = value; return this; } } }