/* tslint:disable:max-classes-per-file */
/* tslint:disable:variable-name */
/* tslint:disable:no-trailing-whitespace */
/* tslint:disable:no-consecutive-blank-lines */
/* tslint:disable:no-namespace */
/* tslint:disable:member-access */
/* tslint:disable:typedef-whitespace */
/* tslint:disable:no-internal-module */

declare module EVA.BI.Reporting {
  
  export class GetOrderCountsResponseDayWithCount {
    Day : string; // DateTime
    Count : number; // Int32
  }
  
  export class GetDailyStats extends EVA.API.RequestMessageGeneric<EVA.BI.Reporting.GetDailyStatsResponse> {
  }
  
  export class GetDailyStatsResponse extends EVA.API.ResponseMessage {
    Orders : number; // Int32
    Exported : number; // Int32
    Shipped : number; // Int32
    Products : number; // Int32
  }
  
  export class GetOrderCounts extends EVA.API.RequestMessageGeneric<EVA.BI.Reporting.GetOrderCountsResponse> {
    StartDate? : string; // DateTime, nullable
    EndDate? : string; // DateTime, nullable
  }
  
  export class GetOrderCountsResponse extends EVA.API.ResponseMessage {
    Days : EVA.BI.Reporting.GetOrderCountsResponseDayWithCount[]; 
  }
  
  export class GetPopularProducts extends EVA.API.RequestMessageGeneric<EVA.BI.Reporting.GetPopularProductsResponse> {
    StartDate? : string; // DateTime, nullable
    EndDate? : string; // DateTime, nullable
    Amount? : number; // Int32, nullable
  }
  
  export class GetPopularProductsResponse extends EVA.API.ResponseMessage {
    Products : EVA.BI.Reporting.GetPopularProductsResponseProductWithCount[]; 
  }
  
  export class GetPopularProductsResponseProductWithCount {
    ID : number; // Int32
    Name : string; 
    Count : number; // Int32
  }
  
}