diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/domain/GLClosure.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/domain/GLClosure.java
index 2478430ee..4b921acb3 100755
--- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/domain/GLClosure.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/domain/GLClosure.java
@@ -15,8 +15,8 @@ import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.mifosplatform.accounting.api.commands.GLClosureCommand;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "acc_gl_closure", uniqueConstraints = { @UniqueConstraint(columnNames = { "office_id", "closing_date" }, name = "office_id_closing_date") })
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/accounting/service/impl/GLClosureWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/accounting/service/impl/GLClosureWritePlatformServiceJpaRepositoryImpl.java
index 8be3ec0d0..5f0ae0e73 100755
--- a/mifosng-provider/src/main/java/org/mifosplatform/accounting/service/impl/GLClosureWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/accounting/service/impl/GLClosureWritePlatformServiceJpaRepositoryImpl.java
@@ -8,9 +8,9 @@ import org.mifosplatform.accounting.exceptions.GLClosureNotFoundException;
import org.mifosplatform.accounting.service.GLClosureCommandValidator;
import org.mifosplatform.accounting.service.GLClosureWritePlatformService;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/api/CommandsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/api/CommandsApiResource.java
index 004742f46..89bb19a85 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/api/CommandsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/api/CommandsApiResource.java
@@ -16,7 +16,7 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
import org.mifosplatform.commands.service.PortfolioCommandsReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/api/data/CommandSourceData.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/data/CommandSourceData.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/commands/api/data/CommandSourceData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/commands/data/CommandSourceData.java
index ce2e2a899..a7990aa7e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/api/data/CommandSourceData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/data/CommandSourceData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.commands.api.data;
+package org.mifosplatform.commands.data;
import org.joda.time.LocalDate;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/domain/CommandSource.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/domain/CommandSource.java
index f7ca20654..971ec847b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/domain/CommandSource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/domain/CommandSource.java
@@ -12,7 +12,7 @@ import javax.persistence.TemporalType;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.data.jpa.domain.AbstractPersistable;
@Entity
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ChargeDefinitionCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ChargeDefinitionCommandHandler.java
index 04136c8cf..b61253597 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ChargeDefinitionCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ChargeDefinitionCommandHandler.java
@@ -8,10 +8,10 @@ import org.mifosplatform.commands.domain.CommandSource;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.charge.service.ChargeWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientCommandHandler.java
index c05075d5f..61f34118a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientCommandHandler.java
@@ -9,10 +9,10 @@ import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.service.ClientWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientIdentifierCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientIdentifierCommandHandler.java
index aedc2dcdf..ca080fae2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientIdentifierCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/ClientIdentifierCommandHandler.java
@@ -9,10 +9,10 @@ import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
import org.mifosplatform.portfolio.client.service.ClientWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CodeCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CodeCommandHandler.java
index a511e84ce..3d9771380 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CodeCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CodeCommandHandler.java
@@ -10,8 +10,8 @@ import org.mifosplatform.infrastructure.codes.command.CodeCommand;
import org.mifosplatform.infrastructure.codes.service.CodeWritePlatformService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CurrencyCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CurrencyCommandHandler.java
index 539d75061..85ce25978 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CurrencyCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/CurrencyCommandHandler.java
@@ -7,12 +7,12 @@ import org.joda.time.LocalDate;
import org.mifosplatform.commands.domain.CommandSource;
import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyWritePlatformService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.monetary.service.CurrencyWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/FundCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/FundCommandHandler.java
index 1a121af50..ffc401dac 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/FundCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/FundCommandHandler.java
@@ -9,10 +9,10 @@ import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.mifosplatform.portfolio.fund.command.FundCommand;
import org.mifosplatform.portfolio.fund.service.FundWritePlatformService;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/LoanProductCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/LoanProductCommandHandler.java
index 0e4aac284..0d273f28a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/LoanProductCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/LoanProductCommandHandler.java
@@ -10,10 +10,10 @@ import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
import org.mifosplatform.portfolio.loanproduct.service.LoanProductWritePlatformService;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeCommandHandler.java
index 01c13a2fc..4ed7ef470 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeCommandHandler.java
@@ -8,11 +8,11 @@ import org.mifosplatform.commands.domain.CommandSource;
import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.office.service.OfficeWritePlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.office.service.OfficeWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeTransactionCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeTransactionCommandHandler.java
index adb4f630b..015ccee5f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeTransactionCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/OfficeTransactionCommandHandler.java
@@ -7,11 +7,11 @@ import org.joda.time.LocalDate;
import org.mifosplatform.commands.domain.CommandSource;
import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.service.OfficeWritePlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.service.OfficeWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/PermissionsCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/PermissionsCommandHandler.java
index 863644fe4..6fed5e561 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/PermissionsCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/PermissionsCommandHandler.java
@@ -9,10 +9,10 @@ import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.service.PermissionWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.service.PermissionWritePlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/RoleCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/RoleCommandHandler.java
index 609184af0..bc52854fa 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/RoleCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/RoleCommandHandler.java
@@ -9,11 +9,11 @@ import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.service.RoleWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.service.RoleWritePlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/StaffCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/StaffCommandHandler.java
index feda0edf6..f30ff14b5 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/StaffCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/StaffCommandHandler.java
@@ -9,10 +9,10 @@ import org.mifosplatform.commands.exception.UnsupportedCommandException;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.staff.service.StaffWritePlatformService;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
+import org.mifosplatform.organisation.staff.service.StaffWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/UserCommandHandler.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/UserCommandHandler.java
index 573b14a90..9a874e943 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/UserCommandHandler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/handler/UserCommandHandler.java
@@ -8,10 +8,10 @@ import org.mifosplatform.commands.domain.CommandSource;
import org.mifosplatform.commands.service.ChangeDetectionService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.service.AppUserWritePlatformService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.command.UserCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.service.AppUserWritePlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandSourceWritePlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandSourceWritePlatformServiceImpl.java
index 96c1e37b5..712587459 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandSourceWritePlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandSourceWritePlatformServiceImpl.java
@@ -6,7 +6,7 @@ import org.mifosplatform.commands.domain.CommandSourceRepository;
import org.mifosplatform.commands.handler.CommandSourceHandlerDelegator;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformService.java
index d64aa2fe4..9bfafc27d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformService.java
@@ -2,7 +2,7 @@ package org.mifosplatform.commands.service;
import java.util.Collection;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
public interface PortfolioCommandsReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformServiceImpl.java
index 15728c748..1a161fddd 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/commands/service/PortfolioCommandsReadPlatformServiceImpl.java
@@ -5,7 +5,7 @@ import java.sql.SQLException;
import java.util.Collection;
import org.joda.time.LocalDate;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/service/CodeWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/service/CodeWritePlatformServiceJpaRepositoryImpl.java
index 088dd2bae..3828c6a6b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/service/CodeWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/codes/service/CodeWritePlatformServiceJpaRepositoryImpl.java
@@ -5,10 +5,10 @@ import org.mifosplatform.infrastructure.codes.domain.Code;
import org.mifosplatform.infrastructure.codes.domain.CodeRepository;
import org.mifosplatform.infrastructure.codes.exception.CodeNotFoundException;
import org.mifosplatform.infrastructure.codes.exception.SystemDefinedCodeCannotBeChangedException;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformService.java
deleted file mode 100644
index 657ad6e5c..000000000
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.mifosplatform.infrastructure.configuration.service;
-
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-
-public interface CurrencyWritePlatformService {
-
- void updateAllowedCurrencies(CurrencyCommand command);
-
-}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformService.java
deleted file mode 100644
index 37e71f3c3..000000000
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformService.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package org.mifosplatform.infrastructure.configuration.service;
-
-import org.mifosplatform.infrastructure.configuration.data.ConfigurationData;
-
-public interface OrganisationCurrencyReadPlatformService {
-
- ConfigurationData retrieveCurrencyConfiguration();
-
-}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/GoogleGsonPortfolioApiJsonSerializerService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/GoogleGsonPortfolioApiJsonSerializerService.java
index 68b5766ff..9dbe2f0e2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/GoogleGsonPortfolioApiJsonSerializerService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/GoogleGsonPortfolioApiJsonSerializerService.java
@@ -5,22 +5,17 @@ import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.infrastructure.codes.data.CodeData;
-import org.mifosplatform.infrastructure.configuration.data.ConfigurationData;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.dataqueries.data.DatatableData;
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
import org.mifosplatform.infrastructure.documentmanagement.data.DocumentData;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeTransactionData;
-import org.mifosplatform.infrastructure.staff.data.BulkTransferLoanOfficerData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
-import org.mifosplatform.infrastructure.user.api.data.AuthenticatedUserData;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.api.data.RolePermissionsData;
+import org.mifosplatform.organisation.monetary.data.ConfigurationData;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeTransactionData;
+import org.mifosplatform.organisation.staff.data.BulkTransferLoanOfficerData;
+import org.mifosplatform.organisation.staff.data.StaffData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryCollectionData;
import org.mifosplatform.portfolio.client.data.ClientData;
@@ -39,6 +34,11 @@ import org.mifosplatform.portfolio.savingsaccount.data.SavingAccountData;
import org.mifosplatform.portfolio.savingsaccountproduct.data.SavingProductData;
import org.mifosplatform.portfolio.savingsdepositaccount.data.DepositAccountData;
import org.mifosplatform.portfolio.savingsdepositproduct.data.DepositProductData;
+import org.mifosplatform.useradministration.data.AppUserData;
+import org.mifosplatform.useradministration.data.AuthenticatedUserData;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
+import org.mifosplatform.useradministration.data.RoleData;
+import org.mifosplatform.useradministration.data.RolePermissionsData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionService.java
index 785423854..0546d6e03 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionService.java
@@ -1,15 +1,11 @@
package org.mifosplatform.infrastructure.core.api;
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommand;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommand;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
@@ -32,6 +28,10 @@ import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositAccountW
import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositStateTransitionApprovalCommand;
import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositStateTransitionCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.command.DepositProductCommand;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.command.UserCommand;
public interface PortfolioApiDataConversionService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionServiceImpl.java
index 6c15d20ba..f427ccd36 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiDataConversionServiceImpl.java
@@ -18,19 +18,15 @@ import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.joda.time.format.DateTimeFormat;
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
import org.mifosplatform.infrastructure.core.exception.InvalidJsonException;
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
import org.mifosplatform.infrastructure.core.exception.UnsupportedParameterException;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommand;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommand;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
@@ -53,6 +49,10 @@ import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositAccountW
import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositStateTransitionApprovalCommand;
import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositStateTransitionCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.command.DepositProductCommand;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.command.UserCommand;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.number.NumberFormatter;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiJsonSerializerService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiJsonSerializerService.java
index 21cabdbc4..2e7585c78 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiJsonSerializerService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioApiJsonSerializerService.java
@@ -3,22 +3,17 @@ package org.mifosplatform.infrastructure.core.api;
import java.util.Collection;
import java.util.Set;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.infrastructure.codes.data.CodeData;
-import org.mifosplatform.infrastructure.configuration.data.ConfigurationData;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.dataqueries.data.DatatableData;
import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
import org.mifosplatform.infrastructure.documentmanagement.data.DocumentData;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeTransactionData;
-import org.mifosplatform.infrastructure.staff.data.BulkTransferLoanOfficerData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
-import org.mifosplatform.infrastructure.user.api.data.AuthenticatedUserData;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.api.data.RolePermissionsData;
+import org.mifosplatform.organisation.monetary.data.ConfigurationData;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeTransactionData;
+import org.mifosplatform.organisation.staff.data.BulkTransferLoanOfficerData;
+import org.mifosplatform.organisation.staff.data.StaffData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryCollectionData;
import org.mifosplatform.portfolio.client.data.ClientData;
@@ -37,6 +32,11 @@ import org.mifosplatform.portfolio.savingsaccount.data.SavingAccountData;
import org.mifosplatform.portfolio.savingsaccountproduct.data.SavingProductData;
import org.mifosplatform.portfolio.savingsdepositaccount.data.DepositAccountData;
import org.mifosplatform.portfolio.savingsdepositproduct.data.DepositProductData;
+import org.mifosplatform.useradministration.data.AppUserData;
+import org.mifosplatform.useradministration.data.AuthenticatedUserData;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
+import org.mifosplatform.useradministration.data.RoleData;
+import org.mifosplatform.useradministration.data.RolePermissionsData;
public interface PortfolioApiJsonSerializerService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeerializerServiceGoogleGson.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeerializerServiceGoogleGson.java
index 12edd06c4..f2e252121 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeerializerServiceGoogleGson.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeerializerServiceGoogleGson.java
@@ -8,20 +8,20 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
import org.mifosplatform.infrastructure.core.exception.InvalidJsonException;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
import org.mifosplatform.portfolio.fund.command.FundCommand;
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.command.UserCommand;
import org.springframework.stereotype.Service;
import com.google.gson.Gson;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeserializerService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeserializerService.java
index 26bb1ea9c..a6a3ee75f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeserializerService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/api/PortfolioCommandDeserializerService.java
@@ -1,19 +1,19 @@
package org.mifosplatform.infrastructure.core.api;
import org.mifosplatform.infrastructure.codes.command.CodeCommand;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
import org.mifosplatform.portfolio.fund.command.FundCommand;
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.command.UserCommand;
/**
* Service for de-serializing JSON for a command into the platforms internal
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/domain/AuditorAwareImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/domain/AuditorAwareImpl.java
index eb4cb984b..0029a6a2a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/domain/AuditorAwareImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/domain/AuditorAwareImpl.java
@@ -1,7 +1,7 @@
package org.mifosplatform.infrastructure.core.domain;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.domain.AppUserRepository;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.AuditorAware;
import org.springframework.security.core.Authentication;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java
index 3ee25bf90..568b2c2e3 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/core/exceptionmapper/UnAuthenticatedUserExceptionMapper.java
@@ -7,7 +7,7 @@ import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import org.mifosplatform.infrastructure.core.data.ApiGlobalErrorResponse;
-import org.mifosplatform.infrastructure.user.exception.UnAuthenticatedUserException;
+import org.mifosplatform.useradministration.exception.UnAuthenticatedUserException;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/DataTableApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/DataTableApiResource.java
index 4e32df69d..11c4bac6d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/DataTableApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/DataTableApiResource.java
@@ -32,7 +32,7 @@ import org.mifosplatform.infrastructure.dataqueries.service.GenericDataService;
import org.mifosplatform.infrastructure.dataqueries.service.ReadWriteNonCoreDataService;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java
index 73304c4c4..9413b59fb 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/api/ReportsApiResource.java
@@ -24,7 +24,7 @@ import org.mifosplatform.infrastructure.dataqueries.data.GenericResultsetData;
import org.mifosplatform.infrastructure.dataqueries.service.ReadReportingService;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
index 7f83f1fd4..1b3b39683 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadReportingServiceImpl.java
@@ -25,7 +25,7 @@ import org.mifosplatform.infrastructure.dataqueries.data.ResultsetColumnHeader;
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetDataRow;
import org.mifosplatform.infrastructure.dataqueries.exception.ReportNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.pentaho.reporting.engine.classic.core.ClassicEngineBoot;
import org.pentaho.reporting.engine.classic.core.MasterReport;
import org.pentaho.reporting.engine.classic.core.ReportProcessingException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java
index 7e819b2d8..4df33fceb 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java
@@ -23,7 +23,7 @@ import org.mifosplatform.infrastructure.dataqueries.data.ResultsetColumnValue;
import org.mifosplatform.infrastructure.dataqueries.data.ResultsetDataRow;
import org.mifosplatform.infrastructure.dataqueries.exception.DataTableNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/documentmanagement/domain/Document.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/documentmanagement/domain/Document.java
index 553559e85..58b95bfd7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/documentmanagement/domain/Document.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/documentmanagement/domain/Document.java
@@ -7,7 +7,7 @@ import javax.persistence.Table;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
import org.mifosplatform.infrastructure.documentmanagement.command.DocumentCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_document")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformPasswordEncoder.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformPasswordEncoder.java
index f2871be39..06d973779 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformPasswordEncoder.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformPasswordEncoder.java
@@ -2,9 +2,7 @@ package org.mifosplatform.infrastructure.security.service;
import org.mifosplatform.infrastructure.security.domain.PlatformUser;
-
public interface PlatformPasswordEncoder {
String encode(PlatformUser appUser);
-
-}
+}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformSecurityContext.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformSecurityContext.java
index 2b25b74f2..593da9b58 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformSecurityContext.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/PlatformSecurityContext.java
@@ -1,6 +1,6 @@
package org.mifosplatform.infrastructure.security.service;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
public interface PlatformSecurityContext {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java
index 37c6d0ea2..c252e04cf 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/security/service/SpringSecurityPlatformSecurityContext.java
@@ -1,7 +1,7 @@
package org.mifosplatform.infrastructure.security.service;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.exception.UnAuthenticatedUserException;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.exception.UnAuthenticatedUserException;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformService.java
deleted file mode 100644
index 62435fd74..000000000
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformService.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.mifosplatform.infrastructure.user.service;
-
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-
-public interface PermissionWritePlatformService {
-
- void updateMakerCheckerPermissions(PermissionsCommand command);
-}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/CurrenciesApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/api/CurrenciesApiResource.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/CurrenciesApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/api/CurrenciesApiResource.java
index ca96dc951..ece4245fe 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/api/CurrenciesApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/api/CurrenciesApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.api;
+package org.mifosplatform.organisation.monetary.api;
import java.util.Arrays;
import java.util.List;
@@ -14,15 +14,15 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-import org.mifosplatform.infrastructure.configuration.data.ConfigurationData;
-import org.mifosplatform.infrastructure.configuration.service.OrganisationCurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.monetary.data.ConfigurationData;
+import org.mifosplatform.organisation.monetary.service.OrganisationCurrencyReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/command/CurrencyCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/command/CurrencyCommand.java
similarity index 93%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/command/CurrencyCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/command/CurrencyCommand.java
index 757711334..b7b52ee99 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/command/CurrencyCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/command/CurrencyCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.command;
+package org.mifosplatform.organisation.monetary.command;
import java.util.ArrayList;
import java.util.Arrays;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/ConfigurationData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/ConfigurationData.java
similarity index 90%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/ConfigurationData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/ConfigurationData.java
index 5496f2154..441d2661e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/ConfigurationData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/ConfigurationData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.data;
+package org.mifosplatform.organisation.monetary.data;
import java.util.Collection;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/CurrencyData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/CurrencyData.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/CurrencyData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/CurrencyData.java
index 3e5a63d07..30800155a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/data/CurrencyData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/data/CurrencyData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.data;
+package org.mifosplatform.organisation.monetary.data;
/**
* Immutable data object representing currency.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrency.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrency.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrency.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrency.java
index fc8d76069..342c6d7f1 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrency.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrency.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.domain;
+package org.mifosplatform.organisation.monetary.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrencyRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrencyRepository.java
similarity index 84%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrencyRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrencyRepository.java
index 2eac34764..b4680a152 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/ApplicationCurrencyRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/ApplicationCurrencyRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.domain;
+package org.mifosplatform.organisation.monetary.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/MonetaryCurrency.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/MonetaryCurrency.java
similarity index 93%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/MonetaryCurrency.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/MonetaryCurrency.java
index 85925062e..a05015916 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/MonetaryCurrency.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/MonetaryCurrency.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.domain;
+package org.mifosplatform.organisation.monetary.domain;
import javax.persistence.Column;
import javax.persistence.Embeddable;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/Money.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/Money.java
similarity index 99%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/Money.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/Money.java
index dd1abaf9c..fba889a08 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/domain/Money.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/domain/Money.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.domain;
+package org.mifosplatform.organisation.monetary.domain;
import java.math.BigDecimal;
import java.math.RoundingMode;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/exception/CurrencyNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/exception/CurrencyNotFoundException.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/exception/CurrencyNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/exception/CurrencyNotFoundException.java
index 82698e08f..d94accabd 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/exception/CurrencyNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/exception/CurrencyNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.exception;
+package org.mifosplatform.organisation.monetary.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainService.java
similarity index 65%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainService.java
index a049778d0..e17abf836 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainService.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
public interface ConfigurationDomainService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainServiceJpa.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainServiceJpa.java
similarity index 78%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainServiceJpa.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainServiceJpa.java
index 3e94ca8bf..6cbdacfde 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/ConfigurationDomainServiceJpa.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/ConfigurationDomainServiceJpa.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
-import org.mifosplatform.infrastructure.user.domain.Permission;
-import org.mifosplatform.infrastructure.user.domain.PermissionRepository;
-import org.mifosplatform.infrastructure.user.exception.PermissionNotFoundException;
+import org.mifosplatform.useradministration.domain.Permission;
+import org.mifosplatform.useradministration.domain.PermissionRepository;
+import org.mifosplatform.useradministration.exception.PermissionNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformService.java
similarity index 57%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformService.java
index 369c306e8..852800388 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformService.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
import java.util.List;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
public interface CurrencyReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformServiceImpl.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformServiceImpl.java
index 85d32e5c7..589ad7920 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyReadPlatformServiceImpl.java
@@ -1,13 +1,13 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformService.java
new file mode 100644
index 000000000..ae0bf56f0
--- /dev/null
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformService.java
@@ -0,0 +1,9 @@
+package org.mifosplatform.organisation.monetary.service;
+
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+
+public interface CurrencyWritePlatformService {
+
+ void updateAllowedCurrencies(CurrencyCommand command);
+
+}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java
similarity index 88%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java
index 06cbf8039..c1cbe412d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/CurrencyWritePlatformServiceJpaRepositoryImpl.java
@@ -1,19 +1,19 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.mifosplatform.infrastructure.configuration.command.CurrencyCommand;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
-import org.mifosplatform.infrastructure.office.domain.OrganisationCurrency;
-import org.mifosplatform.infrastructure.office.domain.OrganisationCurrencyRepository;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.command.CurrencyCommand;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrencyRepository;
+import org.mifosplatform.organisation.office.domain.OrganisationCurrency;
+import org.mifosplatform.organisation.office.domain.OrganisationCurrencyRepository;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java
new file mode 100644
index 000000000..96f2ac41b
--- /dev/null
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformService.java
@@ -0,0 +1,9 @@
+package org.mifosplatform.organisation.monetary.service;
+
+import org.mifosplatform.organisation.monetary.data.ConfigurationData;
+
+public interface OrganisationCurrencyReadPlatformService {
+
+ ConfigurationData retrieveCurrencyConfiguration();
+
+}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformServiceImpl.java
similarity index 83%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformServiceImpl.java
index d1088c3d4..8136917a2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/configuration/service/OrganisationCurrencyReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/monetary/service/OrganisationCurrencyReadPlatformServiceImpl.java
@@ -1,9 +1,9 @@
-package org.mifosplatform.infrastructure.configuration.service;
+package org.mifosplatform.organisation.monetary.service;
import java.util.List;
-import org.mifosplatform.infrastructure.configuration.data.ConfigurationData;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.ConfigurationData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficeTransactionsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficeTransactionsApiResource.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficeTransactionsApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficeTransactionsApiResource.java
index b5d063227..0c839f282 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficeTransactionsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficeTransactionsApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.api;
+package org.mifosplatform.organisation.office.api;
import java.util.Arrays;
import java.util.Collection;
@@ -20,10 +20,10 @@ import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionServi
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.data.OfficeTransactionData;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.data.OfficeTransactionData;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficesApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficesApiResource.java
similarity index 95%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficesApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficesApiResource.java
index e7972de37..849779fee 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/api/OfficesApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/api/OfficesApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.api;
+package org.mifosplatform.organisation.office.api;
import java.util.ArrayList;
import java.util.Arrays;
@@ -23,11 +23,11 @@ import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionServi
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/BranchMoneyTransferCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/BranchMoneyTransferCommand.java
similarity index 98%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/BranchMoneyTransferCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/BranchMoneyTransferCommand.java
index f5b64f855..6dd2e1f72 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/BranchMoneyTransferCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/BranchMoneyTransferCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.command;
+package org.mifosplatform.organisation.office.command;
import java.math.BigDecimal;
import java.util.ArrayList;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/OfficeCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/OfficeCommand.java
similarity index 98%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/OfficeCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/OfficeCommand.java
index b61c36783..c8ae213fd 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/command/OfficeCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/command/OfficeCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.command;
+package org.mifosplatform.organisation.office.command;
import java.util.ArrayList;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeData.java
similarity index 97%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeData.java
index f3543dda3..993e8dc19 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.data;
+package org.mifosplatform.organisation.office.data;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeLookup.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeLookup.java
similarity index 91%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeLookup.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeLookup.java
index 11839867c..e788ed410 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeLookup.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeLookup.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.data;
+package org.mifosplatform.organisation.office.data;
/**
* Immutable data object used for office lookups (will remove eventually and just use {@link OfficeData}.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeTransactionData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeTransactionData.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeTransactionData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeTransactionData.java
index 98f475ca2..4c99287df 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/data/OfficeTransactionData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/data/OfficeTransactionData.java
@@ -1,10 +1,10 @@
-package org.mifosplatform.infrastructure.office.data;
+package org.mifosplatform.organisation.office.data;
import java.math.BigDecimal;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
* Immutable data object for office transactions.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/Office.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/Office.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java
index 0463ab0ff..74a199843 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/Office.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/Office.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import java.util.Date;
import java.util.LinkedList;
@@ -18,10 +18,10 @@ import javax.persistence.UniqueConstraint;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.office.exception.CannotUpdateOfficeWithParentOfficeSameAsSelf;
-import org.mifosplatform.infrastructure.office.exception.RootOfficeParentCannotBeUpdated;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.office.exception.CannotUpdateOfficeWithParentOfficeSameAsSelf;
+import org.mifosplatform.organisation.office.exception.RootOfficeParentCannotBeUpdated;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_office", uniqueConstraints={
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeRepository.java
similarity index 82%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeRepository.java
index bca7a5670..6a5a90ff4 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransaction.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransaction.java
similarity index 89%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransaction.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransaction.java
index a95b2bdbb..9238df490 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransaction.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransaction.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import java.math.BigDecimal;
import java.util.Date;
@@ -14,10 +14,10 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_office_transaction")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransactionRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransactionRepository.java
similarity index 84%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransactionRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransactionRepository.java
index 830d525ea..2ed094961 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OfficeTransactionRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OfficeTransactionRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrency.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrency.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrency.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrency.java
index a3ff7b873..8302234ee 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrency.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrency.java
@@ -1,11 +1,11 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_organisation_currency")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrencyRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrencyRepository.java
similarity index 84%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrencyRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrencyRepository.java
index cbf095803..fc729a42f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/domain/OrganisationCurrencyRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/domain/OrganisationCurrencyRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.domain;
+package org.mifosplatform.organisation.office.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java
similarity index 89%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java
index d1f216974..4aeb90f48 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/CannotUpdateOfficeWithParentOfficeSameAsSelf.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.exception;
+package org.mifosplatform.organisation.office.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/InvalidOfficeException.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/InvalidOfficeException.java
similarity index 89%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/InvalidOfficeException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/InvalidOfficeException.java
index e69c177de..9ee462359 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/InvalidOfficeException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/InvalidOfficeException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.exception;
+package org.mifosplatform.organisation.office.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/OfficeNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/OfficeNotFoundException.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/OfficeNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/OfficeNotFoundException.java
index d7d8ed098..e3a4ae74e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/OfficeNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/OfficeNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.exception;
+package org.mifosplatform.organisation.office.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/RootOfficeParentCannotBeUpdated.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/RootOfficeParentCannotBeUpdated.java
similarity index 88%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/RootOfficeParentCannotBeUpdated.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/RootOfficeParentCannotBeUpdated.java
index bbc4826c5..8ddf4bed8 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/exception/RootOfficeParentCannotBeUpdated.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/exception/RootOfficeParentCannotBeUpdated.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.exception;
+package org.mifosplatform.organisation.office.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformDomainRuleException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformService.java
similarity index 65%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformService.java
index 0a6cfa12e..050420495 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformService.java
@@ -1,11 +1,11 @@
-package org.mifosplatform.infrastructure.office.service;
+package org.mifosplatform.organisation.office.service;
import java.util.Collection;
import java.util.List;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.data.OfficeTransactionData;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeTransactionData;
public interface OfficeReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformServiceImpl.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformServiceImpl.java
index 0c5e90f0e..605b59027 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeReadPlatformServiceImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.office.service;
+package org.mifosplatform.organisation.office.service;
import java.math.BigDecimal;
import java.sql.ResultSet;
@@ -8,16 +8,16 @@ import java.util.Collection;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.data.OfficeTransactionData;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeTransactionData;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformService.java
similarity index 50%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformService.java
index c5d934df1..b22f61324 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformService.java
@@ -1,7 +1,7 @@
-package org.mifosplatform.infrastructure.office.service;
+package org.mifosplatform.organisation.office.service;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
public interface OfficeWritePlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java
similarity index 86%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java
index d9a52a823..7f2de151d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/office/service/OfficeWritePlatformServiceJpaRepositoryImpl.java
@@ -1,23 +1,23 @@
-package org.mifosplatform.infrastructure.office.service;
+package org.mifosplatform.organisation.office.service;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
-import org.mifosplatform.infrastructure.configuration.exception.CurrencyNotFoundException;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
-import org.mifosplatform.infrastructure.office.command.BranchMoneyTransferCommand;
-import org.mifosplatform.infrastructure.office.command.OfficeCommand;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.domain.OfficeTransaction;
-import org.mifosplatform.infrastructure.office.domain.OfficeTransactionRepository;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrencyRepository;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.organisation.monetary.exception.CurrencyNotFoundException;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
+import org.mifosplatform.organisation.office.command.BranchMoneyTransferCommand;
+import org.mifosplatform.organisation.office.command.OfficeCommand;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.domain.OfficeTransaction;
+import org.mifosplatform.organisation.office.domain.OfficeTransactionRepository;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/api/StaffApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/api/StaffApiResource.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/api/StaffApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/api/StaffApiResource.java
index e4c31f168..b2bc6432b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/api/StaffApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/api/StaffApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.api;
+package org.mifosplatform.organisation.staff.api;
import java.util.Arrays;
import java.util.Collection;
@@ -24,12 +24,12 @@ import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionServi
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
-import org.mifosplatform.infrastructure.staff.service.StaffReadPlatformService;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
+import org.mifosplatform.organisation.staff.data.StaffData;
+import org.mifosplatform.organisation.staff.service.StaffReadPlatformService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommand.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommand.java
index da9637470..77b1ac068 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.command;
+package org.mifosplatform.organisation.staff.command;
import org.joda.time.LocalDate;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommandValidator.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommandValidator.java
similarity index 97%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommandValidator.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommandValidator.java
index 3ce7f6db4..4eae14c83 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/BulkTransferLoanOfficerCommandValidator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/BulkTransferLoanOfficerCommandValidator.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.command;
+package org.mifosplatform.organisation.staff.command;
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
import org.mifosplatform.infrastructure.core.data.DataValidatorBuilder;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/StaffCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/StaffCommand.java
similarity index 98%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/StaffCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/StaffCommand.java
index 6087e1500..b92fb3390 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/command/StaffCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/command/StaffCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.command;
+package org.mifosplatform.organisation.staff.command;
import java.util.ArrayList;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/BulkTransferLoanOfficerData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/BulkTransferLoanOfficerData.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/BulkTransferLoanOfficerData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/BulkTransferLoanOfficerData.java
index 2298df483..85204a2bf 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/BulkTransferLoanOfficerData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/BulkTransferLoanOfficerData.java
@@ -1,7 +1,7 @@
-package org.mifosplatform.infrastructure.staff.data;
+package org.mifosplatform.organisation.staff.data;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
import java.util.Collection;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffAccountSummaryCollectionData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffAccountSummaryCollectionData.java
similarity index 97%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffAccountSummaryCollectionData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffAccountSummaryCollectionData.java
index d75f219f0..fed914eb5 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffAccountSummaryCollectionData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffAccountSummaryCollectionData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.data;
+package org.mifosplatform.organisation.staff.data;
import java.util.Collection;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffData.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffData.java
similarity index 91%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffData.java
index e535dec12..22223e8a4 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/data/StaffData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/data/StaffData.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.staff.data;
+package org.mifosplatform.organisation.staff.data;
import java.util.Collection;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
/**
* Immutable data object representing staff data.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/Staff.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/Staff.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/Staff.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/Staff.java
index f74afa933..baa701b17 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/Staff.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/Staff.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.domain;
+package org.mifosplatform.organisation.staff.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -9,9 +9,9 @@ import javax.persistence.UniqueConstraint;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_staff", uniqueConstraints = { @UniqueConstraint(columnNames = { "display_name" }, name = "display_name") })
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/StaffRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/StaffRepository.java
similarity index 82%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/StaffRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/StaffRepository.java
index 58dd8cdaf..19228ad44 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/domain/StaffRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/domain/StaffRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.domain;
+package org.mifosplatform.organisation.staff.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffNotFoundException.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffNotFoundException.java
index 69fad2c36..01159b717 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.exception;
+package org.mifosplatform.organisation.staff.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffRoleException.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffRoleException.java
similarity index 91%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffRoleException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffRoleException.java
index 0fbb602b2..0357d1032 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/exception/StaffRoleException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/exception/StaffRoleException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.exception;
+package org.mifosplatform.organisation.staff.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformService.java
similarity index 64%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformService.java
index 983c57f15..fc69b9cf8 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformService.java
@@ -1,9 +1,9 @@
-package org.mifosplatform.infrastructure.staff.service;
+package org.mifosplatform.organisation.staff.service;
import java.util.Collection;
-import org.mifosplatform.infrastructure.staff.data.StaffAccountSummaryCollectionData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
+import org.mifosplatform.organisation.staff.data.StaffAccountSummaryCollectionData;
+import org.mifosplatform.organisation.staff.data.StaffData;
public interface StaffReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformServiceImpl.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformServiceImpl.java
index afe391aff..5a3101d5b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffReadPlatformServiceImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.staff.service;
+package org.mifosplatform.organisation.staff.service;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -9,9 +9,9 @@ import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.data.StaffAccountSummaryCollectionData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
-import org.mifosplatform.infrastructure.staff.exception.StaffNotFoundException;
+import org.mifosplatform.organisation.staff.data.StaffAccountSummaryCollectionData;
+import org.mifosplatform.organisation.staff.data.StaffData;
+import org.mifosplatform.organisation.staff.exception.StaffNotFoundException;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryData;
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
import org.mifosplatform.portfolio.group.data.GroupAccountSummaryData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformService.java
similarity index 54%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformService.java
index af73c4d7d..619fa9600 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformService.java
@@ -1,6 +1,6 @@
-package org.mifosplatform.infrastructure.staff.service;
+package org.mifosplatform.organisation.staff.service;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
public interface StaffWritePlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java
similarity index 88%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java
index 4e76e2286..c7fec3513 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/organisation/staff/service/StaffWritePlatformServiceJpaRepositoryImpl.java
@@ -1,16 +1,16 @@
-package org.mifosplatform.infrastructure.staff.service;
+package org.mifosplatform.organisation.staff.service;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.command.StaffCommand;
-import org.mifosplatform.infrastructure.staff.domain.Staff;
-import org.mifosplatform.infrastructure.staff.domain.StaffRepository;
-import org.mifosplatform.infrastructure.staff.exception.StaffNotFoundException;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
+import org.mifosplatform.organisation.staff.command.StaffCommand;
+import org.mifosplatform.organisation.staff.domain.Staff;
+import org.mifosplatform.organisation.staff.domain.StaffRepository;
+import org.mifosplatform.organisation.staff.exception.StaffNotFoundException;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/data/ChargeData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/data/ChargeData.java
index 2027f3686..60b24049a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/data/ChargeData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/data/ChargeData.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.charge.data;
import java.math.BigDecimal;
import java.util.List;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
* Immutable data object for charge data.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/domain/Charge.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/domain/Charge.java
index 9db269ca8..fd871e532 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/domain/Charge.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/domain/Charge.java
@@ -1,8 +1,8 @@
package org.mifosplatform.portfolio.charge.domain;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
import javax.persistence.*;
import java.math.BigDecimal;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeReadPlatformServiceImpl.java
index 872ce2b3f..ff7f02236 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeReadPlatformServiceImpl.java
@@ -7,12 +7,12 @@ import java.util.Collection;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.charge.domain.ChargeAppliesTo;
import org.mifosplatform.portfolio.charge.exception.ChargeNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeWritePlatformServiceJpaRepositoryImpl.java
index 77965fbf7..eda59d347 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/charge/service/ChargeWritePlatformServiceJpaRepositoryImpl.java
@@ -1,8 +1,8 @@
package org.mifosplatform.portfolio.charge.service;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.charge.command.ChargeDefinitionCommand;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.charge.domain.ChargeAppliesTo;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java
index f138268db..4d9438633 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/api/ClientsApiResource.java
@@ -23,7 +23,7 @@ import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
import org.mifosplatform.commands.service.PortfolioCommandsReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiConstants;
@@ -34,9 +34,9 @@ import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerServi
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.domain.Base64EncodedImage;
import org.mifosplatform.infrastructure.core.service.FileUtils;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.NoteCommand;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryCollectionData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java
index d0533d54a..dc8985d1f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/data/ClientData.java
@@ -5,7 +5,7 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
/**
* Immutable data object representing client data.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java
index 338ad18bf..26aa31f52 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Client.java
@@ -13,9 +13,9 @@ import javax.persistence.TemporalType;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.domain.Office;
import org.mifosplatform.portfolio.client.command.ClientCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_client")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/ClientIdentifier.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/ClientIdentifier.java
index 45f86700d..6f5011f35 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/ClientIdentifier.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/ClientIdentifier.java
@@ -10,8 +10,8 @@ import javax.persistence.UniqueConstraint;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.codes.domain.CodeValue;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_client_identifier", uniqueConstraints = {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Note.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Note.java
index b503bd72e..ea1a13ce1 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Note.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/domain/Note.java
@@ -7,10 +7,10 @@ import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
import org.mifosplatform.portfolio.savingsdepositaccount.domain.DepositAccount;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_note")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java
index 014561cda..3ddda06e2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientReadPlatformServiceImpl.java
@@ -12,12 +12,9 @@ import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.service.AppUserReadPlatformService;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryCollectionData;
import org.mifosplatform.portfolio.client.data.ClientAccountSummaryData;
import org.mifosplatform.portfolio.client.data.ClientData;
@@ -28,6 +25,9 @@ import org.mifosplatform.portfolio.client.domain.NoteEnumerations;
import org.mifosplatform.portfolio.client.exception.ClientIdentifierNotFoundException;
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
import org.mifosplatform.portfolio.client.exception.NoteNotFoundException;
+import org.mifosplatform.useradministration.data.AppUserData;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.service.AppUserReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
index f00590664..d7ca14c84 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/client/service/ClientWritePlatformServiceJpaRepositoryImpl.java
@@ -8,16 +8,16 @@ import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.codes.domain.CodeValue;
import org.mifosplatform.infrastructure.codes.domain.CodeValueRepository;
import org.mifosplatform.infrastructure.codes.exception.CodeValueNotFoundException;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.domain.Base64EncodedImage;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.core.service.FileUtils;
import org.mifosplatform.infrastructure.documentmanagement.exception.DocumentManagementException;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
import org.mifosplatform.portfolio.client.command.ClientCommand;
import org.mifosplatform.portfolio.client.command.ClientCommandValidator;
import org.mifosplatform.portfolio.client.command.ClientIdentifierCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/domain/Fund.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/domain/Fund.java
index ab2c188b4..a502e6ca4 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/domain/Fund.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/domain/Fund.java
@@ -7,8 +7,8 @@ import javax.persistence.UniqueConstraint;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.fund.command.FundCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_fund", uniqueConstraints = { @UniqueConstraint(columnNames = { "name" }, name = "fund_name_org"),
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/service/FundWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/service/FundWritePlatformServiceJpaRepositoryImpl.java
index 000268c47..a5d9b5661 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/service/FundWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/fund/service/FundWritePlatformServiceJpaRepositoryImpl.java
@@ -1,8 +1,8 @@
package org.mifosplatform.portfolio.fund.service;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.mifosplatform.portfolio.fund.command.FundCommand;
import org.mifosplatform.portfolio.fund.domain.Fund;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java
index 51277b360..6b78f14fe 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/api/GroupsApiResource.java
@@ -24,9 +24,9 @@ import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.mifosplatform.portfolio.client.data.ClientLookup;
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
import org.mifosplatform.portfolio.group.command.GroupCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/data/GroupData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/data/GroupData.java
index 3076bfac0..94457862c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/data/GroupData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/data/GroupData.java
@@ -2,7 +2,7 @@ package org.mifosplatform.portfolio.group.data;
import java.util.Collection;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
import org.mifosplatform.portfolio.client.data.ClientLookup;
/**
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/domain/Group.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/domain/Group.java
index 103c48557..262c1f30c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/domain/Group.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/domain/Group.java
@@ -13,10 +13,10 @@ import javax.persistence.Table;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.office.domain.Office;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.group.command.GroupCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_group")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupReadPlatformServiceImpl.java
index e6d2daa75..c3aabea0c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupReadPlatformServiceImpl.java
@@ -9,9 +9,9 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
import org.mifosplatform.portfolio.client.data.ClientLookup;
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
import org.mifosplatform.portfolio.client.service.LoanStatusMapper;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupWritePlatformServiceJpaRepositoryImpl.java
index 8c872c1ad..84ae0c1be 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/group/service/GroupWritePlatformServiceJpaRepositoryImpl.java
@@ -5,11 +5,11 @@ import java.util.Set;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.exception.InvalidOfficeException;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.exception.InvalidOfficeException;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.client.domain.ClientRepository;
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoansApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoansApiResource.java
index 34bb9181e..9f51b1906 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoansApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/api/LoansApiResource.java
@@ -21,8 +21,6 @@ import javax.ws.rs.core.UriInfo;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
@@ -30,14 +28,16 @@ import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerServi
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.exception.UnrecognizedQueryParamException;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommand;
-import org.mifosplatform.infrastructure.staff.data.BulkTransferLoanOfficerData;
-import org.mifosplatform.infrastructure.staff.data.StaffAccountSummaryCollectionData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
-import org.mifosplatform.infrastructure.staff.service.StaffReadPlatformService;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommand;
+import org.mifosplatform.organisation.staff.data.BulkTransferLoanOfficerData;
+import org.mifosplatform.organisation.staff.data.StaffAccountSummaryCollectionData;
+import org.mifosplatform.organisation.staff.data.StaffData;
+import org.mifosplatform.organisation.staff.service.StaffReadPlatformService;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.charge.service.ChargeReadPlatformService;
import org.mifosplatform.portfolio.fund.data.FundData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanAccountData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanAccountData.java
index 8dbce066a..9938d2da7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanAccountData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanAccountData.java
@@ -4,9 +4,9 @@ import java.math.BigDecimal;
import java.util.Collection;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
-import org.mifosplatform.infrastructure.staff.data.StaffData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.staff.data.StaffData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.fund.data.FundData;
import org.mifosplatform.portfolio.loanaccount.gaurantor.data.GuarantorData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanBasicDetailsData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanBasicDetailsData.java
index c38bd4b21..f86212bfe 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanBasicDetailsData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanBasicDetailsData.java
@@ -8,8 +8,8 @@ import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.Months;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanChargeData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanChargeData.java
index 581f02eea..ca71ae565 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanChargeData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanChargeData.java
@@ -4,8 +4,8 @@ import java.math.BigDecimal;
import java.util.Collection;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
/**
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionData.java
index 1ac5a71b1..5d8f74f6a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/data/LoanTransactionData.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.loanaccount.data;
import java.math.BigDecimal;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
* Immutable data object representing a loan transaction.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/AbstractLoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/AbstractLoanRepaymentScheduleTransactionProcessor.java
index 9c3b3f73d..3b6ff0197 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/AbstractLoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/AbstractLoanRepaymentScheduleTransactionProcessor.java
@@ -4,8 +4,8 @@ import java.util.List;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* Abstract implementation of {@link LoanRepaymentScheduleTransactionProcessor} which is more convenient for concrete implementations to extend.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/CreocoreLoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/CreocoreLoanRepaymentScheduleTransactionProcessor.java
index 5cd464d53..cd44cbf8c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/CreocoreLoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/CreocoreLoanRepaymentScheduleTransactionProcessor.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.loanaccount.domain;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* Creocore style {@link LoanRepaymentScheduleTransactionProcessor}.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/HeavensFamilyLoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/HeavensFamilyLoanRepaymentScheduleTransactionProcessor.java
index 61a6008fb..4fd091ea9 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/HeavensFamilyLoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/HeavensFamilyLoanRepaymentScheduleTransactionProcessor.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.loanaccount.domain;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* Heavensfamily style {@link LoanRepaymentScheduleTransactionProcessor}.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java
index 940620a82..5977db6ce 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/Loan.java
@@ -26,11 +26,10 @@ import org.apache.commons.lang.StringUtils;
import org.hibernate.annotations.LazyCollection;
import org.hibernate.annotations.LazyCollectionOption;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.staff.domain.Staff;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.organisation.staff.domain.Staff;
import org.mifosplatform.portfolio.charge.exception.LoanChargeCannotBeAddedException;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.fund.domain.Fund;
@@ -46,6 +45,7 @@ import org.mifosplatform.portfolio.loanproduct.domain.LoanProduct;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingStrategy;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_loan", uniqueConstraints = @UniqueConstraint(columnNames = { "external_id" }))
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanCharge.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanCharge.java
index 02784d896..e187176f1 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanCharge.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanCharge.java
@@ -16,8 +16,8 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.charge.domain.ChargeCalculationType;
import org.mifosplatform.portfolio.charge.domain.ChargeTimeType;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanOfficerAssignmentHistory.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanOfficerAssignmentHistory.java
index a4020b734..45f45c782 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanOfficerAssignmentHistory.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanOfficerAssignmentHistory.java
@@ -2,8 +2,8 @@ package org.mifosplatform.portfolio.loanaccount.domain;
import org.joda.time.LocalDate;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.staff.domain.Staff;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.staff.domain.Staff;
+import org.mifosplatform.useradministration.domain.AppUser;
import javax.persistence.Column;
import javax.persistence.Entity;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
index b728c62ae..3862b145f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleInstallment.java
@@ -12,10 +12,10 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_loan_repayment_schedule")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleTransactionProcessor.java
index 61edde43f..04e60cb2e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanRepaymentScheduleTransactionProcessor.java
@@ -4,7 +4,7 @@ import java.util.List;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
public interface LoanRepaymentScheduleTransactionProcessor {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanScheduleWrapper.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanScheduleWrapper.java
index 7dad8b6ae..c7b5c9072 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanScheduleWrapper.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanScheduleWrapper.java
@@ -4,8 +4,8 @@ import java.util.List;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* A wrapper around loan schedule related data exposing needed behaviour by loan.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java
index cd59ffef6..d657e843f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/LoanTransaction.java
@@ -14,14 +14,14 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.data.LoanTransactionData;
import org.mifosplatform.portfolio.loanproduct.service.LoanEnumerations;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.format.annotation.DateTimeFormat;
/**
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/MifosStyleLoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/MifosStyleLoanRepaymentScheduleTransactionProcessor.java
index a2207eddd..648afe7fa 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/MifosStyleLoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/MifosStyleLoanRepaymentScheduleTransactionProcessor.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.loanaccount.domain;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* Old Mifos style {@link LoanRepaymentScheduleTransactionProcessor}.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/RBILoanRepaymentScheduleTransactionProcessor.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/RBILoanRepaymentScheduleTransactionProcessor.java
index 280b30caf..59457b44b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/RBILoanRepaymentScheduleTransactionProcessor.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/RBILoanRepaymentScheduleTransactionProcessor.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.loanaccount.domain;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
/**
* Adhikar/RBI style {@link LoanRepaymentScheduleTransactionProcessor}.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/TransactionProccessingResult.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/TransactionProccessingResult.java
index 3395663e3..81370617e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/TransactionProccessingResult.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/domain/TransactionProccessingResult.java
@@ -1,6 +1,6 @@
package org.mifosplatform.portfolio.loanaccount.domain;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
public class TransactionProccessingResult {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/data/LoanScheduleData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/data/LoanScheduleData.java
index 251a6d8da..265b8b4a3 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/data/LoanScheduleData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/data/LoanScheduleData.java
@@ -3,7 +3,7 @@ package org.mifosplatform.portfolio.loanaccount.loanschedule.data;
import java.math.BigDecimal;
import java.util.Collection;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AmortizationLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AmortizationLoanScheduleGenerator.java
index 2d4ddfd04..0a50de0b2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AmortizationLoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/AmortizationLoanScheduleGenerator.java
@@ -5,7 +5,7 @@ import java.util.List;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/DecliningBalanceMethodLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/DecliningBalanceMethodLoanScheduleGenerator.java
index 51514fbdd..2ba15fbaa 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/DecliningBalanceMethodLoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/DecliningBalanceMethodLoanScheduleGenerator.java
@@ -5,7 +5,7 @@ import java.util.List;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualInstallmentsAmortizationLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualInstallmentsAmortizationLoanScheduleGenerator.java
index 3528c83c1..18a276150 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualInstallmentsAmortizationLoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualInstallmentsAmortizationLoanScheduleGenerator.java
@@ -8,10 +8,10 @@ import java.util.Set;
import org.joda.time.Days;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanSchedulePeriodData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualPrincipalAmortizationLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualPrincipalAmortizationLoanScheduleGenerator.java
index a83e333e5..f51e5d905 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualPrincipalAmortizationLoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/EqualPrincipalAmortizationLoanScheduleGenerator.java
@@ -8,10 +8,10 @@ import java.util.Set;
import org.joda.time.Days;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanSchedulePeriodData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/FlatMethodLoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/FlatMethodLoanScheduleGenerator.java
index e2b930657..e383db13c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/FlatMethodLoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/FlatMethodLoanScheduleGenerator.java
@@ -10,10 +10,10 @@ import java.util.Set;
import org.joda.time.Days;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanSchedulePeriodData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanScheduleGenerator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanScheduleGenerator.java
index 033bcb791..d66314aab 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanScheduleGenerator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/LoanScheduleGenerator.java
@@ -3,7 +3,7 @@ package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
import java.util.Set;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.data.LoanScheduleData;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PeriodicInterestRateCalculator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PeriodicInterestRateCalculator.java
index bdf0b06b5..55e257709 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PeriodicInterestRateCalculator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PeriodicInterestRateCalculator.java
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PmtCalculator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PmtCalculator.java
index 3845d138f..68dd59bd3 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PmtCalculator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/domain/PmtCalculator.java
@@ -2,8 +2,8 @@ package org.mifosplatform.portfolio.loanaccount.loanschedule.domain;
import java.math.BigDecimal;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
public class PmtCalculator {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/service/CalculationPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/service/CalculationPlatformServiceImpl.java
index 80356e10e..df4950f22 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/service/CalculationPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/loanschedule/service/CalculationPlatformServiceImpl.java
@@ -2,9 +2,9 @@ package org.mifosplatform.portfolio.loanaccount.loanschedule.service;
import java.util.Set;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrencyRepository;
import org.mifosplatform.portfolio.loanaccount.domain.LoanCharge;
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommandValidator;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAssembler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAssembler.java
index f069de5a9..a6fb7c51a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAssembler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanAssembler.java
@@ -5,11 +5,11 @@ import java.util.Arrays;
import java.util.List;
import java.util.Set;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.staff.domain.Staff;
-import org.mifosplatform.infrastructure.staff.domain.StaffRepository;
-import org.mifosplatform.infrastructure.staff.exception.StaffNotFoundException;
-import org.mifosplatform.infrastructure.staff.exception.StaffRoleException;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.staff.domain.Staff;
+import org.mifosplatform.organisation.staff.domain.StaffRepository;
+import org.mifosplatform.organisation.staff.exception.StaffNotFoundException;
+import org.mifosplatform.organisation.staff.exception.StaffRoleException;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.client.domain.ClientRepository;
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanProductRelatedDetailAssembler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanProductRelatedDetailAssembler.java
index 3596c3bd3..1c1b15a0e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanProductRelatedDetailAssembler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanProductRelatedDetailAssembler.java
@@ -2,7 +2,7 @@ package org.mifosplatform.portfolio.loanaccount.service;
import java.math.BigDecimal;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanaccount.loanschedule.command.CalculateLoanScheduleCommand;
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.AprCalculator;
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java
index 3ab542e31..60e5555dc 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformService.java
@@ -3,7 +3,7 @@ package org.mifosplatform.portfolio.loanaccount.service;
import java.math.BigDecimal;
import java.util.Collection;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.loanaccount.data.DisbursementData;
import org.mifosplatform.portfolio.loanaccount.data.LoanBasicDetailsData;
import org.mifosplatform.portfolio.loanaccount.data.LoanPermissionData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
index 13c4b95e2..d735c002b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanReadPlatformServiceImpl.java
@@ -7,16 +7,16 @@ import java.util.ArrayList;
import java.util.Collection;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.ApplicationCurrencyRepository;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
-import org.mifosplatform.infrastructure.configuration.exception.CurrencyNotFoundException;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrency;
+import org.mifosplatform.organisation.monetary.domain.ApplicationCurrencyRepository;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.organisation.monetary.exception.CurrencyNotFoundException;
import org.mifosplatform.portfolio.client.data.ClientData;
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
import org.mifosplatform.portfolio.group.data.GroupData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformService.java
index bfb2ac7ed..d87dcbf0a 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformService.java
@@ -1,7 +1,7 @@
package org.mifosplatform.portfolio.loanaccount.service;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommand;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommand;
import org.mifosplatform.portfolio.loanaccount.command.AdjustLoanTransactionCommand;
import org.mifosplatform.portfolio.loanaccount.command.LoanApplicationCommand;
import org.mifosplatform.portfolio.loanaccount.command.LoanChargeCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
index 68f67105c..6525193c7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanaccount/service/LoanWritePlatformServiceJpaRepositoryImpl.java
@@ -8,15 +8,14 @@ import java.util.Set;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommand;
-import org.mifosplatform.infrastructure.staff.command.BulkTransferLoanOfficerCommandValidator;
-import org.mifosplatform.infrastructure.staff.domain.Staff;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommand;
+import org.mifosplatform.organisation.staff.command.BulkTransferLoanOfficerCommandValidator;
+import org.mifosplatform.organisation.staff.domain.Staff;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.charge.domain.ChargeRepository;
import org.mifosplatform.portfolio.charge.exception.ChargeIsNotActiveException;
@@ -63,6 +62,7 @@ import org.mifosplatform.portfolio.loanproduct.domain.LoanTransactionProcessingS
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.loanproduct.exception.InvalidCurrencyException;
import org.mifosplatform.portfolio.loanproduct.exception.LoanProductNotFoundException;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/api/LoanProductsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/api/LoanProductsApiResource.java
index 952c9eba4..544493cbb 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/api/LoanProductsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/api/LoanProductsApiResource.java
@@ -17,8 +17,6 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
@@ -26,6 +24,8 @@ import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerServi
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.charge.service.ChargeReadPlatformService;
import org.mifosplatform.portfolio.fund.data.FundData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java
index 2509371af..a0ab7ed75 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/data/LoanProductData.java
@@ -6,8 +6,8 @@ import java.util.Collection;
import java.util.List;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.fund.data.FundData;
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java
index a992eec8c..a5876a49b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProduct.java
@@ -13,12 +13,12 @@ import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.fund.domain.Fund;
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
/**
* Loan products allow for categorisation of an organisations loans into
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java
index d96dfdaf5..08a7c61cb 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanProductRelatedDetail.java
@@ -8,8 +8,8 @@ import javax.persistence.Embedded;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
import org.mifosplatform.portfolio.loanproduct.command.LoanProductCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanTransactionProcessingStrategy.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanTransactionProcessingStrategy.java
index 43752cb46..75db3d47e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanTransactionProcessingStrategy.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/domain/LoanTransactionProcessingStrategy.java
@@ -5,8 +5,8 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
import org.mifosplatform.portfolio.loanproduct.data.TransactionProcessingStrategyData;
+import org.mifosplatform.useradministration.domain.AppUser;
/**
*
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java
index 9074c1ab7..10b7c9f93 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductReadPlatformServiceImpl.java
@@ -6,11 +6,11 @@ import java.sql.SQLException;
import java.util.Collection;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.charge.data.ChargeData;
import org.mifosplatform.portfolio.charge.service.ChargeReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.data.LoanProductData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductWritePlatformServiceJpaRepositoryImpl.java
index b336e384d..b4fecc061 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/loanproduct/service/LoanProductWritePlatformServiceJpaRepositoryImpl.java
@@ -4,10 +4,10 @@ import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.charge.domain.Charge;
import org.mifosplatform.portfolio.charge.domain.ChargeRepository;
import org.mifosplatform.portfolio.charge.exception.ChargeIsNotActiveException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/data/SavingAccountData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/data/SavingAccountData.java
index ab18e4d3b..85dcbc686 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/data/SavingAccountData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/data/SavingAccountData.java
@@ -3,8 +3,8 @@ package org.mifosplatform.portfolio.savingsaccount.data;
import java.math.BigDecimal;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
* Immutable data object reprsenting a savings account.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/ReccuringDepositInterestCalculator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/ReccuringDepositInterestCalculator.java
index 9ae7199c6..1784f2de6 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/ReccuringDepositInterestCalculator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/ReccuringDepositInterestCalculator.java
@@ -5,7 +5,7 @@ import java.math.MathContext;
import java.math.RoundingMode;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.savingsaccountproduct.domain.SavingFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.domain.SavingInterestCalculationMethod;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.TenureTypeEnum;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/SavingAccount.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/SavingAccount.java
index 25599572f..3e2ebba86 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/SavingAccount.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/domain/SavingAccount.java
@@ -14,10 +14,9 @@ import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.domain.SavingFrequencyType;
@@ -29,6 +28,7 @@ import org.mifosplatform.portfolio.savingsdepositaccount.domain.DepositAccountEv
import org.mifosplatform.portfolio.savingsdepositaccount.domain.DepositAccountStatus;
import org.mifosplatform.portfolio.savingsdepositaccount.domain.DepositLifecycleStateMachine;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.TenureTypeEnum;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_saving_account", uniqueConstraints = @UniqueConstraint(name = "saving_acc_external_id", columnNames = { "external_id" }))
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountAssembler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountAssembler.java
index 1a77ba55b..2691f1a32 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountAssembler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountAssembler.java
@@ -5,8 +5,8 @@ import java.util.Arrays;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.client.domain.ClientRepository;
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountReadPlatformServiceImpl.java
index cd74f16e1..ff294a036 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccount/service/SavingAccountReadPlatformServiceImpl.java
@@ -6,11 +6,11 @@ import java.sql.SQLException;
import java.util.Collection;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.savingsaccount.data.SavingAccountData;
import org.mifosplatform.portfolio.savingsaccountproduct.service.SavingProductEnumerations;
import org.mifosplatform.portfolio.savingsdepositaccount.service.DepositAccountEnumerations;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/api/SavingProductsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/api/SavingProductsApiResource.java
index 244a2bd7e..69bd87652 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/api/SavingProductsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/api/SavingProductsApiResource.java
@@ -19,14 +19,14 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
import org.mifosplatform.portfolio.savingsaccountproduct.command.SavingProductCommand;
import org.mifosplatform.portfolio.savingsaccountproduct.data.SavingProductData;
import org.mifosplatform.portfolio.savingsaccountproduct.domain.SavingFrequencyType;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/data/SavingProductData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/data/SavingProductData.java
index 23e8e6c41..9f2fc979c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/data/SavingProductData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/data/SavingProductData.java
@@ -6,8 +6,8 @@ import java.util.ArrayList;
import java.util.List;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
public class SavingProductData implements Serializable {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProduct.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProduct.java
index 51081b96b..dc859b2b9 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProduct.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProduct.java
@@ -8,12 +8,12 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.command.SavingProductCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.TenureTypeEnum;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_product_savings")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProductRelatedDetail.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProductRelatedDetail.java
index 21236bfb8..34c5f944d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProductRelatedDetail.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/domain/SavingProductRelatedDetail.java
@@ -6,7 +6,7 @@ import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.Embedded;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.command.SavingProductCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.TenureTypeEnum;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductReadPlatformServiceImpl.java
index 5895df132..2b61224e7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductReadPlatformServiceImpl.java
@@ -7,12 +7,12 @@ import java.util.Collection;
import java.util.List;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.loanproduct.exception.LoanProductNotFoundException;
import org.mifosplatform.portfolio.savingsaccountproduct.data.SavingProductData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductWritePlatformServiceJpaRepositoryImpl.java
index 81948eb65..e0860ec31 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsaccountproduct/service/SavingProductWritePlatformServiceJpaRepositoryImpl.java
@@ -1,8 +1,8 @@
package org.mifosplatform.portfolio.savingsaccountproduct.service;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.command.SavingProductCommand;
import org.mifosplatform.portfolio.savingsaccountproduct.domain.SavingFrequencyType;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/data/DepositAccountData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/data/DepositAccountData.java
index 4baec124e..93351dfe4 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/data/DepositAccountData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/data/DepositAccountData.java
@@ -10,8 +10,8 @@ import java.util.List;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.Months;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.savingsdepositproduct.data.DepositProductLookup;
/**
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccount.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccount.java
index ef60e0bf6..5ef6e4c28 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccount.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccount.java
@@ -25,15 +25,15 @@ import org.hibernate.annotations.LazyCollectionOption;
import org.joda.time.Days;
import org.joda.time.LocalDate;
import org.joda.time.Months;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsdepositaccount.command.DepositStateTransitionApprovalCommand;
import org.mifosplatform.portfolio.savingsdepositaccount.exception.InvalidDepositStateTransitionException;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.DepositProduct;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_deposit_account", uniqueConstraints = @UniqueConstraint(name="deposit_acc_external_id", columnNames = { "external_id" }))
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccountTransaction.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccountTransaction.java
index 663a29027..1cdd703f9 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccountTransaction.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/DepositAccountTransaction.java
@@ -16,8 +16,8 @@ import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.springframework.data.jpa.domain.AbstractPersistable;
@Entity
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/FixedTermDepositInterestCalculator.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/FixedTermDepositInterestCalculator.java
index a198965fe..47980b4b7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/FixedTermDepositInterestCalculator.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/domain/FixedTermDepositInterestCalculator.java
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountAssembler.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountAssembler.java
index bbee5aec2..f425bb7c2 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountAssembler.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountAssembler.java
@@ -5,7 +5,7 @@ import java.util.Arrays;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.client.domain.Client;
import org.mifosplatform.portfolio.client.domain.ClientRepository;
import org.mifosplatform.portfolio.client.exception.ClientNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountReadPlatformServiceImpl.java
index 46a5472b3..4bd0d7df1 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountReadPlatformServiceImpl.java
@@ -7,11 +7,11 @@ import java.util.Collection;
import org.joda.time.LocalDate;
import org.joda.time.Months;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.client.data.ClientData;
import org.mifosplatform.portfolio.client.service.ClientReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.exception.LoanProductNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountWritePlatformServiceJpaRepositoryImpl.java
index da3ba9344..804a3daef 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositaccount/service/DepositAccountWritePlatformServiceJpaRepositoryImpl.java
@@ -7,10 +7,10 @@ import java.util.List;
import org.apache.commons.lang.StringUtils;
import org.joda.time.LocalDate;
import org.joda.time.Months;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.client.domain.Note;
import org.mifosplatform.portfolio.client.domain.NoteRepository;
import org.mifosplatform.portfolio.loanaccount.command.UndoStateTransitionCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/api/DepositProductsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/api/DepositProductsApiResource.java
index d7faadf84..5907d0a9f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/api/DepositProductsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/api/DepositProductsApiResource.java
@@ -19,14 +19,14 @@ import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
-import org.mifosplatform.infrastructure.configuration.service.CurrencyReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionService;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.service.CurrencyReadPlatformService;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.service.SavingsDepositEnumerations;
import org.mifosplatform.portfolio.savingsdepositproduct.command.DepositProductCommand;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/data/DepositProductData.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/data/DepositProductData.java
index 9b7b8ce5e..a284f28b9 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/data/DepositProductData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/data/DepositProductData.java
@@ -5,8 +5,8 @@ import java.util.ArrayList;
import java.util.List;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
/**
* Immutable data object representing details of a deposit product.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/domain/DepositProduct.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/domain/DepositProduct.java
index 31e471834..fea8c915d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/domain/DepositProduct.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/domain/DepositProduct.java
@@ -9,12 +9,12 @@ import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsdepositproduct.command.DepositProductCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.exception.DepositProductValueOutsideRangeException;
+import org.mifosplatform.useradministration.domain.AppUser;
@Entity
@Table(name = "m_product_deposit", uniqueConstraints={
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductReadPlatformServiceImpl.java
index 22eb7f2e4..82142bd2b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductReadPlatformServiceImpl.java
@@ -7,11 +7,11 @@ import java.util.Collection;
import java.util.List;
import org.joda.time.DateTime;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
import org.mifosplatform.infrastructure.core.data.EnumOptionData;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsaccountproduct.service.SavingsDepositEnumerations;
import org.mifosplatform.portfolio.savingsdepositproduct.data.DepositProductData;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductWritePlatformServiceJpaRepositoryImpl.java
index db64f0962..57bf0562b 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/portfolio/savingsdepositproduct/service/DepositProductWritePlatformServiceJpaRepositoryImpl.java
@@ -1,9 +1,9 @@
package org.mifosplatform.portfolio.savingsdepositproduct.service;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanproduct.domain.PeriodFrequencyType;
import org.mifosplatform.portfolio.savingsdepositproduct.command.DepositProductCommand;
import org.mifosplatform.portfolio.savingsdepositproduct.domain.DepositProduct;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/AuthenticationApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/AuthenticationApiResource.java
similarity index 93%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/AuthenticationApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/AuthenticationApiResource.java
index d4a8549d2..d7e4c6683 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/AuthenticationApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/AuthenticationApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api;
+package org.mifosplatform.useradministration.api;
import java.util.ArrayList;
import java.util.Collection;
@@ -11,8 +11,8 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
-import org.mifosplatform.infrastructure.user.api.data.AuthenticatedUserData;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
+import org.mifosplatform.useradministration.data.AuthenticatedUserData;
+import org.mifosplatform.useradministration.domain.AppUser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/PermissionsApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/PermissionsApiResource.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/PermissionsApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/PermissionsApiResource.java
index 2eec2fb89..5df967492 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/PermissionsApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/PermissionsApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api;
+package org.mifosplatform.useradministration.api;
import java.util.Arrays;
import java.util.Collection;
@@ -21,9 +21,9 @@ import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerServi
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.service.PermissionReadPlatformService;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
+import org.mifosplatform.useradministration.service.PermissionReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/RolesApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/RolesApiResource.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/RolesApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/RolesApiResource.java
index 514e4e54f..3d2f652c9 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/RolesApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/RolesApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api;
+package org.mifosplatform.useradministration.api;
import java.util.ArrayList;
import java.util.Arrays;
@@ -17,7 +17,7 @@ import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.UriInfo;
-import org.mifosplatform.commands.api.data.CommandSourceData;
+import org.mifosplatform.commands.data.CommandSourceData;
import org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformService;
import org.mifosplatform.commands.service.PortfolioCommandsReadPlatformService;
import org.mifosplatform.infrastructure.core.api.ApiParameterHelper;
@@ -27,13 +27,13 @@ import org.mifosplatform.infrastructure.core.api.PortfolioCommandDeserializerSer
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.api.data.RolePermissionsData;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.service.PermissionReadPlatformService;
-import org.mifosplatform.infrastructure.user.service.RoleReadPlatformService;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
+import org.mifosplatform.useradministration.data.RoleData;
+import org.mifosplatform.useradministration.data.RolePermissionsData;
+import org.mifosplatform.useradministration.service.PermissionReadPlatformService;
+import org.mifosplatform.useradministration.service.RoleReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/UsersApiResource.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/UsersApiResource.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/UsersApiResource.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/UsersApiResource.java
index bbb4bda07..5a623322e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/UsersApiResource.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/api/UsersApiResource.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api;
+package org.mifosplatform.useradministration.api;
import java.util.ArrayList;
import java.util.Arrays;
@@ -24,12 +24,12 @@ import org.mifosplatform.infrastructure.core.api.PortfolioApiDataConversionServi
import org.mifosplatform.infrastructure.core.api.PortfolioApiJsonSerializerService;
import org.mifosplatform.infrastructure.core.api.PortfolioCommandSerializerService;
import org.mifosplatform.infrastructure.core.data.EntityIdentifier;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
-import org.mifosplatform.infrastructure.user.service.AppUserReadPlatformService;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
+import org.mifosplatform.useradministration.command.UserCommand;
+import org.mifosplatform.useradministration.data.AppUserData;
+import org.mifosplatform.useradministration.service.AppUserReadPlatformService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/PermissionsCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/PermissionsCommand.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/PermissionsCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/PermissionsCommand.java
index 7320e2197..4b4af8b45 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/PermissionsCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/PermissionsCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.command;
+package org.mifosplatform.useradministration.command;
import java.util.Map;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RoleCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RoleCommand.java
similarity index 98%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RoleCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RoleCommand.java
index c456e1fc9..85a7a722f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RoleCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RoleCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.command;
+package org.mifosplatform.useradministration.command;
import java.util.ArrayList;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RolePermissionCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RolePermissionCommand.java
similarity index 93%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RolePermissionCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RolePermissionCommand.java
index 2f3826d12..a33401a46 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/RolePermissionCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/RolePermissionCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.command;
+package org.mifosplatform.useradministration.command;
import java.util.Map;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/UserCommand.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/UserCommand.java
similarity index 99%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/UserCommand.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/UserCommand.java
index 850603324..98583878d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/command/UserCommand.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/command/UserCommand.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.command;
+package org.mifosplatform.useradministration.command;
import java.util.ArrayList;
import java.util.List;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AppUserData.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AppUserData.java
similarity index 95%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AppUserData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AppUserData.java
index 32ae6ef6e..eef0aae40 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AppUserData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AppUserData.java
@@ -1,9 +1,9 @@
-package org.mifosplatform.infrastructure.user.api.data;
+package org.mifosplatform.useradministration.data;
import java.util.ArrayList;
import java.util.List;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
/**
* Immutable data object for application user data.
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AuthenticatedUserData.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AuthenticatedUserData.java
similarity index 95%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AuthenticatedUserData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AuthenticatedUserData.java
index e9916ddbe..8813528bb 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/AuthenticatedUserData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/AuthenticatedUserData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api.data;
+package org.mifosplatform.useradministration.data;
import java.util.Collection;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/PermissionUsageData.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/PermissionUsageData.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/PermissionUsageData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/PermissionUsageData.java
index a0e9d74fb..c0f0a9694 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/PermissionUsageData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/PermissionUsageData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api.data;
+package org.mifosplatform.useradministration.data;
/**
* Immutable representation of permissions
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RoleData.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RoleData.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RoleData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RoleData.java
index 63f3d4119..ad2c31707 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RoleData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RoleData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api.data;
+package org.mifosplatform.useradministration.data;
import java.util.Collection;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RolePermissionsData.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RolePermissionsData.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RolePermissionsData.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RolePermissionsData.java
index 5560d0fc8..efc059517 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/api/data/RolePermissionsData.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/data/RolePermissionsData.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.api.data;
+package org.mifosplatform.useradministration.data;
import java.util.Collection;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUser.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUser.java
similarity index 98%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUser.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUser.java
index 44305399a..40d7e2cdd 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUser.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUser.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import java.util.ArrayList;
import java.util.Collection;
@@ -17,10 +17,10 @@ import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.office.domain.Office;
import org.mifosplatform.infrastructure.security.domain.PlatformUser;
import org.mifosplatform.infrastructure.security.exception.NoAuthorizationException;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.useradministration.command.UserCommand;
import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUserRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUserRepository.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUserRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUserRepository.java
index a832290c0..2929894a0 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/AppUserRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/AppUserRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import org.mifosplatform.infrastructure.security.domain.PlatformUserRepository;
import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/JpaUserDomainService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/JpaUserDomainService.java
similarity index 94%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/JpaUserDomainService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/JpaUserDomainService.java
index 3fa984341..83b2f0e2d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/JpaUserDomainService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/JpaUserDomainService.java
@@ -1,10 +1,10 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.domain.EmailDetail;
import org.mifosplatform.infrastructure.core.service.PlatformEmailService;
import org.mifosplatform.infrastructure.security.service.PlatformPasswordEncoder;
import org.mifosplatform.infrastructure.security.service.RandomPasswordGenerator;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PasswordMustBeDifferentException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PasswordMustBeDifferentException.java
similarity index 65%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PasswordMustBeDifferentException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PasswordMustBeDifferentException.java
index 1ee390f10..8631f79e3 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PasswordMustBeDifferentException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PasswordMustBeDifferentException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
public class PasswordMustBeDifferentException extends RuntimeException {
// basic runtime exception
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Permission.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Permission.java
similarity index 96%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Permission.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Permission.java
index e60b7d876..e5fe31ff5 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Permission.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Permission.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import javax.persistence.Column;
import javax.persistence.Entity;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PermissionRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PermissionRepository.java
similarity index 77%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PermissionRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PermissionRepository.java
index 20dc02290..ffd93c8c0 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/PermissionRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/PermissionRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import org.springframework.data.jpa.repository.JpaRepository;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Role.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Role.java
similarity index 92%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Role.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Role.java
index 74dd9e993..7ae1af33e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/Role.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/Role.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import java.util.Collection;
import java.util.HashSet;
@@ -13,8 +13,8 @@ import javax.persistence.ManyToMany;
import javax.persistence.Table;
import org.mifosplatform.infrastructure.core.domain.AbstractAuditableCustom;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.data.RoleData;
@Entity
@Table(name = "m_role")
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/RoleRepository.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/RoleRepository.java
similarity index 83%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/RoleRepository.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/RoleRepository.java
index 2902fdcb8..1dcd42a8d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/RoleRepository.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/RoleRepository.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UserDomainService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UserDomainService.java
similarity index 65%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UserDomainService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UserDomainService.java
index 00d013a31..fd455cd48 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UserDomainService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UserDomainService.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
public interface UserDomainService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UsernameMustBeDifferentException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UsernameMustBeDifferentException.java
similarity index 65%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UsernameMustBeDifferentException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UsernameMustBeDifferentException.java
index 95867e204..08ba12aab 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/domain/UsernameMustBeDifferentException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/domain/UsernameMustBeDifferentException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.domain;
+package org.mifosplatform.useradministration.domain;
public class UsernameMustBeDifferentException extends RuntimeException {
// basic runtime exception
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionCantBeMakerCheckerableException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionCantBeMakerCheckerableException.java
similarity index 90%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionCantBeMakerCheckerableException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionCantBeMakerCheckerableException.java
index 7c9ee005d..c23cfc14c 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionCantBeMakerCheckerableException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionCantBeMakerCheckerableException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionNotFoundException.java
similarity index 88%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionNotFoundException.java
index 29ea5ef47..9f7af2e3d 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/PermissionNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/PermissionNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/RoleNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/RoleNotFoundException.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/RoleNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/RoleNotFoundException.java
index 8757b93ac..08f65b628 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/RoleNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/RoleNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UnAuthenticatedUserException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UnAuthenticatedUserException.java
similarity index 84%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UnAuthenticatedUserException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UnAuthenticatedUserException.java
index cc76413f9..fe7d50573 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UnAuthenticatedUserException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UnAuthenticatedUserException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
import org.springframework.security.core.context.SecurityContext;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UserNotFoundException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UserNotFoundException.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UserNotFoundException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UserNotFoundException.java
index 2c28f78c8..2cbecda88 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UserNotFoundException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UserNotFoundException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
import org.mifosplatform.infrastructure.core.exception.AbstractPlatformResourceNotFoundException;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UsernameAlreadyExistsException.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UsernameAlreadyExistsException.java
similarity index 73%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UsernameAlreadyExistsException.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UsernameAlreadyExistsException.java
index 0e7a0e0b7..60dbb941e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/exception/UsernameAlreadyExistsException.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/exception/UsernameAlreadyExistsException.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.exception;
+package org.mifosplatform.useradministration.exception;
public class UsernameAlreadyExistsException extends RuntimeException {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformService.java
similarity index 63%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformService.java
index a0435d659..4c84e1fce 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformService.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.Collection;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
+import org.mifosplatform.useradministration.data.AppUserData;
public interface AppUserReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformServiceImpl.java
similarity index 88%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformServiceImpl.java
index eb63572ca..3899cdc7f 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserReadPlatformServiceImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -9,16 +9,16 @@ import java.util.Set;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
-import org.mifosplatform.infrastructure.office.data.OfficeData;
-import org.mifosplatform.infrastructure.office.data.OfficeLookup;
-import org.mifosplatform.infrastructure.office.service.OfficeReadPlatformService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.AppUserData;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.domain.AppUserRepository;
-import org.mifosplatform.infrastructure.user.domain.Role;
-import org.mifosplatform.infrastructure.user.exception.UserNotFoundException;
+import org.mifosplatform.organisation.office.data.OfficeData;
+import org.mifosplatform.organisation.office.data.OfficeLookup;
+import org.mifosplatform.organisation.office.service.OfficeReadPlatformService;
+import org.mifosplatform.useradministration.data.AppUserData;
+import org.mifosplatform.useradministration.data.RoleData;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUserRepository;
+import org.mifosplatform.useradministration.domain.Role;
+import org.mifosplatform.useradministration.exception.UserNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformService.java
similarity index 76%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformService.java
index e04e3a82c..e2e59e1cf 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformService.java
@@ -1,6 +1,6 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
+import org.mifosplatform.useradministration.command.UserCommand;
public interface AppUserWritePlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
similarity index 91%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
index ee2437897..14fa8179e 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/AppUserWritePlatformServiceJpaRepositoryImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.ArrayList;
import java.util.HashSet;
@@ -6,27 +6,27 @@ import java.util.List;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.core.data.ApiParameterError;
import org.mifosplatform.infrastructure.core.exception.PlatformApiDataValidationException;
import org.mifosplatform.infrastructure.core.exception.PlatformDataIntegrityException;
import org.mifosplatform.infrastructure.core.service.PlatformEmailSendException;
-import org.mifosplatform.infrastructure.office.domain.Office;
-import org.mifosplatform.infrastructure.office.domain.OfficeRepository;
-import org.mifosplatform.infrastructure.office.exception.OfficeNotFoundException;
import org.mifosplatform.infrastructure.security.domain.BasicPasswordEncodablePlatformUser;
import org.mifosplatform.infrastructure.security.domain.PlatformUser;
import org.mifosplatform.infrastructure.security.service.PlatformPasswordEncoder;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.UserCommand;
-import org.mifosplatform.infrastructure.user.domain.AppUser;
-import org.mifosplatform.infrastructure.user.domain.AppUserRepository;
-import org.mifosplatform.infrastructure.user.domain.Role;
-import org.mifosplatform.infrastructure.user.domain.RoleRepository;
-import org.mifosplatform.infrastructure.user.domain.UserDomainService;
-import org.mifosplatform.infrastructure.user.exception.RoleNotFoundException;
-import org.mifosplatform.infrastructure.user.exception.UserNotFoundException;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
+import org.mifosplatform.organisation.office.domain.Office;
+import org.mifosplatform.organisation.office.domain.OfficeRepository;
+import org.mifosplatform.organisation.office.exception.OfficeNotFoundException;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.command.UserCommand;
+import org.mifosplatform.useradministration.domain.AppUser;
+import org.mifosplatform.useradministration.domain.AppUserRepository;
+import org.mifosplatform.useradministration.domain.Role;
+import org.mifosplatform.useradministration.domain.RoleRepository;
+import org.mifosplatform.useradministration.domain.UserDomainService;
+import org.mifosplatform.useradministration.exception.RoleNotFoundException;
+import org.mifosplatform.useradministration.exception.UserNotFoundException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformService.java
similarity index 70%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformService.java
index 27f0b3bfc..a5ac8ac12 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformService.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.Collection;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
public interface PermissionReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformServiceImpl.java
similarity index 97%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformServiceImpl.java
index 13823a062..a70163981 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionReadPlatformServiceImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -6,7 +6,7 @@ import java.util.Collection;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.PermissionUsageData;
+import org.mifosplatform.useradministration.data.PermissionUsageData;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformService.java
new file mode 100644
index 000000000..2a15c5789
--- /dev/null
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformService.java
@@ -0,0 +1,8 @@
+package org.mifosplatform.useradministration.service;
+
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+
+public interface PermissionWritePlatformService {
+
+ void updateMakerCheckerPermissions(PermissionsCommand command);
+}
\ No newline at end of file
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
similarity index 86%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
index 5f824a276..07b9c7187 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/PermissionWritePlatformServiceJpaRepositoryImpl.java
@@ -1,13 +1,13 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.Collection;
import java.util.Map;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.PermissionsCommand;
-import org.mifosplatform.infrastructure.user.domain.Permission;
-import org.mifosplatform.infrastructure.user.domain.PermissionRepository;
-import org.mifosplatform.infrastructure.user.exception.PermissionNotFoundException;
+import org.mifosplatform.useradministration.command.PermissionsCommand;
+import org.mifosplatform.useradministration.domain.Permission;
+import org.mifosplatform.useradministration.domain.PermissionRepository;
+import org.mifosplatform.useradministration.exception.PermissionNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformService.java
similarity index 57%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformService.java
index 4b7a2b54d..17ed61dcc 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformService.java
@@ -1,8 +1,8 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.Collection;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
+import org.mifosplatform.useradministration.data.RoleData;
public interface RoleReadPlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformServiceImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformServiceImpl.java
similarity index 87%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformServiceImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformServiceImpl.java
index fd84c0e93..4095483e7 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleReadPlatformServiceImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleReadPlatformServiceImpl.java
@@ -1,4 +1,4 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.sql.ResultSet;
import java.sql.SQLException;
@@ -7,10 +7,10 @@ import java.util.Collection;
import org.mifosplatform.infrastructure.core.domain.JdbcSupport;
import org.mifosplatform.infrastructure.core.service.TenantAwareRoutingDataSource;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.api.data.RoleData;
-import org.mifosplatform.infrastructure.user.domain.Role;
-import org.mifosplatform.infrastructure.user.domain.RoleRepository;
-import org.mifosplatform.infrastructure.user.exception.RoleNotFoundException;
+import org.mifosplatform.useradministration.data.RoleData;
+import org.mifosplatform.useradministration.domain.Role;
+import org.mifosplatform.useradministration.domain.RoleRepository;
+import org.mifosplatform.useradministration.exception.RoleNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformService.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformService.java
similarity index 50%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformService.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformService.java
index f9b2b33b1..4b1926e08 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformService.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformService.java
@@ -1,7 +1,7 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
public interface RoleWritePlatformService {
diff --git a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
similarity index 85%
rename from mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java
rename to mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
index 7396ab419..60f1088be 100644
--- a/mifosng-provider/src/main/java/org/mifosplatform/infrastructure/user/service/RoleWritePlatformServiceJpaRepositoryImpl.java
+++ b/mifosng-provider/src/main/java/org/mifosplatform/useradministration/service/RoleWritePlatformServiceJpaRepositoryImpl.java
@@ -1,19 +1,19 @@
-package org.mifosplatform.infrastructure.user.service;
+package org.mifosplatform.useradministration.service;
import java.util.Collection;
import java.util.Map;
-import org.mifosplatform.infrastructure.configuration.service.ConfigurationDomainService;
import org.mifosplatform.infrastructure.security.service.PlatformSecurityContext;
-import org.mifosplatform.infrastructure.user.command.RoleCommand;
-import org.mifosplatform.infrastructure.user.command.RolePermissionCommand;
-import org.mifosplatform.infrastructure.user.domain.Permission;
-import org.mifosplatform.infrastructure.user.domain.PermissionRepository;
-import org.mifosplatform.infrastructure.user.domain.Role;
-import org.mifosplatform.infrastructure.user.domain.RoleRepository;
-import org.mifosplatform.infrastructure.user.exception.PermissionNotFoundException;
-import org.mifosplatform.infrastructure.user.exception.RoleNotFoundException;
+import org.mifosplatform.organisation.monetary.service.ConfigurationDomainService;
import org.mifosplatform.portfolio.client.service.RollbackTransactionAsCommandIsNotApprovedByCheckerException;
+import org.mifosplatform.useradministration.command.RoleCommand;
+import org.mifosplatform.useradministration.command.RolePermissionCommand;
+import org.mifosplatform.useradministration.domain.Permission;
+import org.mifosplatform.useradministration.domain.PermissionRepository;
+import org.mifosplatform.useradministration.domain.Role;
+import org.mifosplatform.useradministration.domain.RoleRepository;
+import org.mifosplatform.useradministration.exception.PermissionNotFoundException;
+import org.mifosplatform.useradministration.exception.RoleNotFoundException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
diff --git a/mifosng-provider/src/main/resources/META-INF/spring/appContext.xml b/mifosng-provider/src/main/resources/META-INF/spring/appContext.xml
index 5f2effc96..5f088e0f4 100644
--- a/mifosng-provider/src/main/resources/META-INF/spring/appContext.xml
+++ b/mifosng-provider/src/main/resources/META-INF/spring/appContext.xml
@@ -15,20 +15,30 @@
-
+
-
-
+
+
+
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/AdhikarLoanRepaymentScheduleTransactionProcessorTest.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/AdhikarLoanRepaymentScheduleTransactionProcessorTest.java
index 752d65d62..c266c8a27 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/AdhikarLoanRepaymentScheduleTransactionProcessorTest.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/AdhikarLoanRepaymentScheduleTransactionProcessorTest.java
@@ -9,8 +9,8 @@ import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
import org.mifosplatform.portfolio.loanaccount.domain.RBILoanRepaymentScheduleTransactionProcessor;
import org.mockito.runners.MockitoJUnitRunner;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/DecliningBalanceMethodLoanScheduleGeneratorTest.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/DecliningBalanceMethodLoanScheduleGeneratorTest.java
index 205e358b1..72820ce8d 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/DecliningBalanceMethodLoanScheduleGeneratorTest.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/DecliningBalanceMethodLoanScheduleGeneratorTest.java
@@ -6,7 +6,7 @@ package org.mifosplatform.portfolio.loanaccount;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.DecliningBalanceMethodLoanScheduleGenerator;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
import org.mockito.runners.MockitoJUnitRunner;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/FlatMethodLoanScheduleGeneratorTest.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/FlatMethodLoanScheduleGeneratorTest.java
index 88ca5cf11..b217e14d9 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/FlatMethodLoanScheduleGeneratorTest.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/FlatMethodLoanScheduleGeneratorTest.java
@@ -6,7 +6,7 @@ package org.mifosplatform.portfolio.loanaccount;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mifosplatform.infrastructure.configuration.data.CurrencyData;
+import org.mifosplatform.organisation.monetary.data.CurrencyData;
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.FlatMethodLoanScheduleGenerator;
import org.mifosplatform.portfolio.loanproduct.domain.LoanProductRelatedDetail;
import org.mockito.runners.MockitoJUnitRunner;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest.java
index e3aba25e5..36470acd1 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/HeavensFamilyLoanRepaymentScheduleTransactionProcessorTest.java
@@ -9,8 +9,8 @@ import org.joda.time.LocalDate;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.HeavensFamilyLoanRepaymentScheduleTransactionProcessor;
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
import org.mockito.runners.MockitoJUnitRunner;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanProductRelatedDetailTestHelper.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanProductRelatedDetailTestHelper.java
index 23e072e5d..78c927389 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanProductRelatedDetailTestHelper.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanProductRelatedDetailTestHelper.java
@@ -2,7 +2,7 @@ package org.mifosplatform.portfolio.loanaccount;
import java.math.BigDecimal;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanaccount.loanschedule.domain.LoanScheduleGenerator;
import org.mifosplatform.portfolio.loanproduct.domain.AmortizationMethod;
import org.mifosplatform.portfolio.loanproduct.domain.InterestCalculationPeriodMethod;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanRepaymentScheduleInstallmentBuilder.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanRepaymentScheduleInstallmentBuilder.java
index c04e67967..187ba37da 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanRepaymentScheduleInstallmentBuilder.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanRepaymentScheduleInstallmentBuilder.java
@@ -1,8 +1,8 @@
package org.mifosplatform.portfolio.loanaccount;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.Loan;
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanScheduleTestDataHelper.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanScheduleTestDataHelper.java
index 29817c6bc..15d2bae4d 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanScheduleTestDataHelper.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanScheduleTestDataHelper.java
@@ -4,7 +4,7 @@ import java.util.Arrays;
import java.util.List;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
import org.mifosplatform.portfolio.loanaccount.domain.LoanRepaymentScheduleInstallment;
/**
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanTransactionBuilder.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanTransactionBuilder.java
index 830aee56d..e86e05a17 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanTransactionBuilder.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/LoanTransactionBuilder.java
@@ -1,7 +1,7 @@
package org.mifosplatform.portfolio.loanaccount;
import org.joda.time.LocalDate;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.Money;
import org.mifosplatform.portfolio.loanaccount.domain.LoanTransaction;
public class LoanTransactionBuilder {
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MonetaryCurrencyBuilder.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MonetaryCurrencyBuilder.java
index 96cecbc82..52897458f 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MonetaryCurrencyBuilder.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MonetaryCurrencyBuilder.java
@@ -1,6 +1,6 @@
package org.mifosplatform.portfolio.loanaccount;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
public class MonetaryCurrencyBuilder {
diff --git a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MoneyBuilder.java b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MoneyBuilder.java
index addb01eba..c05798033 100644
--- a/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MoneyBuilder.java
+++ b/mifosng-provider/src/test/java/org/mifosplatform/portfolio/loanaccount/MoneyBuilder.java
@@ -2,8 +2,8 @@ package org.mifosplatform.portfolio.loanaccount;
import java.math.BigDecimal;
-import org.mifosplatform.infrastructure.configuration.domain.MonetaryCurrency;
-import org.mifosplatform.infrastructure.configuration.domain.Money;
+import org.mifosplatform.organisation.monetary.domain.MonetaryCurrency;
+import org.mifosplatform.organisation.monetary.domain.Money;
public class MoneyBuilder {