/* 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.Core.Services.Management {
  
  export class AccountDto {
    ID : number; // Int32
    Name : string; 
    ObjectAccount : string; 
    Subsidiary : string; 
    VisibleByApplicationID : number; // Int32
    BookingFlagsID : number; // Int32
    BookingFlags : EVA.Core.BookingFlags; 
  }
  
  export class AddProductsToAssortment extends EVA.API.RequestMessageWithEmptyResponse {
    AssortmentID : number; // Int32
    // Specific product IDs that will be added to the assortment. Can be left empty, but either this or Query needs to have a value.
    Products : EVA.Core.Services.Management.AddProductsToAssortmentAssortmentProduct[]; 
    // Instead of specific product IDs, it's also possible to pass in a search query.
    ProductSearch : EVA.Core.Services.Management.AddProductsToAssortmentProductSearchModel; 
  }
  
  export class ApprovePendingUser extends EVA.API.RequestMessageWithEmptyResponse {
    UserID : number; // Int32
  }
  
  export class ListAssortmentsResponseAssortmentDto {
    ID : number; // Int32
    Name : string; 
    IsDefault : boolean; 
  }
  
  export class AddProductsToAssortmentAssortmentProduct {
    ProductID : number; // Int32
    ProductStatus : EVA.Core.ProductStatus; 
    StartDate? : string; // DateTime, nullable
    EndDate? : string; // DateTime, nullable
  }
  
  export class ListAssortmentProductsResponseAssortmentProduct {
    ProductID : number; // Int32
    ProductCustomID : string; 
    AssortmentID : number; // Int32
    AssortmentName : string; 
    ProductStatus : EVA.Core.ProductStatus; 
    StartDate? : string; // DateTime, nullable
    EndDate? : string; // DateTime, nullable
  }
  
  export class AttachFunctionalitiesToRole extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    RoleID : number; // Int32
    Functionalities : string[]; 
    ScopedFunctionalities : EVA.Framework.FunctionalityWithScope[]; 
  }
  
  export class AttachOrganizationUnitsToGroup extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    OrganizationUnitGroupID : number; // Int32
    OrganizationUnitIDs : number[]; 
  }
  
  export class AuditingConfigurationResponse extends EVA.API.ResponseMessage {
    Success : boolean; 
    Errors : string[]; 
  }
  
  export class AuditingResetFinancialPeriods extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.AuditingConfigurationResponse> {
    AuditingProvider : string; 
    OrganizationUnitID : number; // Int32
    MarkAsProcessed : boolean; 
  }
  
  export class AuditingSetPrivateKey extends EVA.API.RequestMessageWithEmptyResponse {
    PrivateKeyFile : string; 
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class AuditingValidateConfiguration extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.AuditingConfigurationResponse> {
    AuditingProvider : string; 
    OrganizationUnitID : number; // Int32
  }
  
  export class BadgeDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    TypeID : number; // Int32
    Type : EVA.Core.BadgeTypes; 
  }
  
  export class CalculateStockDetails extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CalculateStockDetailsResponse> {
    OrganizationUnitIDs : number[]; 
    ProductIDs : number[]; 
  }
  
  export class CalculateStockDetailsResponse extends EVA.API.ResponseMessage {
    Results : EVA.Core.Services.Management.CalculateStockDetailsResponseModel[]; 
  }
  
  export class CarrierDto {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    BackendID : string; 
  }
  
  export class ListCashHandlersResponseCashHandlerDto {
    ID : number; // Int32
    Name : string; 
    CurrencyID : string; 
    RoundingFactor : number; // Decimal
    Coins : number[]; 
    BankNotes : number[]; 
  }
  
  export class CreateAccount extends EVA.API.CreateRequest<EVA.Core.Services.Management.AccountDto> implements EVA.API.IRequestRespondsAs<EVA.API.CreateResponse> {
  }
  
  export class CreateAssortment extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateAssortmentResponse> {
    Name : string; 
  }
  
  export class CreateAssortmentResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateCarrier extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateCarrierResponse> {
    Name : string; 
    Code : string; 
    BackendID : string; 
  }
  
  export class CreateCarrierResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateCashHandler extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateCashHandlerResponse> {
    Name : string; 
    CurrencyID : string; 
    RoundingFactor : number; // Decimal
    Coins : number[]; 
    BankNotes : number[]; 
  }
  
  export class CreateCashHandlerResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateCulture extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateCultureResponse> {
    LanguageID : string; 
    CountryID : string; 
  }
  
  export class CreateCultureResponse extends EVA.API.ResponseMessage {
    ID : string; 
  }
  
  export class CreateCustomerReturnReason extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateCustomerReturnReasonResponse> {
    Name : string; 
    Description : string; 
  }
  
  export class CreateCustomerReturnReasonResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateDevice extends EVA.API.CreateRequest<EVA.Core.DeviceDto> implements EVA.API.IRequestRespondsAs<EVA.API.CreateResponse> {
  }
  
  export class CreateDiscount extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateDiscountResponse> {
    BackendID : string; 
    IsActive : boolean; 
    Description : string; 
    MarketingDescription : string; 
    CampaignName : string; 
    NeedsReason : boolean; 
    DiscountOrderType : EVA.Core.DiscountOrderTypes; 
    StartDate : string; // DateTime
    EndDate? : string; // DateTime, nullable
    LedgerClassID : string; 
    MaximumUsage? : number; // Int32, nullable
    MaximumUsagePerOrder? : number; // Int32, nullable
    ActionType : string; 
    ActionData : any; 
    Conditions : EVA.Core.Services.Management.CreateDiscountDiscountConditionDto[]; 
    ConditionType : EVA.Core.DiscountConditionTypes; 
    Trigger : EVA.Core.DiscountTriggers; 
    LayerID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    CurrencyID : string; 
  }
  
  export class CreateDiscountCoupon extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateDiscountCouponResponse> {
    CouponCode : string; 
    DiscountID : number; // Int32
    IsActive : boolean; 
  }
  
  export class CreateDiscountCouponResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateDiscountLayer extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateDiscountLayerResponse> {
    Name : string; 
    Description : string; 
    Sequence? : number; // Int32, nullable
    IsExclusive : boolean; 
  }
  
  export class CreateDiscountLayerResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateDiscountResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateEmployeeData extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateEmployeeDataResponse> {
    UserID : number; // Int32
    EmployeeNumber : string; 
    Function : string; 
    PrimaryOrganizationUnitID? : number; // Int32, nullable
    ManagerID? : number; // Int32, nullable
    AdditionalOrganizationUnitIDs : number[]; 
  }
  
  export class CreateEmployeeDataResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export enum CreateEmployeeResults {
    CreatedNewUser = 0,
    UpgradedExistingUser = 1,
    UpdatedExistingUser = 2,
  }
  
  export class CreateEmployeeUser extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateEmployeeUserResponse> {
    FirstName : string; 
    LastName : string; 
    Nickname : string; 
    EmailAddress : string; 
    Gender : string; 
    PhoneNumber : string; 
    DateOfBirth? : string; // DateTime, nullable
    Password : string; 
    LanguageID : string; 
    CountryID : string; 
    EmployeeNumber : string; 
    Function : string; 
    PrimaryOrganizationUnitID? : number; // Int32, nullable
    ManagerID? : number; // Int32, nullable
    AdditionalOrganizationUnitIDs : number[]; 
    RoleID? : number; // Int32, nullable
  }
  
  export class CreateEmployeeUserResponse extends EVA.API.ResponseMessage {
    UserID? : number; // Int32, nullable
    Result : EVA.Core.Services.Management.CreateEmployeeResults; 
  }
  
  export class CreateExchangeRate extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateExchangeRateResponse> {
    FromCurrencyID : string; 
    ToCurrencyID : string; 
    ExchangeRate : number; // Decimal
  }
  
  export class CreateExchangeRateResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateFraudItem extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateFraudItemResponse> {
    TypeID : number; // Int32
    Data : string; 
    Object : any; 
  }
  
  export class CreateFraudItemResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateIdentificationPinForEmployee extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateIdentificationPinForEmployeeResponse> {
    Pin : string; 
    UserID? : number; // Int32, nullable
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class CreateIdentificationPinForEmployeeResponse extends EVA.API.ResponseMessage {
    Pin : string; 
  }
  
  export class CreateMessageTemplate extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateMessageTemplateResponse> {
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Header : string; 
    Template : string; 
    Footer : string; 
    Helpers : string; 
    Type : EVA.Core.MessageTemplateTypes; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperProperties : EVA.Core.PaperProperties; 
    IsDisabled : boolean; 
  }
  
  export class CreateMessageTemplateResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitCountry extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitCountryResponse> {
    CountryID : string; 
    OrganizationUnitID : number; // Int32
  }
  
  export class CreateOrganizationUnitCountryResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitCurrency extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitCurrencyResponse> {
    CurrencyID : string; 
    OrganizationUnitID : number; // Int32
    CashHandlerID : number; // Int32
  }
  
  export class CreateOrganizationUnitCurrencyResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitGroup extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitGroupResponse> {
    Name : string; 
    BackendID : string; 
  }
  
  export class CreateOrganizationUnitGroupResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitLanguage extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitLanguageResponse> {
    LanguageID : string; 
    OrganizationUnitID : number; // Int32
  }
  
  export class CreateOrganizationUnitLanguageResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitSet extends EVA.API.RequestMessageGeneric<EVA.API.CreateResponse> {
    // Name is only optional when creating an AdHoc set.
    Name : string; 
    Type : EVA.Core.OrganizationUnitSetTypes; 
    ScopeID? : number; // Int32, nullable
    Definition : EVA.Core.OrganizationUnitSetDefinition; 
    // When specified adds the sets contained in Subsets as a subset of the new set.
    Subsets : EVA.Core.Services.Management.CreateOrganizationUnitSetOrganizationUnitSubSetDefinition[]; 
    SubsetOrdering? : EVA.Core.Services.Management.OrganizationSubsetOrdering; 
  }
  
  export class CreateOrganizationUnitSetScope extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitSetScopeResponse> {
    Name : string; 
    OrganizationUnitUniqueInScope : boolean; 
  }
  
  export class CreateOrganizationUnitSetScopeResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrganizationUnitShippingMethod extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateOrganizationUnitShippingMethodResponse> {
    ShippingMethodID : number; // Int32
    OrganizationUnitID : number; // Int32
    Priority : number; // Int32
  }
  
  export class CreateOrganizationUnitShippingMethodResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateOrUpdateOrganizationUnitSubset extends EVA.API.RequestMessageWithEmptyResponse {
    SetID : number; // Int32
    SubsetID : number; // Int32
    Type : EVA.Core.OrganizationUnitSetOperatorTypes; 
  }
  
  export class CreatePaymentType extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePaymentTypeResponse> {
    PaymentMethodID? : number; // Int32, nullable
    OrganizationUnitSetID? : number; // Int32, nullable
    Name : string; 
    Code : string; 
    IsActive : boolean; 
    IsRoundingType : boolean; 
    IsExternal : boolean; 
    ReturnAction : EVA.Core.PaymentReturnActions; 
    LedgerClassID : string; 
    PrintOnDocuments : boolean; 
    BackendRelationID : string; 
    BookPaymentMethodInvoice : boolean; 
    CanBeUsedForAuthorization : boolean; 
    AutoFinalizeOnOrderPaid : boolean; 
    CashJournalMethod : EVA.Core.PaymentCashJournalMethod; 
  }
  
  export class CreatePaymentTypeResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreatePriceList extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePriceListResponse> {
    Name : string; 
    BackendID : string; 
    BackendSystemID : string; 
    CurrencyID : string; 
    TimeZone : string; 
    IncludingVat : boolean; 
    IsActive : boolean; 
    IsSpecialPricesPriceList? : boolean; 
    SpecialPricesPriceListID? : number; // Int32, nullable
  }
  
  export class CreatePriceListAdjustment extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePriceListAdjustmentResponse> {
    PriceListID : number; // Int32
    ParentAdjustmentID? : number; // Int32, nullable
    Sequence : number; // Int32
    Name : string; 
    Label : string; 
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
    OverridePrice : boolean; 
    Type : string; 
    Data : any; 
  }
  
  export class CreatePriceListAdjustmentResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreatePriceListManualInputAdjustment extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePriceListManualInputAdjustmentResponse> {
    PriceListAdjustmentID : number; // Int32
    ProductID : number; // Int32
    Value : number; // Decimal
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
  }
  
  export class CreatePriceListManualInputAdjustmentResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreatePriceListOrganizationUnit extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePriceListOrganizationUnitResponse> {
    OrganizationUnitID : number; // Int32
    PriceListID : number; // Int32
    PriceListUsageTypeID : number; // Int32
  }
  
  export class CreatePriceListOrganizationUnitResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreatePriceListResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreatePriceListUsageType extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreatePriceListUsageTypeResponse> {
    Name : string; 
    Description : string; 
    RequiredUserType : EVA.Framework.UserTypes; 
  }
  
  export class CreatePriceListUsageTypeResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateProductBarcode extends EVA.API.RequestMessageWithEmptyResponse {
    ProductID : number; // Int32
    Barcode : string; 
    UnitOfMeasureID : number; // Int32
    Name : string; 
    Quantity? : number; // Int32, nullable
  }
  
  export class CreateProductGiftCard extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateProductGiftCardResponse> {
    ProductID : number; // Int32
    Type : string; 
    Data : any; 
  }
  
  export class CreateProductGiftCardResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateProductSearchTemplate extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateProductSearchTemplateResponse> {
    Name : string; 
    Filters : { [ key : string ] : EVA.Core.FilterModel }; 
  }
  
  export class CreateProductSearchTemplateResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateProductUnitOfMeasure extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateProductUnitOfMeasureResponse> {
    ProductID : number; // Int32
    UnitOfMeasureID : number; // Int32
    Quantity : number; // Int32
  }
  
  export class CreateProductUnitOfMeasureResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateRole extends EVA.API.CreateRequest<EVA.Core.Services.Management.RoleDto> implements EVA.API.IRequestRespondsAs<EVA.API.CreateResponse> {
  }
  
  export class CreateRoleSet extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateRoleSetResponse> {
    Name : string; 
  }
  
  export class CreateRoleSetResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShippingCost extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateShippingCostResponse> {
    BackendID : string; 
    ShippingMethodID? : number; // Int32, nullable
    OrganizationUnitID? : number; // Int32, nullable
    CountryID : string; 
    ZipCodes : string[]; 
    MinimumOrderAmount? : number; // Decimal, nullable
    MaximumOrderAmount? : number; // Decimal, nullable
    CurrencyID : string; 
    UnitPriceInTax : number; // Decimal
  }
  
  export class CreateShippingCostResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShippingMethod extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateShippingMethodResponse> {
    Name : string; 
    Code : string; 
    PaymentHandledByCarrier : boolean; 
    InvoicingHandledByCarrier : boolean; 
    CarrierID : number; // Int32
    DeliveryType : EVA.Core.ShippingMethodDeliveryTypes; 
  }
  
  export class CreateShippingMethodResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateShippingMethodTransportationTime extends EVA.API.RequestMessageGeneric<EVA.API.CreateResponse> {
    ShippingMethodID? : number; // Int32, nullable
    FromCountryID : string; 
    ToCountryID : string; 
    TimeInDays : number; // Int32
  }
  
  export class CreateShippingRestriction extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateShippingRestrictionResponse> {
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitSetID? : number; // Int32, nullable
    CountryID : string; 
    ZipCodeFrom : string; 
    ZipCodeTo : string; 
    ProductPropertyTypeID : string; 
    ProductPropertyTypeValues : string[]; 
    Type : EVA.Core.ShippingRestrictionType; 
  }
  
  export class CreateShippingRestrictionResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateStation extends EVA.API.RequestMessageGeneric<EVA.API.CreateResponse> {
    ToCreate : EVA.Core.Services.Management.CreateStationStationToCreate; 
  }
  
  export class CreateStockLabel extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateStockLabelResponse> {
    Name : string; 
    Description : string; 
    LedgerClassID : string; 
  }
  
  export class CreateStockLabelResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateSubscription extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateSubscriptionResponse> {
    Name : string; 
    BackendID : string; 
    // A UserField that is required when using this Subscription, p/a EmailAddress, PhoneNumber.
    UserField : string; 
    // A Handler for the actions on this subscription. Available handlers can be listed with the `GetSubscriptionHandlers` service.
    Handler : string; 
  }
  
  export class CreateSubscriptionOrganizationUnitSet extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateSubscriptionOrganizationUnitSetResponse> {
    SubscriptionID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    Enabled : boolean; 
    Default : boolean; 
    ConfirmationRequired : boolean; 
  }
  
  export class CreateSubscriptionOrganizationUnitSetResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateSubscriptionResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateSupplierProduct extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateSupplierProductResponse> {
    SupplierOrganizationUnitID : number; // Int32
    BackendID : string; 
    BrandName : string; 
    PrimitiveName : string; 
    Status : EVA.Core.ProductStatus; 
    Description : string; 
    PreferredMinimumOrderQuantity? : number; // Int32, nullable
    TaxCodeID : number; // Int32
  }
  
  export class CreateSupplierProductResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateUnitOfMeasure extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateUnitOfMeasureResponse> {
    Name : string; 
    Description : string; 
    BackendID : string; 
  }
  
  export class CreateUnitOfMeasureResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class CreateUrlRewrite extends EVA.API.CreateRequest<EVA.Core.Services.Management.UrlRewriteDto> implements EVA.API.IRequestRespondsAs<EVA.API.CreateResponse> {
  }
  
  export class CreateUserOrigin extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.CreateUserOriginResponse> {
    Name : string; 
    Description : string; 
    BackendID : string; 
  }
  
  export class CreateUserOriginResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class ListCulturesResponseCultureDto {
    ID : string; 
    LanguageID : string; 
    CountryID : string; 
  }
  
  export class DeleteAccount extends EVA.API.DeleteRequest implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class DeleteAssortment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteCashHandler extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteCulture extends EVA.API.RequestMessageWithEmptyResponse {
    ID : string; 
  }
  
  export class DeleteCustomerReturnReason extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteDevice extends EVA.API.DeleteRequest implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class DeleteDiscountLayer extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteEmployeeData extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteExchangeRate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteFraudItem extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteMessageTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitCountry extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitCurrency extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitGroup extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitLanguage extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitSetScope extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitShippingMethod extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteOrganizationUnitSubset extends EVA.API.RequestMessageWithEmptyResponse {
    SetID : number; // Int32
    SubsetID : number; // Int32
  }
  
  export class DeletePaymentType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeletePriceListAdjustment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeletePriceListManualInputAdjustment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeletePriceListOrganizationUnit extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeletePriceListUsageType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteProductBarcode extends EVA.API.RequestMessageWithEmptyResponse {
    Barcode : string; 
    IsSupplierBarcode : boolean; 
  }
  
  export class DeleteProductGiftCard extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteProductSearchTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteProductUnitOfMeasure extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteRole extends EVA.API.DeleteRequest implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class DeleteRoleSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShippingCost extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShippingMethodTransportationTime extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteShippingRestriction extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteStation extends EVA.API.DeleteRequest implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class DeleteStationByProxyID extends EVA.API.RequestMessage implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
    ProxyID : string; 
  }
  
  export class DeleteSubscription extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteSubscriptionOrganizationUnitSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteSupplierProduct extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteUnitOfMeasure extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DeleteUrlRewrite extends EVA.API.DeleteRequest implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class DeleteUserOrigin extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
  }
  
  export class DetachFunctionalitiesFromRole extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    RoleID : number; // Int32
    Functionalities : string[]; 
    ScopedFunctionalities : EVA.Framework.FunctionalityWithScope[]; 
  }
  
  export class DetachOrganizationUnitsFromGroup extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    OrganizationUnitGroupID : number; // Int32
    OrganizationUnitIDs : number[]; 
  }
  
  export class CreateDiscountDiscountConditionDto {
    Type : string; 
    Data : any; 
    UseAsActionCondition : boolean; 
  }
  
  export class GetDiscountByIDResponseDiscountConditionDto {
    ID : number; // Int32
    Type : string; 
    Data : any; 
    UseAsActionCondition : boolean; 
  }
  
  export class UpdateDiscountDiscountConditionDto {
    ID? : number; // Int32, nullable
    Type : string; 
    Data : any; 
    UseAsActionCondition : boolean; 
  }
  
  export class ValidateDiscountDiscountConditionDto {
    Type : string; 
    Data : any; 
    UseAsActionCondition : boolean; 
  }
  
  export class SearchDiscountsByQueryResponseDiscountDto {
    ID : number; // Int32
    Description : string; 
    IsActive : boolean; 
    IsVerified : boolean; 
    MaximumUsage? : number; // Int32, nullable
    CurrencyID : string; 
    TotalDiscountGiven : number; // Decimal
    UsageCount : number; // Int32
    CreatedByID : number; // Int32
    CreatedByFullName : string; 
    DiscountOrderType : EVA.Core.DiscountOrderTypes; 
    LayerID : number; // Int32
    LayerName : string; 
    OrganizationUnitSetID : number; // Int32
    OrganizationUnitSetName : string; 
    StartDate : string; // DateTime
    EndDate? : string; // DateTime, nullable
  }
  
  export class ListDiscountLayersResponseDiscountLayerDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    Sequence : number; // Int32
    IsExclusive : boolean; 
    // This layer is managed by EVA and cannot be changed.
    IsSystem : boolean; 
  }
  
  export class DownloadAssortmentProducts extends EVA.API.RequestMessageWithResourceResponse {
    AssortmentID : number; // Int32
  }
  
  export class DownloadCustomersSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadEmployeesSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadFraudItems extends EVA.API.RequestMessageGeneric<EVA.API.ResourceResponseMessage> {
  }
  
  export class DownloadInitialInventorySample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadPriceListManualInputAdjustments extends EVA.API.RequestMessageWithResourceResponse {
    PriceListAdjustmentID : number; // Int32
  }
  
  export class DownloadPriceListManualInputAdjustmentsSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadShippingRestrictions extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadSupplierProducts extends EVA.API.RequestMessageWithResourceResponse {
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class DownloadSupplierProductsBarcodes extends EVA.API.RequestMessageWithResourceResponse {
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class DownloadSupplierProductsBarcodesSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadSupplierProductsPricing extends EVA.API.RequestMessageWithResourceResponse {
    OrganizationUnitID? : number; // Int32, nullable
    CurrencyID : string; 
  }
  
  export class DownloadSupplierProductsPricingSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadSupplierProductsSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DownloadSupplierProductsStock extends EVA.API.RequestMessageWithResourceResponse {
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class DownloadSupplierProductsStockSample extends EVA.API.RequestMessageWithResourceResponse {
  }
  
  export class DuplicateDiscount extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.DuplicateDiscountResponse> {
    DiscountID : number; // Int32
  }
  
  export class DuplicateDiscountResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
  }
  
  export class EmployeeDataDto {
    ID : number; // Int32
    UserID : number; // Int32
    UserFullName : string; 
    UserEmailAddress : string; 
    EmployeeNumber : string; 
    Function : string; 
    PrimaryOrganizationUnitID? : number; // Int32, nullable
    PrimaryOrganizationUnitName : string; 
    ManagerID? : number; // Int32, nullable
    ManagerFullName : string; 
    ManagerEmailAddress : string; 
    AdditionalOrganizationUnitIDs : number[]; 
  }
  
  export enum EmployeeImportColumns {
    Initials = 1,
    FirstName = 2,
    LastName = 3,
    Gender = 4,
    EmailAddress = 5,
    PhoneNumber = 6,
    Nickname = 7,
    LanguageID = 8,
    CountryID = 9,
    EmployeeNumber = 10,
    Function = 11,
    OrganizationUnit = 12,
    Role = 13,
    ContractID = 14,
    EmploymentType = 15,
    StartDate = 16,
    EndDate = 17,
  }
  
  export class ListExchangeRatesResponseExchangeRateDto {
    ID : number; // Int32
    FromCurrencyID : string; 
    ToCurrencyID : string; 
    ExchangeRate : number; // Decimal
  }
  
  export class ExportGeneralLedgerSummaryToExcel extends EVA.API.RequestMessageWithEmptyResponse {
    Filter : EVA.Core.ListGeneralLedgersFilter; 
  }
  
  export class ExportUnshippedPurchaseOrdersToExcel extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ExportUnshippedPurchaseOrdersToExcelResponse> {
    ShipFromOrganizationUnitID : number; // Int32
  }
  
  export class ExportUnshippedPurchaseOrdersToExcelResponse extends EVA.API.ResponseMessage {
    DownloadUrl : string; 
  }
  
  export class FraudItemDto {
    ID : number; // Int32
    TypeID : number; // Int32
    Data : string; 
    Object : any; 
  }
  
  export class GetSupportedFunctionalitiesResponseFunctionalityDefinition {
    Name : string; 
    Description : string; 
    NoInheritance : boolean; 
    Unscoped : boolean; 
  }
  
  export class GetAllFunctionalitiesForCurrentUserResponseFunctionalityDto {
    Functionality : string; 
    FunctionalityScope : EVA.Framework.FunctionalityScope; 
    OrganizationUnitIDs : number[]; 
  }
  
  export class GetAllFunctionalitiesForCurrentUserAsTreeResponseFunctionalityDto {
    Functionality : string; 
    FunctionalityScope : EVA.Framework.FunctionalityScope; 
    DisableHierarchy : boolean; 
  }
  
  export class FunctionalityDto {
    Functionality : string; 
    EndDate? : string; // DateTime, nullable
    DisableHierarchy : boolean; 
    FunctionalityScope : EVA.Framework.FunctionalityScope; 
  }
  
  export class GetRoleResponseRoleWithFunctionalitiesDtoFunctionalityWithScope {
    Functionality : string; 
    Scope : EVA.Framework.FunctionalityScope; 
  }
  
  export enum GeneralLedgerExportColumns {
    Account = 1,
    AccountName = 2,
    Amount = 3,
    Date = 4,
    FinancialPeriod = 5,
    OrganizationUnit = 6,
    Order = 7,
  }
  
  export class GenerateDiscountCoupons extends EVA.API.RequestMessageWithEmptyResponse {
    DiscountID : number; // Int32
    Quantity : number; // Int32
  }
  
  export class GenerateIdentificationCodeForEmployee extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GenerateIdentificationCodeForEmployeeResponse> {
  }
  
  export class GenerateIdentificationCodeForEmployeeResponse extends EVA.API.ResponseMessage {
    Result : EVA.Core.Services.Management.GenerateIdentificationCodeForEmployeeResponseUserIdWithIdentificationCodeDto; 
  }
  
  export class GenerateIdentificationPinForEmployee extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GenerateIdentificationPinForEmployeeResponse> {
    UserID? : number; // Int32, nullable
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class GenerateIdentificationPinForEmployeeResponse extends EVA.API.ResponseMessage {
    Pin : string; 
  }
  
  export class GeneratePurchaseOrderExcelSample extends EVA.API.RequestMessageGeneric<EVA.API.ResourceResponseMessage> {
  }
  
  export class GetAccount extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAccountResponse> {
    Id : number; // Int32
  }
  
  export class GetAccountResponse extends EVA.API.ResponseMessage {
    Result : EVA.Core.Services.Management.AccountDto; 
  }
  
  export class GetAllFunctionalitiesForCurrentUser extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserResponse> {
  }
  
  export class GetAllFunctionalitiesForCurrentUserAsTree extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserAsTreeResponse> {
  }
  
  export class GetAllFunctionalitiesForCurrentUserAsTreeResponse extends EVA.API.ResponseMessage {
    OrganizationUnits : EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserAsTreeResponseOrganizationUnitDto[]; 
  }
  
  export class GetAllFunctionalitiesForCurrentUserResponse extends EVA.API.ResponseMessage {
    Functionalities : EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserResponseFunctionalityDto[]; 
  }
  
  export class GetAssortmentByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAssortmentByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetAssortmentByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    IsDefault : boolean; 
  }
  
  export class GetAvailablePaymentSettlementFileHandlers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAvailablePaymentSettlementFileHandlersResponse> {
  }
  
  export class GetAvailablePaymentSettlementFileHandlersResponse extends EVA.API.ResponseMessage {
    Handlers : string[]; 
  }
  
  export class GetAvailableRoles extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAvailableRolesResponse> {
    UserID : number; // Int32
  }
  
  export class GetAvailableRolesResponse extends EVA.API.ResponseMessage {
    AvailableRoles : EVA.Core.Services.Management.RoleDto[]; 
  }
  
  export class GetAvailableSettings extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAvailableSettingsResponse> {
  }
  
  export class GetAvailableSettingsResponse extends EVA.API.ResponseMessage {
    Settings : EVA.Core.Services.Management.GetAvailableSettingsResponseSetting[]; 
  }
  
  export class GetAvailableUserRequirementsProperties extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetAvailableUserRequirementsPropertiesResponse> {
  }
  
  export class GetAvailableUserRequirementsPropertiesResponse extends EVA.API.ResponseMessage {
    Properties : string[]; 
  }
  
  export class GetCarrierByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetCarrierByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetCarrierByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    BackendID : string; 
  }
  
  export class GetCashHandlerByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetCashHandlerByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetCashHandlerByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    CurrencyID : string; 
    RoundingFactor : number; // Decimal
    Coins : number[]; 
    BankNotes : number[]; 
  }
  
  export class GetConfigurationQrForDevice extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetConfigurationQrForDeviceResponse> {
    DeviceID : number; // Int32
  }
  
  export class GetConfigurationQrForDeviceResponse extends EVA.API.ResponseMessage {
    QrData : string; 
  }
  
  export class GetCustomerReturnReasons extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetCustomerReturnReasonsResponse> {
  }
  
  export class GetCustomerReturnReasonsResponse extends EVA.API.ResponseMessage {
    CustomerReturnReasons : EVA.Framework.EnumDto[]; 
  }
  
  export class GetDataModelForTemplateHandler extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetDataModelForTemplateHandlerResponse> {
    Handler : string; 
  }
  
  export class GetDataModelForTemplateHandlerResponse extends EVA.API.ResponseMessage {
    DataModel : any; 
    SampleData : any; 
  }
  
  export class GetDiscountByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetDiscountByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetDiscountByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    BackendID : string; 
    IsActive : boolean; 
    Description : string; 
    MarketingDescription : string; 
    CampaignName : string; 
    NeedsReason : boolean; 
    DiscountOrderType : EVA.Core.DiscountOrderTypes; 
    StartDate : string; // DateTime
    EndDate? : string; // DateTime, nullable
    LedgerClassID : string; 
    MaximumUsage? : number; // Int32, nullable
    MaximumUsagePerOrder? : number; // Int32, nullable
    ActionType : string; 
    ActionData : any; 
    Conditions : EVA.Core.Services.Management.GetDiscountByIDResponseDiscountConditionDto[]; 
    ConditionType : EVA.Core.DiscountConditionTypes; 
    Trigger : EVA.Core.DiscountTriggers; 
    LayerID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    CurrencyID : string; 
    CreatedByFullName : string; 
    CreationTime : string; // DateTime
    LastModifiedByFullName : string; 
    LastModificationTime? : string; // DateTime, nullable
    VerifiedByFullName : string; 
    VerificationTime? : string; // DateTime, nullable
  }
  
  export class GetDiscountCoupons extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.GetDiscountCouponsResponse> {
    DiscountID : number; // Int32
  }
  
  export class GetDiscountCouponsResponse extends EVA.API.PagedResultResponse<EVA.Core.DiscountCouponDto> {
  }
  
  export class GetDiscountLayerByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetDiscountLayerByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetDiscountLayerByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    Sequence : number; // Int32
    IsExclusive : boolean; 
    // This layer is managed by EVA and cannot be changed.
    IsSystem : boolean; 
  }
  
  export class GetEmployeeDataByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetEmployeeDataByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetEmployeeDataByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    UserID : number; // Int32
    UserFullName : string; 
    UserEmailAddress : string; 
    EmployeeNumber : string; 
    Function : string; 
    PrimaryOrganizationUnitID? : number; // Int32, nullable
    PrimaryOrganizationUnitName : string; 
    ManagerID? : number; // Int32, nullable
    ManagerFullName : string; 
    ManagerEmailAddress : string; 
    AdditionalOrganizationUnitIDs : number[]; 
  }
  
  export class GetEmployeeDataByUserID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetEmployeeDataByIDResponse> {
    UserID : number; // Int32
  }
  
  export class GetFlattenedFunctionalityByUserID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetFlattenedFunctionalityByUserIDResponse> {
    UserID : number; // Int32
    OrganizationUnitID : number; // Int32
  }
  
  export class GetFlattenedFunctionalityByUserIDResponse extends EVA.API.ResponseMessage {
    Functionalities : string[]; 
    ScopedFunctionalities : EVA.Framework.FunctionalityWithScope[]; 
  }
  
  export class GetFraudItem extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetFraudItemResponse> {
    ID : number; // Int32
  }
  
  export class GetFraudItemResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    TypeID : number; // Int32
    Data : string; 
    Object : any; 
  }
  
  export class GetFunctionalitiesByUserID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetFunctionalitiesByUserIDResponse> {
    UserID : number; // Int32
    OrganizationUnitID : number; // Int32
  }
  
  export class GetFunctionalitiesByUserIDResponse extends EVA.API.ResponseMessage {
    AvailableFunctionalities : string[]; 
    CurrentFunctionalities : string[]; 
    CurrentFunctionalitiesExtended : EVA.Core.Services.Management.FunctionalityDto[]; 
  }
  
  export class GetLanguages extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetLanguagesResponse> {
  }
  
  export class GetLanguagesResponse extends EVA.API.ResponseMessage {
    Languages : string[]; 
  }
  
  export class GetLedgerClasses extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetLedgerClassesResponse> {
  }
  
  export class GetLedgerClassesResponse extends EVA.API.ResponseMessage {
    LedgerClasses : string[]; 
  }
  
  export class GetMessageTemplateByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetMessageTemplateByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetMessageTemplateByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Header : string; 
    Template : string; 
    Footer : string; 
    Helpers : string; 
    Type : EVA.Core.MessageTemplateTypes; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperProperties : EVA.Core.PaperProperties; 
    IsDisabled : boolean; 
  }
  
  export class GetOrganizationUnitGroupByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitGroupByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetOrganizationUnitGroupByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    OrganizationUnits : EVA.Core.Services.Management.GetOrganizationUnitGroupByIDResponseOrganizationUnitGroupDto[]; 
  }
  
  export class GetOrganizationUnitSet extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitSetResponse> {
    ID : number; // Int32
  }
  
  export class GetOrganizationUnitSetDetails extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitSetDetailsResponse> {
    ID : number; // Int32
    SubsetOrdering? : EVA.Core.Services.Management.OrganizationSubsetOrdering; 
  }
  
  export class GetOrganizationUnitSetDetailsResponse extends EVA.API.ResponseMessage {
    Set : EVA.Core.Services.Management.OrganizationUnitSetDetails; 
    DeclaredSubsets : EVA.Core.Services.Management.GetOrganizationUnitSetDetailsResponseOrganizationUnitSubset[]; 
  }
  
  export class GetOrganizationUnitSetResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Type : EVA.Core.OrganizationUnitSetTypes; 
    OrganizationUnitID? : number; // Int32, nullable
    Scope : EVA.Framework.EnumDto; 
  }
  
  export class GetOrganizationUnitSetScopes extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitSetScopesResponse> {
  }
  
  export class GetOrganizationUnitSetScopesResponse extends EVA.API.ResponseMessage {
    Scopes : EVA.Core.Services.Management.GetOrganizationUnitSetScopesResponseOrganizationUnitSetScope[]; 
  }
  
  export class GetOrganizationUnitShippingMethodByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitShippingMethodByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetOrganizationUnitShippingMethodByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    ShippingMethodID : number; // Int32
    ShippingMethodName : string; 
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    Priority : number; // Int32
  }
  
  export class GetOrganizationUnitSupplierDataByOrganizationUnitID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetOrganizationUnitSupplierDataByOrganizationUnitIDResponse> {
    OrganizationUnitID : number; // Int32
  }
  
  export class GetOrganizationUnitSupplierDataByOrganizationUnitIDResponse extends EVA.API.ResponseMessage {
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    EstimatedDeliveryDays? : number; // Int32, nullable
  }
  
  export class GetPaymentMethods extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPaymentMethodsResponse> {
  }
  
  export class GetPaymentMethodsResponse extends EVA.API.ResponseMessage {
    PaymentMethods : EVA.Core.Services.Management.GetPaymentMethodsResponsePaymentMethodDto[]; 
  }
  
  export class GetPaymentTypeByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPaymentTypeByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPaymentTypeByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    PaymentMethodID? : number; // Int32, nullable
    PaymentMethodName : string; 
    OrganizationUnitSetID? : number; // Int32, nullable
    OrganizationUnitSetName : string; 
    Name : string; 
    Code : string; 
    IsActive : boolean; 
    IsRoundingType : boolean; 
    IsExternal : boolean; 
    ReturnAction : EVA.Core.PaymentReturnActions; 
    LedgerClassID : string; 
    PrintOnDocuments : boolean; 
    BackendRelationID : string; 
    BookPaymentMethodInvoice : boolean; 
    CanBeUsedForAuthorization : boolean; 
    AutoFinalizeOnOrderPaid : boolean; 
    CashJournalMethod : EVA.Core.PaymentCashJournalMethod; 
  }
  
  export class GetPriceListAdjustmentByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListAdjustmentByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPriceListAdjustmentByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    PriceListID : number; // Int32
    PriceList : EVA.Core.Services.Management.GetPriceListAdjustmentByIDResponsePriceListDto; 
    ParentAdjustmentID? : number; // Int32, nullable
    ParentAdjustmentName : string; 
    Sequence : number; // Int32
    Name : string; 
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
    OverridePrice : boolean; 
    Type : string; 
    Data : any; 
    LabelID? : number; // Int32, nullable
    Label : string; 
  }
  
  export class GetPriceListByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPriceListByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    BackendSystemID : string; 
    CurrencyID : string; 
    TimeZone : string; 
    IncludingVat : boolean; 
    IsActive : boolean; 
    IsSpecialPricesPriceList : boolean; 
    SpecialPricesPriceListID? : number; // Int32, nullable
    SpecialPricesPriceList : EVA.Core.Services.Management.PriceListDto; 
  }
  
  export class GetPriceListManualInputAdjustmentByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListManualInputAdjustmentByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPriceListManualInputAdjustmentByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    PriceListAdjustmentID : number; // Int32
    ProductID : number; // Int32
    ProductName : string; 
    ProductCustomID : string; 
    Value : number; // Decimal
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
  }
  
  export class GetPriceListOrganizationUnitByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListOrganizationUnitByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPriceListOrganizationUnitByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    PriceListID : number; // Int32
    PriceList : EVA.Core.Services.Management.GetPriceListOrganizationUnitByIDResponsePriceListDto; 
    PriceListUsageTypeID : number; // Int32
    PriceListUsageTypeName : string; 
  }
  
  export class GetPriceListUsageTypeByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListUsageTypeByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetPriceListUsageTypeByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    RequiredUserType : EVA.Framework.UserTypes; 
  }
  
  export class GetPriceListUsageTypes extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetPriceListUsageTypesResponse> {
  }
  
  export class GetPriceListUsageTypesResponse extends EVA.API.ResponseMessage {
    PriceListUsageTypes : EVA.Core.Services.Management.GetPriceListUsageTypesResponsePriceListUsageTypeDto[]; 
  }
  
  export class GetProductSearchTemplateByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetProductSearchTemplateByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetProductSearchTemplateByIDResponse extends EVA.API.ResponseMessage {
    Name : string; 
    LanguageID : string; 
    CountryID : string; 
    Filters : { [ key : string ] : EVA.Core.FilterModel }; 
  }
  
  export class GetRole extends EVA.API.GetRequestGeneric<EVA.Core.Services.Management.GetRoleResponse> {
  }
  
  export class GetRoleResponse extends EVA.API.ResponseMessage {
    Result : EVA.Core.Services.Management.GetRoleResponseRoleWithFunctionalitiesDto; 
  }
  
  export class GetRoleSetByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetRoleSetByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetRoleSetByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Roles : EVA.Core.Services.Management.RoleDto[]; 
  }
  
  export class GetRolesForOrganizationUnit extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetRolesForOrganizationUnitResponse> {
    OrganizationUnitID : number; // Int32
  }
  
  export class GetRolesForOrganizationUnitResponse extends EVA.API.ResponseMessage {
    Roles : EVA.Core.Services.Management.RoleDto[]; 
  }
  
  export class GetSetting extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSettingResponse> {
    OrganizationUnitID? : number; // Int32, nullable
    Key : string; 
  }
  
  export class GetSettingResponse extends EVA.API.ResponseMessage {
    Value : string; 
  }
  
  export class GetShippingCostByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetShippingCostByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShippingCostByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    BackendID : string; 
    ShippingMethodID? : number; // Int32, nullable
    ShippingMethodName : string; 
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    CountryID : string; 
    MinimumOrderAmount? : number; // Decimal, nullable
    MaximumOrderAmount? : number; // Decimal, nullable
    CurrencyID : string; 
    UnitPriceInTax : number; // Decimal
    ZipCodes : string[]; 
  }
  
  export class GetShippingMethodByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetShippingMethodByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShippingMethodByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    PaymentHandledByCarrier : boolean; 
    InvoicingHandledByCarrier : boolean; 
    CarrierID : number; // Int32
    CarrierName : string; 
    CarrierCode : string; 
    DeliveryType : EVA.Core.ShippingMethodDeliveryTypes; 
  }
  
  export class GetShippingRestrictionByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetShippingRestrictionByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetShippingRestrictionByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    OrganizationUnitSetID : number; // Int32
    OrganizationUnitSetName : string; 
    CountryID : string; 
    CountryName : string; 
    ZipCodeFrom : string; 
    ZipCodeTo : string; 
    ProductPropertyTypeID : string; 
    ProductPropertyTypeValues : string[]; 
    Type : EVA.Core.ShippingRestrictionType; 
  }
  
  export class GetStationProxyStatus extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetStationProxyStatusResponse> {
    ProxyID : string; 
  }
  
  export class GetStationProxyStatusResponse extends EVA.API.ResponseMessage {
    Registered : boolean; 
    OrganizationUnitID : number; // Int32
    StationID : number; // Int32
  }
  
  export class GetStockDetailsForOrganizationUnit extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetStockDetailsForOrganizationUnitResponse> {
    ProductID : number; // Int32
    OrganizationUnitSetID? : number; // Int32, nullable
    OrganizationUnitID? : number; // Int32, nullable
    StockLabelIDs : number[]; 
  }
  
  export class GetStockDetailsForOrganizationUnitResponse extends EVA.API.ResponseMessage {
    Results : EVA.Core.Services.Management.GetStockDetailsForOrganizationUnitResponseModel[]; 
  }
  
  export class GetStockMutationReasonsForOrganizationUnit extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetStockMutationReasonsForOrganizationUnitResponse> {
    OrganizationUnitID : number; // Int32
  }
  
  export class GetStockMutationReasonsForOrganizationUnitResponse extends EVA.API.ResponseMessage {
    Reasons : EVA.Core.Services.Management.GetStockMutationReasonsForOrganizationUnitResponseStockMutationReason[]; 
  }
  
  export class GetSubscriptionHandlers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSubscriptionHandlersResponse> {
  }
  
  export class GetSubscriptionHandlersResponse extends EVA.API.ResponseMessage {
    Handlers : string[]; 
  }
  
  export class GetSubscriptionOrganizationUnitSets extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSubscriptionOrganizationUnitSetsResponse> {
  }
  
  export class GetSubscriptionOrganizationUnitSetsResponse extends EVA.API.ResponseMessage {
    SubscriptionOrganizationUnitSets : EVA.Core.Services.Management.GetSubscriptionOrganizationUnitSetsResponseSubscriptionOrganizationUnitSetDto[]; 
  }
  
  export class GetSupplierForProductResponse extends EVA.API.GetListResponse<EVA.Core.Services.Management.GetSupplierForProductResponseSupplierDto> {
  }
  
  export class GetSupplierProductByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSupplierProductByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetSupplierProductByIDResponse extends EVA.API.ResponseMessage {
    ID : number; // Int32
    BackendID : string; 
    BrandName : string; 
    PrimitiveName : string; 
    Status : EVA.Core.ProductStatus; 
    Description : string; 
    PreferredMinimumOrderQuantity? : number; // Int32, nullable
    TaxCode : EVA.Framework.EnumDto; 
    QuantityOnHand : number; // Int32
    CostPrice? : number; // Decimal, nullable
    RecommendedRecommendedRetailPrice? : number; // Decimal, nullable
    CurrencyID : string; 
  }
  
  export class GetSuppliersForProduct extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSupplierForProductResponse> {
    ProductID : number; // Int32
  }
  
  export class GetSupportedFunctionalities extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetSupportedFunctionalitiesResponse> {
  }
  
  export class GetSupportedFunctionalitiesResponse extends EVA.API.ResponseMessage {
    Functionalities : string[]; 
    ScopedFunctionalities : EVA.Core.Services.Management.GetSupportedFunctionalitiesResponseFunctionalityDefinition[]; 
  }
  
  export class GetUnitOfMeasures extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetUnitOfMeasuresResponse> {
  }
  
  export class GetUnitOfMeasuresResponse extends EVA.API.ResponseMessage {
    UnitOfMeasures : EVA.Core.Services.Management.GetUnitOfMeasuresResponseUnitOfMeasureDto[]; 
  }
  
  export class GetUrlRewriteByID extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetUrlRewriteByIDResponse> {
    ID : number; // Int32
  }
  
  export class GetUrlRewriteByIDResponse extends EVA.API.ResponseMessage {
    Rewrite : EVA.Core.Services.Management.UrlRewriteDto; 
  }
  
  export class GetUrlRewrites extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetUrlRewritesResponse> {
  }
  
  export class GetUrlRewritesResponse extends EVA.API.ResponseMessage {
    Rewrites : EVA.Core.Services.Management.UrlRewriteDto[]; 
  }
  
  export class GetUserOrigins extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetUserOriginsResponse> {
  }
  
  export class GetUserOriginsResponse extends EVA.API.ResponseMessage {
    UserOrigins : EVA.Core.Services.Management.GetUserOriginsResponseUserOriginDto[]; 
  }
  
  export class GetUserRequirements extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.GetUserRequirementsResponse> {
    OrganizationUnitID? : number; // Int32, nullable
  }
  
  export class GetUserRequirementsResponse extends EVA.API.ResponseMessage {
    Requirements : { [ key : string ] : EVA.Core.UserRequirement }; 
  }
  
  export class GetUserRolesByUserID extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.GetUserRolesByUserIDResponse> {
    UserID : number; // Int32
    OrganizationUnitID : number; // Int32
  }
  
  export class GetUserRolesByUserIDResponse extends EVA.API.ResponseMessage {
    Result : EVA.Core.Services.Management.GetUserRolesByUserIDResponseUserRoleDto[]; 
  }
  
  export class LedgerClassDto {
    ID : string; 
  }
  
  export class ListAccounts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListAccountsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListAccountsFilter>; 
  }
  
  export class ListAccountsResponse extends EVA.API.ResponseMessage {
    Result : EVA.Framework.PagedResultGeneric<EVA.Core.ListAccountsItem>; 
  }
  
  export class ListAssortmentProducts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListAssortmentProductsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListAssortmentProductsFilter>; 
  }
  
  export class ListAssortmentProductsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListAssortmentProductsResponseAssortmentProduct> {
  }
  
  export class ListAssortments extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListAssortmentsResponse> {
  }
  
  export class ListAssortmentsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListAssortmentsResponseAssortmentDto> {
  }
  
  export class ListAvailableDiscountActionsAndConditions extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListAvailableDiscountActionsAndConditionsResponse> {
  }
  
  export class ListAvailableDiscountActionsAndConditionsResponse extends EVA.API.ResponseMessage {
    Conditions : string[]; 
    Actions : string[]; 
  }
  
  export class ListBadges extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListBadgesResponse> {
  }
  
  export class ListBadgesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.BadgeDto> {
  }
  
  export class ListCarriers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListCarriersResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListCarriersFilter>; 
  }
  
  export class ListCarriersResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.CarrierDto> {
  }
  
  export class ListCashHandlers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListCashHandlersResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListCashHandlersFilter>; 
  }
  
  export class ListCashHandlersResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListCashHandlersResponseCashHandlerDto> {
  }
  
  export class ListCultures extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListCulturesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.CultureFilter>; 
  }
  
  export class ListCulturesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListCulturesResponseCultureDto> {
  }
  
  export class ListCumulativeStock extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListCumulativeStockResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListCumulativeStockFilter>; 
    IncludedFields : string[]; 
  }
  
  export class ListCumulativeStockResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListCumulativeStockResponseModel> {
  }
  
  export class ListDiscountLayers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListDiscountLayersResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListDiscountLayerFilter>; 
  }
  
  export class ListDiscountLayersResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListDiscountLayersResponseDiscountLayerDto> {
  }
  
  export class ListEmployeeDatas extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListEmployeeDatasResponse> {
  }
  
  export class ListEmployeeDatasResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.EmployeeDataDto> {
  }
  
  export class ListExchangeRates extends EVA.API.FilteredPagedResultRequest<EVA.Core.ListExchangeRatesFilter, EVA.Core.Services.Management.ListExchangeRatesResponse> {
  }
  
  export class ListExchangeRatesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListExchangeRatesResponseExchangeRateDto> {
  }
  
  export class ListFraudItems extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListFraudItemsResponse> {
  }
  
  export class ListFraudItemsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.FraudItemDto> {
  }
  
  export class ListLedgerClass extends EVA.API.GetRequestGeneric<EVA.Core.Services.Management.ListLedgerClassResponse> {
  }
  
  export class ListLedgerClassResponse extends EVA.API.GetResponse<EVA.Core.Services.Management.LedgerClassDto[]> {
  }
  
  export class ListManagementShippingMethods extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListManagementShippingMethodsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListShippingMethodsFilter>; 
  }
  
  export class ListManagementShippingMethodsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ShippingMethodDto> {
  }
  
  export class ListMessageTemplateLayouts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListMessageTemplateLayoutsResponse> {
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
  }
  
  export class ListMessageTemplateLayoutsResponse extends EVA.API.ResponseMessage {
    Layouts : string[]; 
  }
  
  export class ListMessageTemplates extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListMessageTemplatesResponse> {
  }
  
  export class ListMessageTemplatesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListMessageTemplatesResponseMessageTemplateDto> {
  }
  
  export class ListOrganizationUnitCountries extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListOrganizationUnitCountriesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.OrganizationUnitCountryFilter>; 
  }
  
  export class ListOrganizationUnitCountriesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListOrganizationUnitCountriesResponseOrganizationUnitCountryDto> {
  }
  
  export class ListOrganizationUnitCurrencies extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListOrganizationUnitCurrenciesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.OrganizationUnitCurrencyFilter>; 
  }
  
  export class ListOrganizationUnitCurrenciesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListOrganizationUnitCurrenciesResponseOrganizationUnitCurrencyDto> {
  }
  
  export class ListOrganizationUnitGroups extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListOrganizationUnitGroupsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListOrganizationUnitGroupsFilter>; 
  }
  
  export class ListOrganizationUnitGroupsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListOrganizationUnitGroupsResponseOrganizationUnitGroupDto> {
  }
  
  export class ListOrganizationUnitLanguages extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListOrganizationUnitLanguagesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.OrganizationUnitLanguageFilter>; 
  }
  
  export class ListOrganizationUnitLanguagesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListOrganizationUnitLanguagesResponseOrganizationUnitLanguageDto> {
  }
  
  export class ListOrganizationUnitSets extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListOrganizationUnitSetsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListOrganizationUnitSetsFilter>; 
  }
  
  export class ListOrganizationUnitSetsResponse extends EVA.API.PagedResultResponse<EVA.Core.ListOrganizationUnitSetsItem> {
  }
  
  export class ListOrganizationUnitShippingMethods extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListOrganizationUnitShippingMethodsResponse> {
  }
  
  export class ListOrganizationUnitShippingMethodsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.OrganizationUnitShippingMethodDto> {
  }
  
  export class ListPaymentSettlements extends EVA.API.FilteredPagedResultRequest<EVA.Core.ListSettlementsFilter, EVA.Core.Services.Management.ListPaymentSettlementsResponse> {
  }
  
  export class ListPaymentSettlementsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListPaymentSettlementsResponsePaymentSettlement> {
  }
  
  export class ListPaymentTypes2 extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListPaymentTypes2Response> {
  }
  
  export class ListPaymentTypes2Response extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListPaymentTypes2ResponsePaymentTypeDto> {
  }
  
  export class ListPendingUsers extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListPendingUsersResponse> {
  }
  
  export class ListPendingUsersResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.PendingUser> {
  }
  
  export class ListPriceListAdjustments extends EVA.API.FilteredPagedResultRequest<EVA.Core.ListPriceListAdjustmentsFilter, EVA.Core.Services.Management.ListPriceListAdjustmentsResponse> {
  }
  
  export class ListPriceListAdjustmentsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListPriceListAdjustmentsResponsePriceListAdjustmentDto> {
  }
  
  export class ListPriceListManualInputAdjustments extends EVA.API.FilteredPagedResultRequest<EVA.Core.ListManualInputAdjustmentsFilter, EVA.Core.Services.Management.ListPriceListManualInputAdjustmentsResponse> {
  }
  
  export class ListPriceListManualInputAdjustmentsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListPriceListManualInputAdjustmentsResponsePriceListManualInputAdjustmentDto> {
  }
  
  export class ListPriceListOrganizationUnits extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListPriceListOrganizationUnitsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListPriceListOrganizationUnitsFilter>; 
  }
  
  export class ListPriceListOrganizationUnitsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListPriceListOrganizationUnitsResponsePriceListOrganizationUnitDto> {
  }
  
  export class ListPriceLists extends EVA.API.FilteredPagedResultRequest<EVA.Core.ListPriceListsFilter, EVA.Core.Services.Management.ListPriceListsResponse> {
  }
  
  export class ListPriceListsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.PriceListDto> {
  }
  
  export class ListProductBarcodes extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListProductBarcodesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListProductBarcodesFilter>; 
  }
  
  export class ListProductBarcodesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListProductBarcodesResponseProductBarcodeDto> {
  }
  
  export class ListProductGiftCards extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListProductGiftCardsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListProductGiftCardsFilter>; 
  }
  
  export class ListProductGiftCardsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListProductGiftCardsResponseProductGiftCardDto> {
  }
  
  export class ListProductPriceLedger extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListProductPriceLedgerResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListProductPriceLedgerFilter>; 
  }
  
  export class ListProductPriceLedgerResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListProductPriceLedgerResponseOrganizationUnitPriceChange> {
  }
  
  export class ListProductSearchTemplates extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListProductSearchTemplatesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ProductSearchTemplateFilters>; 
  }
  
  export class ListProductSearchTemplatesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListProductSearchTemplatesResponseProductSearchDto> {
  }
  
  export class ListProductUnitOfMeasures extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListProductUnitOfMeasuresResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListProductUnitOfMeasuresFilter>; 
  }
  
  export class ListProductUnitOfMeasuresResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListProductUnitOfMeasuresResponseProductUnitOfMeasureDto> {
  }
  
  export class ListRestockedProducts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListRestockedProductsResponse> {
    OrganizationUnitID : number; // Int32
    From : string; // DateTime
    To? : string; // DateTime, nullable
    StockLabelIDs : number[]; 
  }
  
  export class ListRestockedProductsResponse extends EVA.API.ResponseMessage {
    Results : { [ key : number ] : number[] }; 
  }
  
  export class ListRoles extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListRolesResponse> {
  }
  
  export class ListRoleSets extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListRoleSetsResponse> {
  }
  
  export class ListRoleSetsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListRoleSetsResponseRoleSetDto> {
  }
  
  export class ListRolesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.RoleDto> {
  }
  
  export class ListSettings extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListSettingsResponse> {
    OrganizationUnitID : number; // Int32
    KeyPrefix : string; 
  }
  
  export class ListSettingsPerOrganizationUnit extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListSettingsPerOrganizationUnitResponse> {
    KeyPrefix : string; 
  }
  
  export class ListSettingsPerOrganizationUnitResponse extends EVA.API.ResponseMessage {
    Result : { [ key : number ] : { [ key : string ] : EVA.Core.Services.Management.SettingDto } }; 
  }
  
  export class ListSettingsResponse extends EVA.API.ResponseMessage {
    Result : { [ key : string ] : EVA.Core.Services.Management.SettingDto }; 
  }
  
  export class ListShippingCosts extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListShippingCostsResponse> {
  }
  
  export class ListShippingCostsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ShippingCostDto> {
  }
  
  export class ListShippingMethods extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListShippingMethodsResponse> {
  }
  
  export class ListShippingMethodsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListShippingMethodsResponseShippingMethodDto> {
  }
  
  export class ListShippingMethodTransportationTimes extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListShippingMethodTransportationTimesResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListTransportationTimesFilter>; 
  }
  
  export class ListShippingMethodTransportationTimesResponse extends EVA.API.ResponseMessage {
    Result : EVA.Framework.PagedResultGeneric<EVA.Core.ShippingMethodTransportationTimeItem>; 
  }
  
  export class ListShippingRestrictions extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListShippingRestrictionsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListShippingRestrictionsFilter>; 
  }
  
  export class ListShippingRestrictionsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ShippingRestrictionDto> {
  }
  
  export class ListStockForOrganizationUnits extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListStockForOrganizationUnitsResponse> {
    DateTime? : string; // DateTime, nullable
    OrganizationUnitIDs : number[]; 
    SplitByOrganizationUnit : boolean; 
    DownloadOverview : boolean; 
    Query : string; 
  }
  
  export class ListStockForOrganizationUnitsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListStockForOrganizationUnitsResponseStockDto> {
    Products : { [ key : number ] : EVA.Core.Services.Management.ListStockForOrganizationUnitsResponseProductDto }; 
    Url : string; 
  }
  
  export class ListSubscriptions extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListSubscriptionsResponse> {
  }
  
  export class ListSubscriptionsResponse extends EVA.API.ResponseMessage {
    Subscriptions : EVA.Core.Services.Management.ListSubscriptionsResponseSubscriptionDto[]; 
  }
  
  export class ListSupplierProducts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListSupplierProductsResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.ListSupplierProductsFilter>; 
  }
  
  export class ListSupplierProductsResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.ListSupplierProductsResponseSupplierProductDto> {
  }
  
  export class ListTemplateHandlers extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ListTemplateHandlersResponse> {
  }
  
  export class ListTemplateHandlersResponse extends EVA.API.ResponseMessage {
    Handlers : string[]; 
  }
  
  export class ListUrlRewrites extends EVA.API.PagedResultRequest<EVA.Core.Services.Management.ListUrlRewritesResponse> {
  }
  
  export class ListUrlRewritesResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.UrlRewriteDto> {
  }
  
  export class ListMessageTemplatesResponseMessageTemplateDto {
    ID : number; // Int32
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    LanguageID : string; 
    CountryID : string; 
    Type : EVA.Core.MessageTemplateTypes; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperProperties : EVA.Core.PaperProperties; 
    IsDisabled : boolean; 
  }
  
  export class CalculateStockDetailsResponseModel {
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    ProductID : number; // Int32
    QuantityOnHand : number; // Int32
    QuantityCommitted : number; // Int32
    TotalQuantityAvailable : number; // Int32
  }
  
  export class GetStockDetailsForOrganizationUnitResponseModel {
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    StockLabel : EVA.Framework.EnumDto; 
    QuantityOnHand : number; // Int32
    QuantityCommitted : number; // Int32
  }
  
  export class ListCumulativeStockResponseModel {
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    OrganizationUnitBackendID : string; 
    Product : any; 
    QuantityOnHand : number; // Int32
  }
  
  export class MoveDiscountLayer extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    AfterDiscountLayerID : number; // Int32
  }
  
  export enum OrganizationSubsetOrdering {
    Ascending = 0,
    Descending = 1,
  }
  
  export class ListOrganizationUnitCountriesResponseOrganizationUnitCountryDto {
    ID? : number; // Int32, nullable
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    CountryID : string; 
    InheritedFromOrganizationUnitID? : number; // Int32, nullable
    InheritedFromOrganizationUnitName : string; 
  }
  
  export class ListOrganizationUnitCurrenciesResponseOrganizationUnitCurrencyDto {
    ID? : number; // Int32, nullable
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    CurrencyID : string; 
    CashHandlerID : number; // Int32
    CashHandlerName : string; 
    InheritedFromOrganizationUnitID? : number; // Int32, nullable
    InheritedFromOrganizationUnitName : string; 
  }
  
  export class GetAllFunctionalitiesForCurrentUserAsTreeResponseOrganizationUnitDto {
    ID : number; // Int32
    Functionalities : EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserAsTreeResponseFunctionalityDto[]; 
    Children : EVA.Core.Services.Management.GetAllFunctionalitiesForCurrentUserAsTreeResponseOrganizationUnitDto[]; 
  }
  
  export class GetOrganizationUnitGroupByIDResponseOrganizationUnitGroupDto {
    ID : number; // Int32
    Name : string; 
  }
  
  export class ListOrganizationUnitGroupsResponseOrganizationUnitGroupDto {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
  }
  
  export class ListOrganizationUnitLanguagesResponseOrganizationUnitLanguageDto {
    ID? : number; // Int32, nullable
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    LanguageID : string; 
    InheritedFromOrganizationUnitID? : number; // Int32, nullable
    InheritedFromOrganizationUnitName : string; 
  }
  
  export class ListProductPriceLedgerResponseOrganizationUnitPriceChange {
    ProductID : number; // Int32
    PriceListID : number; // Int32
    PriceListUsageTypeID : number; // Int32
    PriceListUsageTypeName : string; 
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    OldPrice? : number; // Decimal, nullable
    NewPrice? : number; // Decimal, nullable
    OldOriginalPrice? : number; // Decimal, nullable
    NewOriginalPrice? : number; // Decimal, nullable
    CreationTime : string; // DateTime
    CurrencyID : string; 
  }
  
  export class OrganizationUnitSetDetails {
    ID : number; // Int32
    Name : string; 
    Type : EVA.Core.OrganizationUnitSetTypes; 
    OperatorType : EVA.Core.OrganizationUnitSetOperatorTypes; 
    OrganizationUnitSetID? : number; // Int32, nullable
    Definition : EVA.Core.OrganizationUnitSetDefinition; 
    Subsets : EVA.Core.Services.Management.OrganizationUnitSetDetails[]; 
    Scope : EVA.Framework.EnumDto; 
  }
  
  export class GetOrganizationUnitSetScopesResponseOrganizationUnitSetScope {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    OrganizationUnitUniqueInScope : boolean; 
  }
  
  export class OrganizationUnitShippingMethodDto {
    ID : number; // Int32
    ShippingMethodID : number; // Int32
    ShippingMethodName : string; 
    ShippingMethodCarrierName : string; 
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    Priority : number; // Int32
  }
  
  export class GetOrganizationUnitSetDetailsResponseOrganizationUnitSubset {
    ID : number; // Int32
    Name : string; 
    Type : EVA.Core.OrganizationUnitSetOperatorTypes; 
    SequenceNumber : number; // Int32
  }
  
  export class CreateOrganizationUnitSetOrganizationUnitSubSetDefinition {
    ID : number; // Int32
    OperatorType : EVA.Core.OrganizationUnitSetOperatorTypes; 
  }
  
  export class GetPaymentMethodsResponsePaymentMethodDto {
    ID : number; // Int32
    Name : string; 
    Code : string; 
  }
  
  export class ListPaymentSettlementsResponsePaymentSettlement {
    ID : number; // Int32
    PaymentTransactionID : number; // Int32
    TypeID : number; // Int32
    TypeName : string; 
    Amount : number; // Decimal
    CurrencyID : string; 
    LedgerClassID : string; 
  }
  
  export class ListPaymentTypes2ResponsePaymentTypeDto {
    ID : number; // Int32
    PaymentMethodID? : number; // Int32, nullable
    PaymentMethodName : string; 
    OrganizationUnitSetID? : number; // Int32, nullable
    OrganizationUnitSetName : string; 
    Name : string; 
    Code : string; 
    IsActive : boolean; 
    IsRoundingType : boolean; 
    IsExternal : boolean; 
    ReturnAction : EVA.Core.PaymentReturnActions; 
    LedgerClassID : string; 
    PrintOnDocuments : boolean; 
    BackendRelationID : string; 
    BookPaymentMethodInvoice : boolean; 
    CanBeUsedForAuthorization : boolean; 
    AutoFinalizeOnOrderPaid : boolean; 
    CashJournalMethod : EVA.Core.PaymentCashJournalMethod; 
  }
  
  export class PendingUser {
    ID : number; // Int32
    FullName : string; 
    EmailAddress : string; 
    GravatarHash : string; 
  }
  
  export class PreviewMessageTemplate extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.PreviewMessageTemplateResponse> {
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Header : string; 
    Template : string; 
    Footer : string; 
    Helpers : string; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperProperties : EVA.Core.PaperProperties; 
    Type : EVA.Core.MessageTemplateTypes; 
    TargetContentType : EVA.Core.MessageTargetContentTypes; 
    SampleData : any; 
    StationID? : number; // Int32, nullable
  }
  
  export class PreviewMessageTemplateResponse extends EVA.API.ResponseMessage {
    Url : string; 
    Success : boolean; 
    Message : string; 
  }
  
  export class PreviewOrganizationUnitSet extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.PreviewOrganizationUnitSetResponse> {
    Definition : EVA.Core.OrganizationUnitSetDefinition; 
    Subsets : EVA.Core.Services.Management.PreviewOrganizationUnitSetPreviewOrganizationUnitSubSetDefinition[]; 
    SubsetOrdering? : EVA.Core.Services.Management.OrganizationSubsetOrdering; 
  }
  
  export class PreviewOrganizationUnitSetResponse extends EVA.API.ResponseMessage {
    Set : EVA.Core.Services.Management.OrganizationUnitSetDetails; 
  }
  
  export class PreviewOrganizationUnitSetPreviewOrganizationUnitSubSetDefinition {
    ID : number; // Int32
    OperatorType : EVA.Core.OrganizationUnitSetOperatorTypes; 
    SequenceNumber? : number; // Int32, nullable
  }
  
  export class ListPriceListAdjustmentsResponsePriceListAdjustmentDto {
    ID : number; // Int32
    PriceListID : number; // Int32
    PriceList : EVA.Core.Services.Management.ListPriceListAdjustmentsResponsePriceListAdjustmentDtoPriceListDto; 
    ParentAdjustmentID? : number; // Int32, nullable
    ParentAdjustmentName : string; 
    Sequence : number; // Int32
    Name : string; 
    Label : string; 
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
    OverridePrice : boolean; 
    Type : string; 
    Data : any; 
  }
  
  export class GetPriceListAdjustmentByIDResponsePriceListDto {
    Name : string; 
    CurrencyID : string; 
    TimeZone : string; 
  }
  
  export class PriceListDto {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    BackendSystemID : string; 
    CurrencyID : string; 
    TimeZone : string; 
    IncludingVat : boolean; 
    IsActive : boolean; 
    IsSpecialPricesPriceList : boolean; 
    SpecialPricesPriceListID? : number; // Int32, nullable
    SpecialPricesPriceList : EVA.Core.Services.Management.PriceListDto; 
  }
  
  export class GetPriceListOrganizationUnitByIDResponsePriceListDto {
    Name : string; 
    CurrencyID : string; 
  }
  
  export class ListPriceListAdjustmentsResponsePriceListAdjustmentDtoPriceListDto {
    Name : string; 
    CurrencyID : string; 
    TimeZone : string; 
  }
  
  export class ListPriceListOrganizationUnitsResponsePriceListOrganizationUnitDtoPriceListDto {
    Name : string; 
    CurrencyID : string; 
  }
  
  export class ListPriceListManualInputAdjustmentsResponsePriceListManualInputAdjustmentDto {
    ID : number; // Int32
    ProductID : number; // Int32
    ProductName : string; 
    ProductCustomID : string; 
    Value : number; // Decimal
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
  }
  
  export class ListPriceListOrganizationUnitsResponsePriceListOrganizationUnitDto {
    ID : number; // Int32
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
    PriceListID : number; // Int32
    PriceList : EVA.Core.Services.Management.ListPriceListOrganizationUnitsResponsePriceListOrganizationUnitDtoPriceListDto; 
    PriceListUsageTypeID : number; // Int32
    PriceListUsageTypeName : string; 
  }
  
  export class GetPriceListUsageTypesResponsePriceListUsageTypeDto {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    RequiredUserType : EVA.Framework.UserTypes; 
  }
  
  export class PrintQRCode extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    StationID? : number; // Int32, nullable
    QRData : string; 
  }
  
  export class ProcessUnshippedPurchaseOrdersFromExcel extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class ListProductBarcodesResponseProductBarcodeDto {
    ProductID : number; // Int32
    ProductCustomID : string; 
    ProductBackendID : string; 
    CatalogID : number; // Int32
    Origin : EVA.Core.ProductBarcodeOrigin; 
    Barcode : string; 
    ProductDisplayValue : string; 
    Quantity : number; // Int32
    Name : string; 
    UnitOfMeasure : EVA.Framework.EnumDto; 
    IsSupplierProduct : boolean; 
  }
  
  export class ListStockForOrganizationUnitsResponseProductDto {
    Product : any; 
    TaxRate : number; // Decimal
    TaxCodeID : number; // Int32
    UnitCost : number; // Decimal
    UnitPrice : number; // Decimal
    UnitPriceInTax : number; // Decimal
  }
  
  export class ListProductGiftCardsResponseProductGiftCardDto {
    ID : number; // Int32
    ProductID : number; // Int32
    ProductName : string; 
    Type : string; 
    Data : any; 
  }
  
  export class ListProductSearchTemplatesResponseProductSearchDto {
    ID : number; // Int32
    Name : string; 
    LanguageID : string; 
    CountryID : string; 
    Filters : { [ key : string ] : EVA.Core.FilterModel }; 
  }
  
  export class AddProductsToAssortmentProductSearchModel {
    Query : string; 
    Filters : { [ key : string ] : EVA.Core.FilterModel }; 
  }
  
  export class ListProductUnitOfMeasuresResponseProductUnitOfMeasureDto {
    ID : number; // Int32
    ProductID : number; // Int32
    ProductName : string; 
    UnitOfMeasureID : number; // Int32
    UnitOfMeasure : EVA.Framework.EnumDto; 
    Quantity : number; // Int32
  }
  
  export class RemoveProductsFromAssortment extends EVA.API.RequestMessageWithEmptyResponse {
    AssortmentID : number; // Int32
    ProductIDs : number[]; 
  }
  
  export class RoleDto {
    ID : number; // Int32
    Name : string; 
    UserTypeID : number; // Int32
    ApplicationID : number; // Int32
    Code : string; 
  }
  
  export class ListRoleSetsResponseRoleSetDto {
    ID : number; // Int32
    Name : string; 
  }
  
  export class GetRoleResponseRoleWithFunctionalitiesDto extends EVA.Core.Services.Management.RoleDto {
    Functionalities : string[]; 
    ScopedFunctionalities : EVA.Core.Services.Management.GetRoleResponseRoleWithFunctionalitiesDtoFunctionalityWithScope[]; 
  }
  
  export class SaveBadge extends EVA.API.RequestMessageWithEmptyResponse {
    Badge : EVA.Core.Services.Management.BadgeDto; 
  }
  
  export class SearchDiscountsByQuery extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.SearchDiscountsByQueryResponse> {
    PageConfig : EVA.Framework.PageConfigGeneric<EVA.Core.SearchDiscountsByQueryFilter>; 
  }
  
  export class SearchDiscountsByQueryResponse extends EVA.API.PagedResultResponse<EVA.Core.Services.Management.SearchDiscountsByQueryResponseDiscountDto> {
  }
  
  export class SearchStockMutations extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.SearchStockMutationsResponse> {
    Query : string; 
    PageConfig : EVA.Framework.ScrollablePageConfig<EVA.Core.StockMutationFilters>; 
  }
  
  export class SearchStockMutationsResponse extends EVA.API.ResponseMessage {
    Result : EVA.Framework.ScrollablePagedResult<EVA.Core.SearchStockMutationResult>; 
  }
  
  export class SendSampleMailMessageTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Template : string; 
    Helpers : string; 
    Type : EVA.Core.MessageTemplateTypes; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    EmailAddress : string; 
    SampleData : any; 
  }
  
  export class SetOrganizationUnitSupplierData extends EVA.API.RequestMessageWithEmptyResponse {
    OrganizationUnitID : number; // Int32
    EstimatedDeliveryDays? : number; // Int32, nullable
  }
  
  export class SetRolesForRoleSet extends EVA.API.RequestMessageWithEmptyResponse {
    RoleSetID : number; // Int32
    Roles : number[]; 
  }
  
  export class SetSetting extends EVA.API.RequestMessageWithEmptyResponse {
    OrganizationUnitID? : number; // Int32, nullable
    Key : string; 
    Value : string; 
    Sensitivity : EVA.Framework.SettingSensitivityTypes; 
  }
  
  export class GetAvailableSettingsResponseSetting {
    Key : string; 
    Description : string; 
    DefaultValue : any; 
    Sensitivity : EVA.Framework.SettingSensitivityTypes; 
    Type : string; 
  }
  
  export class SettingDto {
    OrganizationUnitID : number; // Int32
    OrganizationUnitParentID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    Key : string; 
    Value : string; 
    SensitivityType : EVA.Framework.SettingSensitivityTypes; 
    Description : string; 
  }
  
  export class SetUserRequirements extends EVA.API.RequestMessageWithEmptyResponse {
    OrganizationUnitID? : number; // Int32, nullable
    Requirements : { [ key : string ] : EVA.Core.UserRequirement }; 
  }
  
  export class ShippingCostDto {
    ID : number; // Int32
    BackendID : string; 
    ShippingMethodID? : number; // Int32, nullable
    ShippingMethodName : string; 
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    CountryID : string; 
    ZipCodes : string[]; 
    MinimumOrderAmount? : number; // Decimal, nullable
    MaximumOrderAmount? : number; // Decimal, nullable
    CurrencyID : string; 
    UnitPriceInTax : number; // Decimal
  }
  
  export class ShippingMethodDto {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    PaymentHandledByCarrier : boolean; 
    InvoicingHandledByCarrier : boolean; 
    CarrierID : number; // Int32
    CarrierName : string; 
    CarrierCode : string; 
    DeliveryType : EVA.Core.ShippingMethodDeliveryTypes; 
  }
  
  export class ListShippingMethodsResponseShippingMethodDto {
    ID : number; // Int32
    Name : string; 
    CarrierID : number; // Int32
    CarrierName : string; 
  }
  
  export class ShippingRestrictionDto {
    ID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitName : string; 
    OrganizationUnitSetID : number; // Int32
    OrganizationUnitSetName : string; 
    CountryID : string; 
    CountryName : string; 
    ZipCodeFrom : string; 
    ZipCodeTo : string; 
    ProductPropertyTypeID : string; 
    ProductPropertyTypeValues : string[]; 
    Type : EVA.Core.ShippingRestrictionType; 
  }
  
  export class CreateStationStationToCreate {
    BackendID : string; 
    Name : string; 
    OrganizationUnitID : number; // Int32
    ProxyID : string; 
  }
  
  export class ListStockForOrganizationUnitsResponseStockDto {
    ProductID : number; // Int32
    QuantityOnHand : number; // Int32
    QuantityCommitted : number; // Int32
    QuantityAvailable : number; // Int32
    StockLabel : number; // Int32
    OrganizationUnitID : number; // Int32
    OrganizationUnitName : string; 
  }
  
  export class GetStockMutationReasonsForOrganizationUnitResponseStockMutationReason {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class ListSubscriptionsResponseSubscriptionDto {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    UserField : string; 
    Handler : string; 
  }
  
  export class GetSubscriptionOrganizationUnitSetsResponseSubscriptionOrganizationUnitSetDto {
    ID : number; // Int32
    SubscriptionID : number; // Int32
    SubscriptionName : string; 
    OrganizationUnitSetID : number; // Int32
    OrganizationUnitSetName : string; 
    Enabled : boolean; 
    Default : boolean; 
    ConfirmationRequired : boolean; 
  }
  
  export class GetSupplierForProductResponseSupplierDto {
    ID : number; // Int32
    Name : string; 
    UnitCost : number; // Decimal
    Stock : number; // Int32
  }
  
  export class ListSupplierProductsResponseSupplierProductDto {
    ID : number; // Int32
    BackendID : string; 
    BrandName : string; 
    PrimitiveName : string; 
    Status : EVA.Core.ProductStatus; 
    Description : string; 
    PreferredMinimumOrderQuantity? : number; // Int32, nullable
    TaxCode : EVA.Framework.EnumDto; 
    QuantityOnHand : number; // Int32
    CostPrice? : number; // Decimal, nullable
    RecommendedRecommendedRetailPrice? : number; // Decimal, nullable
    CurrencyID : string; 
  }
  
  export class SyncStationSyncDevice {
    Id : string; 
    Name : string; 
    DeviceTypes : string[]; 
    Address : string; 
    FormatType : string; 
    UseDirectConnection : boolean; 
    EcrID : string; 
    HardwareID : string; 
  }
  
  export class SyncStation extends EVA.API.RequestMessageWithEmptyResponse {
    ID : string; 
    OrganizationUnitID? : number; // Int32, nullable
    Name : string; 
    PublicIpAddress : string; 
    Devices : EVA.Core.Services.Management.SyncStationSyncDevice[]; 
  }
  
  export class GetUnitOfMeasuresResponseUnitOfMeasureDto extends EVA.Framework.EnumDto {
    BackendID : string; 
  }
  
  export class UnsetSetting extends EVA.API.RequestMessageWithEmptyResponse {
    OrganizationUnitID : number; // Int32
    Key : string; 
  }
  
  export class UpdateAccount extends EVA.API.UpdateRequest<EVA.Core.Services.Management.AccountDto> implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class UpdateAssortment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
  }
  
  export class UpdateCarrier extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    BackendID : string; 
  }
  
  export class UpdateCashHandler extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    CurrencyID : string; 
    RoundingFactor : number; // Decimal
    Coins : number[]; 
    BankNotes : number[]; 
  }
  
  export class UpdateCustomerReturnReason extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
  }
  
  export class UpdateDevice extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    TypeID : number; // Int32
    NetworkName : string; 
    IpAddress : string; 
    StationID? : number; // Int32, nullable
    AssemblyName : string; 
    EcrID : string; 
    HardwareID : string; 
    ProxyID : string; 
    OrganizationUnitID? : number; // Int32, nullable
    BackendID : string; 
  }
  
  export class UpdatedFunctionalityDto {
    Functionality : string; 
    FunctionalityScope : EVA.Framework.FunctionalityScope; 
    IsRemoved : boolean; 
    EndDate? : string; // DateTime, nullable
    DisableHierarchy : boolean; 
  }
  
  export class UpdateDiscount extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    BackendID : string; 
    IsActive : boolean; 
    Description : string; 
    MarketingDescription : string; 
    CampaignName : string; 
    NeedsReason : boolean; 
    DiscountOrderType : EVA.Core.DiscountOrderTypes; 
    StartDate : string; // DateTime
    EndDate? : string; // DateTime, nullable
    LedgerClassID : string; 
    MaximumUsage? : number; // Int32, nullable
    MaximumUsagePerOrder? : number; // Int32, nullable
    ActionType : string; 
    ActionData : any; 
    Conditions : EVA.Core.Services.Management.UpdateDiscountDiscountConditionDto[]; 
    ConditionType : EVA.Core.DiscountConditionTypes; 
    Trigger : EVA.Core.DiscountTriggers; 
    LayerID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    CurrencyID : string; 
  }
  
  export class UpdateDiscountCoupon extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    CouponCode : string; 
    IsActive : boolean; 
  }
  
  export class UpdateDiscountLayer extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    Sequence : number; // Int32
    IsExclusive : boolean; 
  }
  
  export class UpdatedUserFunctionalitiesDto {
    UserID : number; // Int32
    OrganizationUnitID : number; // Int32
    Functionalities : EVA.Core.Services.Management.UpdatedFunctionalityDto[]; 
  }
  
  export class UpdateEmployeeData extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    UserID : number; // Int32
    EmployeeNumber : string; 
    Function : string; 
    PrimaryOrganizationUnitID? : number; // Int32, nullable
    ManagerID? : number; // Int32, nullable
    AdditionalOrganizationUnitIDs : number[]; 
  }
  
  export class UpdateExchangeRate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ExchangeRate : number; // Decimal
  }
  
  export class UpdateFraudItem extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Data : string; 
    Object : any; 
  }
  
  export class UpdateMessageTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    OrganizationUnitID? : number; // Int32, nullable
    LanguageID : string; 
    CountryID : string; 
    Header : string; 
    Template : string; 
    Footer : string; 
    Helpers : string; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperProperties : EVA.Core.PaperProperties; 
    IsDisabled : boolean; 
  }
  
  export class UpdateOrganizationUnitCurrency extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    CashHandlerID : number; // Int32
  }
  
  export class UpdateOrganizationUnitGroup extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
  }
  
  export class UpdateOrganizationUnitSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    ScopeID? : number; // Int32, nullable
    Definition : EVA.Core.OrganizationUnitSetDefinition; 
  }
  
  export class UpdateOrganizationUnitSetScope extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    OrganizationUnitUniqueInScope : boolean; 
  }
  
  export class UpdateOrganizationUnitShippingMethod extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ShippingMethodID : number; // Int32
    OrganizationUnitID : number; // Int32
    Priority : number; // Int32
  }
  
  export class UpdatePaymentType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    PaymentMethodID? : number; // Int32, nullable
    OrganizationUnitSetID? : number; // Int32, nullable
    Name : string; 
    Code : string; 
    IsActive : boolean; 
    IsRoundingType : boolean; 
    IsExternal : boolean; 
    ReturnAction : EVA.Core.PaymentReturnActions; 
    LedgerClassID : string; 
    PrintOnDocuments : boolean; 
    BackendRelationID : string; 
    BookPaymentMethodInvoice : boolean; 
    CanBeUsedForAuthorization : boolean; 
    AutoFinalizeOnOrderPaid : boolean; 
    CashJournalMethod : EVA.Core.PaymentCashJournalMethod; 
  }
  
  export class UpdatePriceList extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    BackendSystemID : string; 
    CurrencyID : string; 
    TimeZone : string; 
    IncludingVat : boolean; 
    IsActive : boolean; 
    IsSpecialPricesPriceList? : boolean; 
    SpecialPricesPriceListID? : number; // Int32, nullable
  }
  
  export class UpdatePriceListAdjustment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    PriceListID : number; // Int32
    ParentAdjustmentID? : number; // Int32, nullable
    Sequence : number; // Int32
    Name : string; 
    Label : string; 
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
    OverridePrice : boolean; 
    Type : string; 
    Data : any; 
  }
  
  export class UpdatePriceListManualInputAdjustment extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Value : number; // Decimal
    EffectiveDate : string; // DateTime
    ExpireDate? : string; // DateTime, nullable
  }
  
  export class UpdatePriceListOrganizationUnit extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    OrganizationUnitID : number; // Int32
    PriceListID : number; // Int32
    PriceListUsageTypeID : number; // Int32
  }
  
  export class UpdatePriceListUsageType extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Description : string; 
    RequiredUserType : EVA.Framework.UserTypes; 
  }
  
  export class UpdateProductGiftCard extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ProductID : number; // Int32
    Type : string; 
    Data : any; 
  }
  
  export class UpdateProductSearchTemplate extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Filters : { [ key : string ] : EVA.Core.FilterModel }; 
  }
  
  export class UpdateProductUnitOfMeasure extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ProductID : number; // Int32
    UnitOfMeasureID : number; // Int32
    Quantity : number; // Int32
  }
  
  export class UpdateRole extends EVA.API.UpdateRequest<EVA.Core.Services.Management.RoleDto> implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class UpdateRoleSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
  }
  
  export class UpdateShippingCost extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    BackendID : string; 
    ShippingMethodID? : number; // Int32, nullable
    OrganizationUnitID? : number; // Int32, nullable
    CountryID : string; 
    ZipCodes : string[]; 
    MinimumOrderAmount? : number; // Decimal, nullable
    MaximumOrderAmount? : number; // Decimal, nullable
    CurrencyID : string; 
    UnitPriceInTax : number; // Decimal
  }
  
  export class UpdateShippingMethod extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Code : string; 
    PaymentHandledByCarrier : boolean; 
    InvoicingHandledByCarrier : boolean; 
    CarrierID : number; // Int32
    DeliveryType : EVA.Core.ShippingMethodDeliveryTypes; 
  }
  
  export class UpdateShippingMethodTransportationTime extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    ShippingMethodID? : number; // Int32, nullable
    FromCountryID : string; 
    ToCountryID : string; 
    TimeInDays : number; // Int32
  }
  
  export class UpdateShippingRestriction extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitSetID? : number; // Int32, nullable
    CountryID : string; 
    ZipCodeFrom : string; 
    ZipCodeTo : string; 
    ProductPropertyTypeID : string; 
    ProductPropertyTypeValues : string[]; 
    Type : EVA.Core.ShippingRestrictionType; 
  }
  
  export class UpdateStation extends EVA.API.UpdateRequest<EVA.Core.StationDto> implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class UpdateStockLabel extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Description : string; 
    LedgerClassID : string; 
  }
  
  export class UpdateSubscription2 extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    BackendID : string; 
    UserField : string; 
    Handler : string; 
  }
  
  export class UpdateSubscriptionOrganizationUnitSet extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    SubscriptionID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    Enabled : boolean; 
    Default : boolean; 
    ConfirmationRequired : boolean; 
  }
  
  export class UpdateSupplierProduct extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    BackendID : string; 
    BrandName : string; 
    PrimitiveName : string; 
    Status : EVA.Core.ProductStatus; 
    Description : string; 
    PreferredMinimumOrderQuantity? : number; // Int32, nullable
    TaxCodeID : number; // Int32
  }
  
  export class UpdateSupplierProductPrices extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    CurrencyID : string; 
    UnitCost? : number; // Decimal, nullable
    RecommendedRetailPrice? : number; // Decimal, nullable
  }
  
  export class UpdateSupplierProductStock extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Quantity : number; // Int32
  }
  
  export class UpdateUnitOfMeasure extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    BackendID : string; 
  }
  
  export class UpdateUrlRewrite extends EVA.API.UpdateRequest<EVA.Core.Services.Management.UrlRewriteDto> implements EVA.API.IRequestRespondsAs<EVA.API.EmptyResponseMessage> {
  }
  
  export class UpdateUserFunctionalities extends EVA.API.RequestMessageWithEmptyResponse {
    Data : EVA.Core.Services.Management.UpdatedUserFunctionalitiesDto[]; 
    UserID : number; // Int32
    OrganizationUnitID : number; // Int32
    Functionalities : EVA.Core.Services.Management.UpdatedFunctionalityDto[]; 
  }
  
  export class UpdateUserOrigin extends EVA.API.RequestMessageWithEmptyResponse {
    ID : number; // Int32
    Name : string; 
    Description : string; 
    BackendID : string; 
  }
  
  export class UpdateUserRoles extends EVA.API.RequestMessageWithEmptyResponse {
    RoleID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitGroupID? : number; // Int32, nullable
    IsRemoved : boolean; 
    UserID : number; // Int32
    EndDate? : string; // DateTime, nullable
    UserType : EVA.Framework.UserTypes; 
    DisableHierarchy : boolean; 
    Pending : boolean; 
  }
  
  export class UploadAssortmentProducts extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.UploadAssortmentProductsResponse> {
    AssortmentID : number; // Int32
    Data : string; 
    // When a product is currently part of the assortment but is not present in the Excel that is uploaded, it's removed from the assortment.
    DeleteMissing : boolean; 
  }
  
  export class UploadAssortmentProductsResponse extends EVA.API.ResponseMessage {
    Messages : string[]; 
  }
  
  export class UploadCustomers extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class UploadEmployees extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class UploadFraudItems extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class UploadInitialInventory extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.UploadInitialInventoryResponse> {
    Data : string; 
    IgnoreInTransitStock : boolean; 
  }
  
  export class UploadInitialInventoryResponse extends EVA.API.ResponseMessage {
    Messages : string[]; 
  }
  
  export class UploadPaymentSettlementFile extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
    Handler : string; 
  }
  
  export class UploadPriceListManualInputAdjustments extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.UploadPriceListManualInputAdjustmentsResponse> {
    PriceListAdjustmentID : number; // Int32
    Data : string; 
  }
  
  export class UploadPriceListManualInputAdjustmentsResponse extends EVA.API.ResponseMessage {
    Messages : string[]; 
  }
  
  export class UploadPurchaseOrderExcel extends EVA.API.RequestMessageWithEmptyResponse {
    Data : string; 
  }
  
  export class UploadShippingRestrictions extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.UploadShippingRestrictionsResponse> {
    Data : string; 
  }
  
  export class UploadShippingRestrictionsResponse extends EVA.API.ResponseMessage {
    Messages : string[]; 
  }
  
  export class UploadSupplierProductsBase extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.UploadSupplierProductsResponse> {
    OrganizationUnitID? : number; // Int32, nullable
    Data : string; 
  }
  
  export class UploadSupplierProducts extends EVA.Core.Services.Management.UploadSupplierProductsBase {
  }
  
  export class UploadSupplierProductsBarcodes extends EVA.Core.Services.Management.UploadSupplierProductsBase {
  }
  
  export class UploadSupplierProductsPricing extends EVA.Core.Services.Management.UploadSupplierProductsBase {
  }
  
  export class UploadSupplierProductsResponse extends EVA.API.ResponseMessage {
    TotalProductCount : number; // Int32
    FailedCount : number; // Int32
    Messages : { [ key : string ] : string }; 
    DeletedCount : number; // Int32
  }
  
  export class UploadSupplierProductsStock extends EVA.Core.Services.Management.UploadSupplierProductsBase {
  }
  
  export class UrlRewriteDto {
    ID : number; // Int32
    RequestPath : string; 
    TargetPath : string; 
    UrlRewriteType : EVA.Core.UrlRewriteTypes; 
    Description : string; 
    IsActive : boolean; 
    IsRegex : boolean; 
  }
  
  export class GenerateIdentificationCodeForEmployeeResponseUserIdWithIdentificationCodeDto {
    UserId : number; // Int32
    IdentificationCode : string; 
  }
  
  export class GetUserOriginsResponseUserOriginDto extends EVA.Framework.EnumDto {
    BackendID : string; 
  }
  
  export class GetUserRolesByUserIDResponseUserRoleDto {
    ID : number; // Int32
    UserID : number; // Int32
    OrganizationUnitID? : number; // Int32, nullable
    OrganizationUnitGroupID? : number; // Int32, nullable
    RoleID : number; // Int32
    EndDate? : string; // DateTime, nullable
    DisableHierarchy : boolean; 
    Pending : boolean; 
    Role : EVA.Core.Services.Management.RoleDto; 
  }
  
  export class ValidateDiscount extends EVA.API.RequestMessageGeneric<EVA.Core.Services.Management.ValidateDiscountResponse> {
    BackendID : string; 
    IsActive : boolean; 
    Description : string; 
    MarketingDescription : string; 
    NeedsReason : boolean; 
    DiscountOrderType : EVA.Core.DiscountOrderTypes; 
    StartDate : string; // DateTime
    EndDate? : string; // DateTime, nullable
    LedgerClassID : string; 
    MaximumUsage? : number; // Int32, nullable
    MaximumUsagePerOrder? : number; // Int32, nullable
    ActionType : string; 
    ActionData : any; 
    Conditions : EVA.Core.Services.Management.ValidateDiscountDiscountConditionDto[]; 
    ConditionType : EVA.Core.DiscountConditionTypes; 
    Trigger : EVA.Core.DiscountTriggers; 
    LayerID : number; // Int32
    OrganizationUnitSetID : number; // Int32
    CurrencyID : string; 
  }
  
  export class ValidateDiscountResponse extends EVA.API.ResponseMessage {
    Messages : string[]; 
    ActionMessages : string[]; 
    ConditionMessages : { [ key : number ] : string[] }; 
  }
  
  export class VerifyDiscount extends EVA.API.RequestMessageGeneric<EVA.API.EmptyResponseMessage> {
    DiscountID : number; // Int32
  }
  
}