/* 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.ShelfManagement {
  
  export class CreateOrganizationUnitShelf extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateOrganizationUnitShelfResponse> {
    ShelfID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
  }
  
  export class CreateOrganizationUnitShelfResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateProductRestriction extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateProductRestrictionResponse> {
    ProductID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
    MaximumReplenismentQuantity? : number; // Int32, nullable
    MaximumStockQuantity? : number; // Int32, nullable
  }
  
  export class CreateProductRestrictionResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelf extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfResponse> {
    Name : string; 
    Description : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
    StockLabelID? : number; // Int32, nullable
    TypeID : number; // Int32
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class CreateShelfBlob extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfBlobResponse> {
    ShelfID : number; // Int32
    BlobID : string; 
  }
  
  export class CreateShelfBlobResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfLocation extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationResponse> {
    ShelfID : number; // Int32
    ParentID? : number; // Int32, nullable
    TemplateID : number; // Int32
    Name : string; 
  }
  
  export class CreateShelfLocationBlob extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationBlobResponse> {
    ShelfLocationID : number; // Int32
    BlobID : string; 
  }
  
  export class CreateShelfLocationBlobResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfLocationProduct extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationProductResponse> {
    ShelfLocationID : number; // Int32
    ProductID : number; // Int32
    MinimumQuantity : number; // Int32
    MaximumQuantity : number; // Int32
  }
  
  export class CreateShelfLocationProductResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfLocationProducts extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationProductsResponse> {
    ShelfLocationID : number; // Int32
    Products : EVA.ShelfManagement.CreateShelfLocationProductsProduct[]; 
  }
  
  export class CreateShelfLocationProductsResponse extends EVA.API.ResponseMessage {
    IDs : number[]; 
  }
  
  export class CreateShelfLocationResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfLocationTemplate extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationTemplateResponse> {
    TypeID : number; // Int32
    Name : string; 
    ProductLimit? : number; // Int32, nullable
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class CreateShelfLocationTemplateResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfLocationTemplateType extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfLocationTemplateTypeResponse> {
    Name : string; 
    Description : string; 
  }
  
  export class CreateShelfLocationTemplateTypeResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShelfType extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.CreateShelfTypeResponse> {
    Name : string; 
    Description : string; 
  }
  
  export class CreateShelfTypeResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitShelf extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteProductRestriction extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelf extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfBlob extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfLocation extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfLocationBlob extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfLocationProduct extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfLocationTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfLocationTemplateType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShelfType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DownloadShelfLocationProducts extends EVA.API.RequestMessageGeneric<EVA.API.ResourceResponseMessage> {
    ShelfLocationID : number; // Int32
  }
  
  export class DuplicateShelf extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.DuplicateShelfResponse> {
    ShelfID : number; // Int32
    Name : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
  }
  
  export class DuplicateShelfResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class ExportShelfTemplate extends EVA.API.RequestMessageGeneric<EVA.API.ResourceResponseMessage> {
    ShelfIDs : number[]; 
  }
  
  export class GetOrganizationUnitDistributionTree extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetOrganizationUnitDistributionTreeResponse> {
  }
  
  export class GetOrganizationUnitDistributionTreeResponse extends EVA.API.ResponseMessage {
    Tree : EVA.ShelfManagement.TreeNode; 
  }
  
  export class GetOrganizationUnitShelfByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetOrganizationUnitShelfByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetOrganizationUnitShelfByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShelfID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
  }
  
  export class GetProductRestrictionByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetProductRestrictionByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetProductRestrictionByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ProductID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
    MaximumReplenismentQuantity? : number; // Int32, nullable
    MaximumStockQuantity? : number; // Int32, nullable
  }
  
  export class GetShelfBlobByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfBlobByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfBlobByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShelfID : number; // Int32
    BlobID : string; 
  }
  
  export class GetShelfByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
    StockLabelID? : number; // Int32, nullable
    TypeID : number; // Int32
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class GetShelfLocationBlobByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationBlobByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfLocationBlobByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShelfLocationID : number; // Int32
    BlobID : string; 
  }
  
  export class GetShelfLocationByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfLocationByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShelfID : number; // Int32
    ParentID? : number; // Int32, nullable
    TemplateID : number; // Int32
    Name : string; 
  }
  
  export class GetShelfLocationProductByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationProductByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfLocationProductByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShelfLocationID : number; // Int32
    ProductID : number; // Int32
    MinimumQuantity : number; // Int32
    MaximumQuantity : number; // Int32
  }
  
  export class GetShelfLocationTemplateByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationTemplateByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfLocationTemplateByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    TypeID : number; // Int32
    Name : string; 
    ProductLimit? : number; // Int32, nullable
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class GetShelfLocationTemplateTypeByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationTemplateTypeByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfLocationTemplateTypeByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class GetShelfLocationTemplateTypes extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfLocationTemplateTypesResponse> {
  }
  
  export class GetShelfLocationTemplateTypesResponse extends EVA.API.ResponseMessage {
    ShelfLocationTemplateTypes : EVA.ShelfManagement.GetShelfLocationTemplateTypesResponseShelfLocationTemplateTypeDto[]; 
  }
  
  export class GetShelfTypeByID extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfTypeByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShelfTypeByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class GetShelfTypes extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.GetShelfTypesResponse> {
  }
  
  export class GetShelfTypesResponse extends EVA.API.ResponseMessage {
    ShelfTypes : EVA.ShelfManagement.GetShelfTypesResponseShelfTypeDto[]; 
  }
  
  export class ImportShelfTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class ListOrganizationUnitShelves extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListOrganizationUnitShelvesResponse> {
  }
  
  export class ListOrganizationUnitShelvesResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListOrganizationUnitShelvesResponseOrganizationUnitShelfDto> {
  }
  
  export class ListProductRestrictions extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListProductRestrictionsResponse> {
  }
  
  export class ListProductRestrictionsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListProductRestrictionsResponseProductRestrictionDto> {
  }
  
  export class ListShelfBlobs extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListShelfBlobsResponse> {
  }
  
  export class ListShelfBlobsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfBlobsResponseShelfBlobDto> {
  }
  
  export class ListShelfLocationBlobs extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListShelfLocationBlobsResponse> {
  }
  
  export class ListShelfLocationBlobsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfLocationBlobsResponseShelfLocationBlobDto> {
  }
  
  export class ListShelfLocationProducts extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.ListShelfLocationProductsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.ShelfManagement.ListShelfLocationProductsFilter>; 
  }
  
  export class ListShelfLocationProductsFilter {
    ProductQuery : string; 
    ShelfLocationID? : number; // Int32, nullable
    ProductID? : number; // Int32, nullable
    MinimumQuantity? : number; // Int32, nullable
    MaximumQuantity? : number; // Int32, nullable
  }
  
  export class ListShelfLocationProductsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfLocationProductsResponseShelfLocationProductDto> {
  }
  
  export class ListShelfLocations extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListShelfLocationsResponse> {
  }
  
  export class ListShelfLocationsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfLocationsResponseShelfLocationDto> {
  }
  
  export class ListShelfLocationTemplates extends EVA.API.PagedResultRequest<EVA.ShelfManagement.ListShelfLocationTemplatesResponse> {
  }
  
  export class ListShelfLocationTemplatesResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfLocationTemplatesResponseShelfLocationTemplateDto> {
  }
  
  export class ListShelfProducts extends EVA.API.FilteredPagedResultRequest<EVA.ShelfManagement.ListShelfProductsFilter, EVA.ShelfManagement.ListShelfProductsResponse> {
    IncludedProperties : string[]; 
    Query : string; 
  }
  
  export class ListShelfProductsDto {
    OrganizationUnitID : number; // Int32
    StockLabelID : number; // Int32
    StockLabelName : string; 
    ProductID : number; // Int32
    BackendID : string; 
    TotalMinimumQuantity : number; // Int32
    TotalMaximumQuantity : number; // Int32
    Properties : any; 
  }
  
  export class ListShelfProductsFilter {
    OrganizationUnitID? : number; // Int32, nullable
    StockLabelID? : number; // Int32, nullable
    BackendID : string; 
    ProductID? : number; // Int32, nullable
    ProductIDs : number[]; 
  }
  
  export class ListShelfProductsResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelfProductsDto> {
  }
  
  export class ListShelves extends EVA.API.RequestMessageGeneric<EVA.ShelfManagement.ListShelvesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.ShelfManagement.ListShelvesFilter>; 
  }
  
  export class ListShelvesFilter {
    Name : string; 
    TypeID? : number; // Int32, nullable
    StartDateTime? : string; // DateTime, nullable
    EndDateTime? : string; // DateTime, nullable
    ProductID? : number; // Int32, nullable
  }
  
  export class ListShelvesResponse extends EVA.API.PagedResultResponse<EVA.ShelfManagement.ListShelvesResponseShelfDto> {
  }
  
  export class ListOrganizationUnitShelvesResponseOrganizationUnitShelfDto {
    ID : number; // Int32
    ShelfID : number; // Int32
    Shelf : EVA.ShelfManagement.ListOrganizationUnitShelvesResponseShelfDto; 
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnit : EVA.Core.OrganizationUnitDto; 
    OrganizationUnitTypeID? : number; // Int32, nullable
  }
  
  export class CreateShelfLocationProductsProduct {
    ProductID : number; // Int32
    MinimumQuantity : number; // Int32
    MaximumQuantity : number; // Int32
  }
  
  export class ListProductRestrictionsResponseProductDto {
    BackendID : string; 
    DisplayValue : string; 
  }
  
  export class ListProductRestrictionsResponseProductRestrictionDto {
    ID : number; // Int32
    ProductID : number; // Int32
    Product : EVA.ShelfManagement.ListProductRestrictionsResponseProductDto; 
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
    MaximumReplenismentQuantity? : number; // Int32, nullable
    MaximumStockQuantity? : number; // Int32, nullable
  }
  
  export class ListShelfBlobsResponseShelfBlobDto {
    ID : number; // Int32
    ShelfID : number; // Int32
    BlobID : string; 
  }
  
  export class ListOrganizationUnitShelvesResponseShelfDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
    TypeID : number; // Int32
    Type : EVA.Framework.EnumDto; 
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class ListShelfLocationProductsResponseShelfDto {
    Name : string; 
  }
  
  export class ListShelvesResponseShelfDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
    StockLabelID? : number; // Int32, nullable
    TypeID : number; // Int32
    Type : EVA.Framework.EnumDto; 
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class ListShelfLocationBlobsResponseShelfLocationBlobDto {
    ID : number; // Int32
    ShelfLocationID : number; // Int32
    BlobID : string; 
  }
  
  export class ListShelfLocationProductsResponseShelfLocationDto {
    Name : string; 
    ShelfID : number; // Int32
    Shelf : EVA.ShelfManagement.ListShelfLocationProductsResponseShelfDto; 
  }
  
  export class ListShelfLocationsResponseShelfLocationDto {
    ID : number; // Int32
    ShelfID : number; // Int32
    ParentID? : number; // Int32, nullable
    TemplateID : number; // Int32
    Name : string; 
  }
  
  export class ListShelfLocationProductsResponseShelfLocationProductDto {
    ID : number; // Int32
    ShelfLocationID : number; // Int32
    ShelfLocation : EVA.ShelfManagement.ListShelfLocationProductsResponseShelfLocationDto; 
    ProductID : number; // Int32
    Product : EVA.ShelfManagement.ListShelfLocationProductsResponseShelfProductDto; 
    MinimumQuantity : number; // Int32
    MaximumQuantity : number; // Int32
  }
  
  export class ListShelfLocationTemplatesResponseShelfLocationTemplateDto {
    ID : number; // Int32
    TypeID : number; // Int32
    Name : string; 
    ProductLimit? : number; // Int32, nullable
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class GetShelfLocationTemplateTypesResponseShelfLocationTemplateTypeDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class ListShelfLocationProductsResponseShelfProductDto {
    BackendID : string; 
    CustomID : string; 
    DisplayValue : string; 
    DisplayPrice? : number; // Decimal, nullable
  }
  
  export class GetShelfTypesResponseShelfTypeDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class TreeNode {
    Fraction? : number; // Decimal, nullable
    OrganizationUnitIDs : number[]; 
    OrganizationUnitTypeID? : number; // Int32, nullable
    Negation : boolean; 
    Nodes : EVA.ShelfManagement.TreeNode[]; 
  }
  
  export class UpdateOrganizationUnitDistributionTree extends EVA.API.RequestMessageWithEmptyResponse {
    Tree : EVA.ShelfManagement.TreeNode; 
  }
  
  export class UpdateOrganizationUnitShelf extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ShelfID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
  }
  
  export class UpdateProductRestriction extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ProductID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitTypeID? : number; // Int32, nullable
    MaximumReplenismentQuantity? : number; // Int32, nullable
    MaximumStockQuantity? : number; // Int32, nullable
  }
  
  export class UpdateShelf extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    StartDateTime : string; // DateTime
    EndDateTime? : string; // DateTime, nullable
    StockLabelID? : number; // Int32, nullable
    TypeID : number; // Int32
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class UpdateShelfBlob extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ShelfID : number; // Int32
    BlobID : string; 
  }
  
  export class UpdateShelfLocation extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ParentID? : number; // Int32, nullable
    TemplateID : number; // Int32
    Name : string; 
  }
  
  export class UpdateShelfLocationBlob extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ShelfLocationID : number; // Int32
    BlobID : string; 
  }
  
  export class UpdateShelfLocationProduct extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    MinimumQuantity : number; // Int32
    MaximumQuantity : number; // Int32
  }
  
  export class UpdateShelfLocationTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    TypeID : number; // Int32
    Name : string; 
    ProductLimit? : number; // Int32, nullable
    Height? : number; // Int32, nullable
    Width? : number; // Int32, nullable
    Depth? : number; // Int32, nullable
  }
  
  export class UpdateShelfLocationTemplateType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Description : string; 
  }
  
  export class UpdateShelfType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Description : string; 
  }
  
  export class UploadShelfLocationProducts extends EVA.API.RequestMessageWithEmptyResponse {
    ShelfLocationID : number; // Int32
    Data : string; 
  }
  
}