/* 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.Global {
  
  export class GetGlobalOrganizationUnitsResponseGlobalOrganizationUnitCashHandlerDto {
    Name : string; 
    CurrencyID : string; 
    RoundingFactor : number; // Decimal
    Coins : number[]; 
    BankNotes : number[]; 
  }
  
  export class GetGlobalCurrenciesResponseCurrency {
    Name : string; 
    Description : string; 
    Precision : number; // Int16
  }
  
  export class GetGlobalRolesResponseFunctionality {
    Name : string; 
    Scope : EVA.Framework.FunctionalityScope; 
  }
  
  export class GetGlobalBlob extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalBlobResponse> {
    BlobID : string; 
  }
  
  export class GetGlobalBlobInfo extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalBlobInfoResponse> {
    BlobID : string; 
  }
  
  export class GetGlobalBlobInfoResponse extends EVA.API.ResponseMessage {
    OriginalName : string; 
    Category : string; 
    ExpireDate? : string; // DateTime, nullable
    MimeType : string; 
  }
  
  export class GetGlobalBlobResponse extends EVA.API.ResponseMessage {
    Data : string; 
  }
  
  export class GetGlobalCurrencies extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalCurrenciesResponse> {
  }
  
  export class GetGlobalCurrenciesResponse extends EVA.API.ResponseMessage {
    Currencies : EVA.Global.GetGlobalCurrenciesResponseCurrency[]; 
  }
  
  export class GetGlobalMessageTemplates extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalMessageTemplatesResponse> {
  }
  
  export class GetGlobalMessageTemplatesResponse extends EVA.API.ResponseMessage {
    Templates : EVA.Global.GetGlobalMessageTemplatesResponseMessageTemplate[]; 
  }
  
  export class GetGlobalOrganizationUnits extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalOrganizationUnitsResponse> {
  }
  
  export class GetGlobalOrganizationUnitSets extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalOrganizationUnitSetsResponse> {
  }
  
  export class GetGlobalOrganizationUnitSetsResponse extends EVA.API.ResponseMessage {
    OrganizationUnitSets : EVA.Global.GetGlobalOrganizationUnitSetsResponseGlobalOrganizationUnitSet[]; 
  }
  
  export class GetGlobalOrganizationUnitsResponse extends EVA.API.ResponseMessage {
    OrganizationUnits : EVA.Global.GetGlobalOrganizationUnitsResponseGlobalOrganizationUnit[]; 
  }
  
  export class GetGlobalPaymentTypes extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalPaymentTypesResponse> {
  }
  
  export class GetGlobalPaymentTypesResponse extends EVA.API.ResponseMessage {
    PaymentTypes : EVA.Global.GetGlobalPaymentTypesResponsePaymentTypeDto[]; 
  }
  
  export class GetGlobalRegions extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalRegionsResponse> {
  }
  
  export class GetGlobalRegionsResponse extends EVA.API.ResponseMessage {
    Regions : EVA.Global.GetGlobalRegionsResponseRegion[]; 
  }
  
  export class GetGlobalRoles extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalRolesResponse> {
  }
  
  export class GetGlobalRolesResponse extends EVA.API.ResponseMessage {
    Roles : EVA.Global.GetGlobalRolesResponseRole[]; 
    RoleSets : EVA.Global.GetGlobalRolesResponseRoleSet[]; 
  }
  
  export class GetGlobalSettings extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalSettingsResponse> {
    RegionCode : string; 
  }
  
  export class GetGlobalSettingsResponse extends EVA.API.ResponseMessage {
    OrganizationUnits : EVA.Global.GetGlobalSettingsResponseOrganizationUnitSettings[]; 
  }
  
  export class GetGlobalUser extends EVA.API.RequestMessageGeneric<EVA.Global.GetGlobalUserResponse> {
    RegionCode : string; 
    Username : string; 
    Password : string; 
    AsEmployee? : boolean; 
  }
  
  export class GetGlobalUserResponse extends EVA.API.ResponseMessage {
    User : EVA.Global.GetGlobalUserResponseUserDto; 
    Roles : EVA.Global.GetGlobalUserResponseOrganizationUnitRole[]; 
    Functionalities : EVA.Global.GetGlobalUserResponseOrganizationUnitFunctionality[]; 
  }
  
  export class GetGlobalOrganizationUnitsResponseGlobalOrganizationUnit {
    GlobalID : string; 
    BackendID : string; 
    Name : string; 
    Description : string; 
    Notes : string; 
    ParentID : string; 
    RegisterCashLimit? : number; // Decimal, nullable
    SafeCashLimit? : number; // Decimal, nullable
    CashHandler : EVA.Global.GetGlobalOrganizationUnitsResponseGlobalOrganizationUnitCashHandlerDto; 
    BackendRelationID : string; 
    BackendCompanyID : string; 
    BranchNumber : string; 
    GlobalLocationNumber : string; 
    OpeningHours : EVA.Global.GetGlobalOrganizationUnitsResponseGlobalOrganizationUnitOpeningHour[]; 
    Address : EVA.Core.AddressDataDto; 
    Latitude? : number; // Double, nullable
    Longitude? : number; // Double, nullable
    Type : EVA.Framework.OrganizationUnitTypes; 
    Status : EVA.Core.OrganizationUnitStatus; 
    Subnet : string; 
    BankAccount : string; 
    VatNumber : string; 
    RegistrationNumber : string; 
    EmailAddress : string; 
    PhoneNumber : string; 
    UseForAccounting : boolean; 
    AttachedToUserID : string; 
    IpAddress : string; 
    CountryID : string; 
    LanguageID : string; 
    CurrencyID : string; 
    CostPriceCurrencyID : string; 
    TimeZone : string; 
    AccountingOrganizationUnitID : string; 
    AssortmentCode : string; 
    RoleSetID : string; 
    RegionID : string; 
    CocNumber : string; 
  }
  
  export class GetGlobalOrganizationUnitSetsResponseGlobalOrganizationUnitSet {
    GlobalID : string; 
    OrganizationUnitGlobalID : string; 
    SerializedDefinition : string; 
    Name : string; 
    Type : EVA.Core.OrganizationUnitSetTypes; 
    Subsets : EVA.Global.GetGlobalOrganizationUnitSetsResponseSubset[]; 
  }
  
  export class GetGlobalMessageTemplatesResponseMessageTemplate {
    Name : string; 
    OrganizationUnitGlobalID : string; 
    LanguageID : string; 
    CountryID : string; 
    Template : string; 
    Helpers : string; 
    Type : EVA.Core.MessageTemplateTypes; 
    Layout : string; 
    Destination : EVA.Core.MessageTemplateDestinations; 
    PaperPropertiesData : string; 
    IsDisabled : boolean; 
    GlobalID : string; 
  }
  
  export class GetGlobalOrganizationUnitsResponseGlobalOrganizationUnitOpeningHour {
    DayOfWeek? : System.Private.CoreLib.DayOfWeek; 
    StartTime? : any; // TimeSpan, nullable
    EndTime? : any; // TimeSpan, nullable
    Date? : string; // DateTime, nullable
    Description : string; 
    ClosedForReceipts : boolean; 
  }
  
  export class GetGlobalUserResponseOrganizationUnitFunctionality {
    OrganizationUnitGlobalID : string; 
    Functionality : string; 
    Scope : EVA.Framework.FunctionalityScope; 
  }
  
  export class GetGlobalUserResponseOrganizationUnitRole {
    OrganizationUnitGlobalID : string; 
    RoleGlobalID : string; 
    UserType : EVA.Framework.UserTypes; 
  }
  
  export class GetGlobalSettingsResponseOrganizationUnitSettings {
    GlobalID : string; 
    Settings : EVA.Global.GetGlobalSettingsResponseSetting[]; 
  }
  
  export class GetGlobalPaymentTypesResponsePaymentTypeDto {
    OrganizationUnitSetGlobalID : string; 
    PaymentMethodCode : string; 
    Name : string; 
    Code : string; 
    IsRoundingType : boolean; 
    CashJournalMethod : EVA.Core.PaymentCashJournalMethod; 
    IsExternal : boolean; 
    LedgerClassID : string; 
    PrintOnDocuments : boolean; 
    BackendRelationID : string; 
    BookPaymentMethodInvoice : boolean; 
    CanBeUsedForAuthorization : boolean; 
    AutoFinalizeOnOrderPaid : boolean; 
  }
  
  export class GetGlobalRegionsResponseRegion {
    Name : string; 
    Code : string; 
    ApiEndPoint : string; 
    IsIsolated : boolean; 
    IsPrimary : boolean; 
    Prefix : string; 
  }
  
  export class GetGlobalRolesResponseRole {
    Name : string; 
    Code : string; 
    UserType : EVA.Framework.UserTypes; 
    GlobalID : string; 
    Functionalities : EVA.Global.GetGlobalRolesResponseFunctionality[]; 
  }
  
  export class GetGlobalRolesResponseRoleSet {
    Name : string; 
    GlobalID : string; 
    Roles : string[]; 
  }
  
  export class GetGlobalSettingsResponseSetting {
    Name : string; 
    Value : string; 
    SensitivityTypeID : number; // Int32
  }
  
  export class GetGlobalOrganizationUnitSetsResponseSubset {
    GlobalID : string; 
    Type : EVA.Core.OrganizationUnitSetOperatorTypes; 
    SequenceNumber : number; // Int32
  }
  
  export class GetGlobalUserResponseUserDto {
    EmailAddress : string; 
    BackendRelationID : string; 
    Initials : string; 
    FirstName : string; 
    LastName : string; 
    DateOfBirth? : string; // DateTime, nullable
    Gender : string; 
    PlaceOfBirth : string; 
    LanguageID : string; 
    CountryID : string; 
    Type : EVA.Framework.UserTypes; 
    Nickname : string; 
    FiscalID : string; 
    SocialSecurityNumber : string; 
    BankAccount : string; 
    PhoneNumber : string; 
    TimeZone : string; 
    BackendSystemID : string; 
    BackendID : string; 
    GlobalID : string; 
  }
  
}