You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fineract.apache.org by an...@apache.org on 2019/11/23 10:12:46 UTC

[fineract-cn-docker-compose] 32/48: improve Postman scripts

This is an automated email from the ASF dual-hosted git repository.

angeh pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/fineract-cn-docker-compose.git

commit bedf03bd028f6abdbaba0495852e7992dbec8217
Author: Juhan Aasaru <Ju...@nortal.com>
AuthorDate: Fri Oct 18 16:49:59 2019 +0300

    improve Postman scripts
---
 README.md                                          |   14 +-
 docker-compose.yml                                 |  310 +-
 env_variables                                      |   16 +-
 external_tools/docker-compose.yml                  |    6 +-
 ...act-Cn-Initial-Requests.postman_collection.json | 3079 +++++++++++++-------
 ...tial-Setup-Environment.postman_environment.json |   80 +-
 6 files changed, 2440 insertions(+), 1065 deletions(-)

diff --git a/README.md b/README.md
index 366220f..d54c1cc 100644
--- a/README.md
+++ b/README.md
@@ -66,14 +66,19 @@ Running all services together consumes a lot of memory. So you can start a subse
 
 For example you could start the following additional micro services and an fims-web-app:
 ```
-docker-compose up rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms office-ms fims-web-app
+docker-compose up rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms office-ms teller-ms fims-web-app
 ```
-
 If you want you can add other micro services (listed in docker-compose.yml) to the list.
 
+Wait for all the started services (except provisioner) to appear at [Eureka console](http://eureka:8761/).
 
 # Provision
 
+## Description of provisioning logic
+
+Provisioning logic is described briefly [here](https://cwiki.apache.org/confluence/display/FINERACT/Fineract+CN+demo-server).
+Instead demo_server we have Postman scripts and we use 'playground' as tenant name we want to provision.
+
 ## Provisioning the Micro Services Using Postman
 
 We provide a postman-request-collection as well as a postman-environment that defines variables that are used to hold values received in responses.
@@ -115,8 +120,9 @@ Check the container for details of failures (if any):
 
 docker-compose logs provisioner-ms
 
+2. Check that apps have registered with eureka: http://localhost:8761/
 
-2. Reach out to [mailing list](https://lists.apache.org/list.html?dev@fineract.apache.org) with the relevant details
+3. Reach out to [mailing list](https://lists.apache.org/list.html?dev@fineract.apache.org) with the relevant details
 
 
 # Sign-in using fims-web-app
@@ -174,7 +180,7 @@ docker-compose up
 ```
 
 ## Note:
-**These scripts are ideal for a docker swarm deployment environment. If you are to deploy Fineract CN using Docker swarm you will have remove the network configuration from the docker-compose script and implement a load balancer (using docker swarm) that reflects the network configuratioin you just removed from the compose file.**
+**These scripts are ideal for a docker swarm deployment environment. If you are to deploy Fineract CN using Docker swarm you will have remove the network configuration from the docker-compose script and implement a load balancer (using docker swarm) that reflects the network configuration you just removed from the compose file.**
 
 ### Automating Postman scripts
 You can use [Newman](https://learning.getpostman.com/docs/postman/collection_runs/command_line_integration_with_newman/) to run Postman scripts from command line.
diff --git a/docker-compose.yml b/docker-compose.yml
index cb72194..e5492f8 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -6,18 +6,35 @@ services:
       - "2020:2020"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
       cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
-      custom.postgresql.host: ${POSTGRESQL_HOST}
-      custom.postgresql.user: ${POSTGRESQL_USER}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: provisioner-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      postgresql.database: seshat
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2020
+      spring.application.name: provisioner-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.initialclientid: ${SYSTEM_INITIAL_CLIENT_ID}
       system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
@@ -31,6 +48,9 @@ services:
         condition: any
         delay: 10s
         max_attempts: 3
+    volumes:
+      - ./node_config:/etc/configs/:ro
+      - ./node_logs:/tmp/logs
     networks:
       external_tools_default:
       fineract:
@@ -41,22 +61,32 @@ services:
     ports:
       - "2021:2021"
     environment:
-      bonecp.partitionCount: 1
-      bonecp.maxConnectionsPerPartition: 4
-      bonecp.minConnectionsPerPartition: 1
-      bonecp.acquireIncrement: 1
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
       cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
-      identity.token.refresh.secureCookie: "false" # demoserver
+      eureka.instance.hostname: identity-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      identity.token.refresh.secureCookie: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2021
+      spring.application.name: identity-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -66,28 +96,54 @@ services:
         condition: any
         delay: 10s
         max_attempts: 3
+    volumes:
+      - ./node_config:/etc/configs/:ro
+      - ./node_logs:/tmp/logs
     networks:
       external_tools_default:
       fineract:
         ipv4_address: ${IDENTITY_IP}
 
-  # TODO this image has error: https://issues.apache.org/jira/browse/FINCN-177
   rhythm-ms:
     image: apache/fineract-cn-rhythm:latest
     ports:
       - "2022:2022"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: password
+      cassandra.cluster.user: cassandra
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: rhythm-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      postgresql.database: seshat
       postgresql.host: ${POSTGRESQL_HOST}
+      postgresql.password: postgres
+      postgresql.port: 5432
+      postgresql.user: postgres
       rhythm.beatCheckRate: 600000
       rhythm.user: ${SCHEDULER_USER_NAME}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2022
+      spring.application.name: rhythm-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -95,6 +151,9 @@ services:
       replicas: 1
       restart_policy:
         condition: on-failure
+    volumes:
+      - ./node_config:/etc/configs/:ro
+      - ./node_logs:/tmp/logs
     networks:
       external_tools_default:
       fineract:
@@ -106,15 +165,37 @@ services:
       - "2023:2023"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: password
+      cassandra.cluster.user: cassandra
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: office-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      postgresql.database: seshat
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2023
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: office-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
+      system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
+      system.privateKey.modulus: ${PRIVATE_KEY_MODULUS}
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -131,16 +212,34 @@ services:
       - "2024:2024"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: password
+      cassandra.cluster.user: cassandra
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: customer-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2024
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
-      system.initialclientid: ${SYSTEM_INITIAL_CLIENT_ID}
+      spring.application.name: customer-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -155,15 +254,38 @@ services:
     image: apache/fineract-cn-accounting:latest
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: password
+      cassandra.cluster.user: cassandra
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: accounting-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      postgresql.database: seshat
       postgresql.host: ${POSTGRESQL_HOST}
+      postgresql.password: postgres
+      postgresql.port: 5432
+      postgresql.user: postgres
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2025
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: accounting-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -178,17 +300,39 @@ services:
       - "2026:2026"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      bonecp.acquireIncrement: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.partitionCount: 1
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: password
+      cassandra.cluster.user: cassandra
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
-      custom.postgresql.host: ${POSTGRESQL_HOST}
-      custom.postgresql.user: ${POSTGRESQL_USER}
+      eureka.instance.hostname: portfolio-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
+      portfolio.bookLateFeesAndInterestAsUser: imhotep
+      postgresql.database: seshat
       postgresql.host: ${POSTGRESQL_HOST}
+      postgresql.password: postgres
+      postgresql.port: 5432
+      postgresql.user: postgres
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2026
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: portfolio-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -203,15 +347,30 @@ services:
       - "2027:2027"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
+      cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: deposit-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2027
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: deposit-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -219,6 +378,8 @@ services:
       external_tools_default:
       fineract:
         ipv4_address: ${DEPOSIT_ACCOUNT_MANAGEMENT_IP}
+        aliases:
+          - deposit-account-management-ms
 
   teller-ms:
     image: apache/fineract-cn-teller:latest
@@ -226,15 +387,30 @@ services:
       - "2028:2028"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
+      cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
+      cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      cassandra.keyspace: ${CASSANDRA_KEYSPACE}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: teller-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2028
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: teller-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -249,15 +425,27 @@ services:
       - "2029:2029"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: reporting-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2029
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: reporting-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -272,15 +460,27 @@ services:
       - "2030:2030"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: cheques-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2030
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: cheques-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -295,15 +495,27 @@ services:
       - "2031:2031"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: payroll-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2031
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: payroll-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -318,15 +530,27 @@ services:
       - "2032:2032"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: group-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2032
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: group-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
@@ -336,20 +560,32 @@ services:
         ipv4_address: ${GROUP_IP}
 
   notifications-ms:
-    image: apache/fineract-cn-notifications:latest
+    image: apache/fineract-cn-notifications:latestC
     ports:
       - "2033:2033"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.cl.delete: ONE
+      cassandra.cl.read: ONE
+      cassandra.cl.write: ONE
       cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
+      eureka.client.fetchRegistry: "true"
+      eureka.client.initialInstanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS}
+      eureka.client.instanceInfoReplicationIntervalSeconds: ${EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
-      eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      eureka.instance.hostname: notifications-ms
+      eureka.instance.leaseRenewalIntervalInSeconds: ${EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS}
+      eureka.registration.enabled: "true"
+      feign.hystrix.enabled: "false"
       postgresql.host: ${POSTGRESQL_HOST}
+      ribbon.eureka.enabled: "true"
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
       server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
       server.port: 2033
-      spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
+      spring.application.name: notifications-v1
+      spring.cloud.config.enabled: "false"
+      spring.cloud.discovery.enabled: "true"
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
diff --git a/env_variables b/env_variables
index b17564f..1ab0b3e 100644
--- a/env_variables
+++ b/env_variables
@@ -1,20 +1,20 @@
 ACTIVEMQ_BROKER_URL=tcp://activemq:61616
-CASSANDRA_CLUSTER_NAME=Datacenter1
+CASSANDRA_CLUSTER_NAME=datacenter1
 CASSANDRA_CLUSTER_PASSWORD=password
 CASSANDRA_CLUSTER_USER=cassandra
 CASSANDRA_CONTACT_POINTS=cassandra:9042
-EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=http://localhost:8761/eureka
-EUREKA_INSTANCE_HOSTNAME=eureka
-MARIADB_HOST=mariadb
-MARIADB_PASSWORD=mysql
-MARIADB_USER=root
+CASSANDRA_KEYSPACE=seshat
+EUREKA_CLIENT_INITIALINSTANCEINFOREPLICATIONINTERVALSECONDS=25
+EUREKA_CLIENT_INSTANCEINFOREPLICATIONINTERVALSECONDS=20
+EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE=http://eureka:8761/eureka
+EUREKA_INSTANCE_LEASERENEWALINTERVALINSECONDS=20
 POSTGRESQL_HOST=postgres
 POSTGRESQL_PORT=5432
 POSTGRESQL_USER=postgres
 RIBBON_EUREKA_SERVER=eureka:9090
-SYSTEM_INITIAL_CLIENT_ID=service-runner
 SCHEDULER_USER_NAME=imhotep
-FIMS_WEB_APP_IP=172.16.238.19
+SYSTEM_INITIAL_CLIENT_ID=service-runner
+
 PROVISIONER_IP=172.16.238.20
 IDENTITY_IP=172.16.238.21
 RHYTHM_IP=172.16.238.22
diff --git a/external_tools/docker-compose.yml b/external_tools/docker-compose.yml
index 010666d..3718df8 100644
--- a/external_tools/docker-compose.yml
+++ b/external_tools/docker-compose.yml
@@ -26,7 +26,7 @@ services:
     ports:
       - "8761:8761"
     healthcheck:
-      test: curl -f http://localhost:8761 || exit 1
+      test: curl -f http://eureka:8761 || exit 1
       interval: 1m
       retries: 5
     deploy:
@@ -52,12 +52,12 @@ services:
       - postgres-volume:/var/lib/postgresql/data
 
   cassandra:
-    image: cassandra:latest
+    image: cassandra:3.11
     container_name: cassandra
     ports:
       - "9042:9042"
     healthcheck:
-      test: cqlsh ping -h localhost
+      test: cqlsh ping -h cassandra
       interval: 1m
       retries: 5
     deploy:
diff --git a/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json b/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
index 51d6707..452f7ea 100644
--- a/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
+++ b/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
@@ -7,7 +7,7 @@
 	},
 	"item": [
 		{
-			"name": "01. Get token from system user",
+			"name": "01. Log in root user",
 			"event": [
 				{
 					"listen": "test",
@@ -67,12 +67,33 @@
 			"response": []
 		},
 		{
-			"name": "02. Create first tenant",
+			"name": "NB! ONLY CREATE apps you have started",
+			"request": {
+				"method": "OPTIONS",
+				"header": [],
+				"url": {
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/auth/token",
+					"protocol": "http",
+					"host": [
+						"{{provisionerUrl}}"
+					],
+					"path": [
+						"provisioner",
+						"v1",
+						"auth",
+						"token"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "02.01 Create identity-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "0b18908b-f2d4-4ce4-a8ad-3d1c0652a1bc",
+						"id": "fb7299ef-04d4-4869-a25b-d1b523098c6d",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -97,11 +118,17 @@
 						"name": "Content-Type",
 						"value": "application/json",
 						"type": "text"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}",
+						"type": "text",
+						"disabled": true
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"identifier\": \"{{tenantIdentifier}}\",\n\t\"name\": \"Playground\",\n\t\"description\": \"Sample tenant for demonstrating Fineract-CN functionality\",\n\t\"cassandraConnectionInfo\": {\n\t\t\"clusterName\": \"Datacenter1\",\n\t\t\"contactPoints\": \"cassandra:9042\",\n\t\t\"keyspace\": \"playground\",\n\t\t\"replicationType\": \"Simple\",\n\t\t\"replicas\": \"1\"\n\t},\n\t\"databaseConnectionInfo\": {\n\t\t\"driverClass\": \"org.postgresql.Driver\",\n\t\t\"databaseNa [...]
+					"raw": "{\n\t\"name\": \"identity-v1\",\n\t\"description\": \"Identity Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{identityUrl}}/identity/v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -109,7 +136,7 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -117,19 +144,19 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants"
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "03.1 Create identity-v1 application",
+			"name": "02.02 Create rhythm-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "fb7299ef-04d4-4869-a25b-d1b523098c6d",
+						"id": "4d75f048-905b-41af-b767-4314d5e3a050",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -157,14 +184,12 @@
 					},
 					{
 						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}",
-						"type": "text",
-						"disabled": true
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"identity-v1\",\n\t\"description\": \"Identity Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{identityUrl}}/identity/v1\"\n}",
+					"raw": "{\n\t\"name\": \"rhythm-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{rhythmUrl}}/rhythm/v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -187,19 +212,14 @@
 			"response": []
 		},
 		{
-			"name": "03.2 Assign Identity Manager for Tenant and obtain Tenant Admin (user antony) Password",
+			"name": "02.03 Create office-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "206c2d92-7c20-46e9-8079-ead0c0adbbe0",
+						"id": "bc3eeb3d-961c-449b-87b9-99606d0511b3",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"antonyUserPassword\", jsonData.adminPassword);",
-							"",
-							"",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
@@ -219,9 +239,7 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -230,15 +248,10 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"identity-v1\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n\t\"name\": \"office-v1\",\n\t\"description\": \"Office Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{officeUrl}}/office/v1\"\n}"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/identityservice",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -246,30 +259,24 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"identityservice"
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "03.3 Login SuperAdmin (Antony)",
+			"name": "02.04 Create customer-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"type": "text/javascript",
+						"id": "8adf52e4-af8a-49c8-86fc-c3174e637283",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
-							"",
-							"",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
-						]
+						],
+						"type": "text/javascript"
 					}
 				}
 			],
@@ -277,60 +284,50 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}"
+					"raw": "{\n\t\"name\": \"customer-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{customerUrl}}/customer/v1\"\n}"
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=antony&password={{antonyUserPassword}}",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"token"
-					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "antony"
-						},
-						{
-							"key": "password",
-							"value": "{{antonyUserPassword}}"
-						}
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "03.4 Change Antony Password",
+			"name": "02.05 Create accounting-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "4a97cc02-4f7f-4a0d-b805-5ec4af08f7b0",
+						"id": "6a24d7f4-0056-42e6-8d20-c7d3bd3dfd09",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
-							"",
-							"postman.setEnvironmentVariable(\"antonyUserPassword\", \"dGVzdA==\");",
-							"",
-							"",
 							""
 						],
 						"type": "text/javascript"
@@ -338,21 +335,19 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{antonyToken}}"
+						"value": "{{rootUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{antonyUser}}"
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -361,44 +356,32 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"password\": \"dGVzdA==\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n\t\"name\": \"accounting-v1\",\n\t\"description\": \"Accounting Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{accountingUrl}}/accounting/v1\"\n}"
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/users/antony/password",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"users",
-						"antony",
-						"password"
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "03.5 Login Antony with new password",
+			"name": "02.06 Create portfolio-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "b3b88517-d738-461b-ba9a-f57e872dfcb2",
+						"id": "3efb77f8-9bc7-4835-87e8-b4ebfb7abd11",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
-							"",
-							"",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
@@ -409,54 +392,55 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}"
+					"raw": "{\n\t\"name\": \"portfolio-v1\",\n\t\"description\": \"Portfolio\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{portfolioUrl}}/portfolio/v1\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username={{antonyUser}}&password={{antonyUserPassword}}",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"token"
-					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "{{antonyUser}}"
-						},
-						{
-							"key": "password",
-							"value": "{{antonyUserPassword}}"
-						}
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "03.6 Assign Identity for Tenant",
+			"name": "02.07 Create deposit-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "66378bb5-bb0e-4374-8d4f-67c56b78eea5",
+						"id": "870693ae-6f50-4b8e-9920-fa45e184f732",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -466,7 +450,7 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -487,10 +471,10 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"identity-v1\"\n\t}\n]"
+					"raw": "{\n\t\"name\": \"deposit-v1\",\n\t\"description\": \"Deposit Management Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{depositUrl}}/deposit/v1\"\n}"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -498,8 +482,6 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -507,23 +489,12 @@
 			"response": []
 		},
 		{
-			"name": "ONLY CREATE AND ADD apps you have started",
-			"request": {
-				"method": "OPTIONS",
-				"header": [],
-				"url": {
-					"raw": ""
-				}
-			},
-			"response": []
-		},
-		{
-			"name": "04.000 Create rhythm-v1 application",
+			"name": "02.08 Create teller-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "4d75f048-905b-41af-b767-4314d5e3a050",
+						"id": "0dbc31fb-0e82-492a-aab8-f30e1fdad5a5",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -545,9 +516,7 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -556,12 +525,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"rhythm-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://rhythm-ms:2022/rhythm/v1\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n\t\"name\": \"teller-v1\",\n\t\"description\": \"Teller\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{tellerUrl}}/teller/v1\"\n}"
 				},
 				"url": {
 					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
@@ -579,12 +543,12 @@
 			"response": []
 		},
 		{
-			"name": "04.001 Assign rhythm-v1 for Tenant",
+			"name": "02.09 Create reporting-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "ba66d4b9-95a1-45de-9d59-d54308c72273",
+						"id": "b92b9efb-afcb-4c12-b3af-0b8ca07aaef0",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -594,7 +558,7 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -617,7 +581,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"rhythm-v1\"\n\t}\n]",
+					"raw": "{\n\t\"name\": \"reporting-v1\",\n\t\"description\": \"Reporting\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{reportingUrl}}/reporting/v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -625,7 +589,7 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -633,8 +597,6 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -642,12 +604,12 @@
 			"response": []
 		},
 		{
-			"name": "04.010 Create office-v1 application",
+			"name": "02.10 Create cheques-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "bc3eeb3d-961c-449b-87b9-99606d0511b3",
+						"id": "c91e5040-28c4-4a87-9132-85c420c78efe",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -669,7 +631,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -678,7 +642,12 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"office-v1\",\n\t\"description\": \"Office Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://office-ms:2023/office/v1\"\n}"
+					"raw": "{\n\t\"name\": \"cheques-v1\",\n\t\"description\": \"Cheques\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{chequesUrl}}/cheques/v1\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
 					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
@@ -696,12 +665,12 @@
 			"response": []
 		},
 		{
-			"name": "04.011 Assign office-v1 for Tenant",
+			"name": "02.11 Create payroll-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "7f3f5ba7-5b63-4a44-b491-12e0436c1056",
+						"id": "f2eb7045-4dae-4ad7-9a0c-fddc35d21436",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -711,7 +680,7 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -734,7 +703,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"office-v1\"\n\t}\n]",
+					"raw": "{\n\t\"name\": \"payroll-v1\",\n\t\"description\": \"Payroll\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{payrollUrl}}/payroll/v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -742,7 +711,7 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -750,8 +719,6 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -759,12 +726,12 @@
 			"response": []
 		},
 		{
-			"name": "04.020 Create customer-v1 application",
+			"name": "02.12 Create group-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "8adf52e4-af8a-49c8-86fc-c3174e637283",
+						"id": "b533921d-e3f5-45f0-b035-f1d6395b4703",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -786,7 +753,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -795,7 +764,12 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"customer-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{customerUrl}}/customer/v1\"\n}"
+					"raw": "{\n\t\"name\": \"group-v1\",\n\t\"description\": \"Group\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{groupUrl}}/group/v1\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
 					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
@@ -813,12 +787,12 @@
 			"response": []
 		},
 		{
-			"name": "04.021 Assign customer-v1 for Tenant",
+			"name": "02.13 Create notifications-v1 application",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "d5f166cb-0a4d-44e2-ab41-fde67c2d1af7",
+						"id": "cfd7c51f-0aac-4b9b-9048-c3ca60672ba0",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -828,7 +802,7 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -851,7 +825,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"customer-v1\"\n\t}\n]",
+					"raw": "{\n\t\"name\": \"notifications-v1\",\n\t\"description\": \"Notifications\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{notificationsUrl}}/notification/v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -859,7 +833,7 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -867,8 +841,6 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -876,12 +848,12 @@
 			"response": []
 		},
 		{
-			"name": "04.030 Create accounting-v1 application",
+			"name": "03.1 Create first tenant 'playground'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "6a24d7f4-0056-42e6-8d20-c7d3bd3dfd09",
+						"id": "0b18908b-f2d4-4ce4-a8ad-3d1c0652a1bc",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -903,19 +875,22 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"accounting-v1\",\n\t\"description\": \"Accounting Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{accountingUrl}}/accounting/v1\"\n}"
+					"raw": "{\n\t\"identifier\": \"{{tenantIdentifier}}\",\n\t\"name\": \"Playground\",\n\t\"description\": \"Sample tenant for demonstrating Fineract-CN functionality\",\n\t\"cassandraConnectionInfo\": {\n\t\t\"clusterName\": \"datacenter1\",\n\t\t\"contactPoints\": \"cassandra:9042\",\n\t\t\"keyspace\": \"playground\",\n\t\t\"replicationType\": \"Simple\",\n\t\t\"replicas\": \"1\"\n\t},\n\t\"databaseConnectionInfo\": {\n\t\t\"driverClass\": \"org.postgresql.Driver\",\n\t\t\"databaseNa [...]
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -923,21 +898,26 @@
 					"path": [
 						"provisioner",
 						"v1",
-						"applications"
+						"tenants"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.031 Assign accounting-v1 for Tenant",
+			"name": "03.2 Assign identity-v1 for Tenant and obtain Tenant Admin (user antony) Password",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "af1b9ac1-c66c-4353-b59b-ec3e1bea864c",
+						"id": "206c2d92-7c20-46e9-8079-ead0c0adbbe0",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"antonyUserPassword\", jsonData.adminPassword);",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript"
@@ -945,7 +925,7 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -968,7 +948,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"accounting-v1\"\n\t}\n]",
+					"raw": "{\n\t\"name\": \"identity-v1\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -976,7 +956,7 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/identityservice",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -986,21 +966,26 @@
 						"v1",
 						"tenants",
 						"{{tenantIdentifier}}",
-						"applications"
+						"identityservice"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.040 Create portfolio-v1 application",
+			"name": "03.3 Login Antony (tenant superadmin) with obtained password",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "3efb77f8-9bc7-4835-87e8-b4ebfb7abd11",
+						"id": "b3b88517-d738-461b-ba9a-f57e872dfcb2",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript"
@@ -1011,61 +996,78 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"portfolio-v1\",\n\t\"description\": \"Portfolio\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://portfolio-ms:2026/portfolio/v1\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{}"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username={{antonyUser}}&password={{antonyUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "{{antonyUser}}"
+						},
+						{
+							"key": "password",
+							"value": "{{antonyUserPassword}}"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.041 Assign portfolio-v1 for Tenant",
+			"name": "03.4 Change Antony Password to 'antonyPassword'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "ef7b5c59-1623-4183-8196-b76e30922713",
+						"id": "4a97cc02-4f7f-4a0d-b805-5ec4af08f7b0",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"",
+							"//postman.setEnvironmentVariable(\"antonyUserPassword\", \"dDNuNG50NGRtMW4=\");",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "eaa4397b-8b4a-4032-914a-2408cf82ea4b",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"antonyUserPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`antonyUserPassword as BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"antonyUserPassword\", base64);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
@@ -1073,17 +1075,17 @@
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{antonyToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"type": "text",
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1092,7 +1094,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"portfolio-v1\"\n\t}\n]",
+					"raw": "{\n\t\"password\": \"{{antonyUserPassword}}\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1100,34 +1102,38 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users/antony/password",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users",
+						"antony",
+						"password"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.050 Create deposit-v1 application",
+			"name": "03.5 LOGIN ANTONY (tenant SuperAdmin) with pwd 'antonyPassword'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "870693ae-6f50-4b8e-9920-fa45e184f732",
+						"type": "text/javascript",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"antonyToken\", jsonData.accessToken);",
+							"",
+							"",
 							""
-						],
-						"type": "text/javascript"
+						]
 					}
 				}
 			],
@@ -1135,48 +1141,54 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
 						"value": "application/json"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"deposit-v1\",\n\t\"description\": \"Deposit Management Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://{{depositUrl}}/deposit/v1\"\n}"
+					"raw": "{}"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=antony&password={{antonyUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "antony"
+						},
+						{
+							"key": "password",
+							"value": "{{antonyUserPassword}}"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.051 Assign deposits for Tenant",
+			"name": "04.01 Assign rhythm-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "8b4e42c3-5a2f-437d-8f2c-55a6d398f601",
+						"id": "ba66d4b9-95a1-45de-9d59-d54308c72273",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -1198,7 +1210,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1207,7 +1221,12 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"deposit-v1\"\n\t}\n]"
+					"raw": "[\n\t{\n\t\t\"name\": \"rhythm-v1\"\n\t}\n]",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
 					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
@@ -1227,12 +1246,12 @@
 			"response": []
 		},
 		{
-			"name": "04.060 Create teller-v1 application",
+			"name": "04.02 Assign office-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "0dbc31fb-0e82-492a-aab8-f30e1fdad5a5",
+						"id": "7f3f5ba7-5b63-4a44-b491-12e0436c1056",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -1242,7 +1261,7 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
@@ -1254,7 +1273,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1263,10 +1284,15 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"teller-v1\",\n\t\"description\": \"Teller\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://teller-ms:2028/teller/v1\"\n}"
+					"raw": "[\n\t{\n\t\t\"name\": \"office-v1\"\n\t}\n]",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -1274,6 +1300,8 @@
 					"path": [
 						"provisioner",
 						"v1",
+						"tenants",
+						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -1281,12 +1309,12 @@
 			"response": []
 		},
 		{
-			"name": "04.061 Assign teller-v1 for Tenant",
+			"name": "04.03 Assign customer-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "99d87103-9033-4dc9-aaef-b82aef6f8e3a",
+						"id": "d5f166cb-0a4d-44e2-ab41-fde67c2d1af7",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -1308,7 +1336,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1317,7 +1347,12 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"teller-v1\"\n\t}\n]"
+					"raw": "[\n\t{\n\t\t\"name\": \"customer-v1\"\n\t}\n]",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
 					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
@@ -1337,14 +1372,15 @@
 			"response": []
 		},
 		{
-			"name": "04.070 Create reporting-v1 application",
+			"name": "05.1 Create administrator role for tenant \"playground\"",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "b92b9efb-afcb-4c12-b3af-0b8ca07aaef0",
+						"id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"setTimeout(function(){}, [3000]);",
 							""
 						],
 						"type": "text/javascript"
@@ -1355,79 +1391,86 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
-						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"key": "Authorization",
+						"value": "{{antonyToken}}"
 					},
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Content-Type",
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"reporting-v1\",\n\t\"description\": \"Reporting\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://reporting-ms:2029/reporting/v1\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"identifier\": \"administrator\",\n  \"permissions\": [\n    {\n      \"permittableEndpointGroupIdentifier\": \"accounting__v1__account\",\n      \"allowedOperations\": [\n        \"READ\",\n        \"CHANGE\",\n        \"DELETE\"\n      ]\n    },\n    {\n      \"permittableEndpointGroupIdentifier\": \"accounting__v1__fin_condition\",\n      \"allowedOperations\": [\n        \"READ\",\n        \"CHANGE\",\n        \"DELETE\"\n      ]\n    },\n    {\n      \"permittable [...]
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/roles",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"roles"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.071 Assign reporting-v1 for Tenant",
+			"name": "05.2 Create Admin User operator with password 'initialPassword'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "c0c31e05-7498-46c9-8063-7987327fa1fa",
+						"id": "9486d316-2aca-409a-88ff-f17770249dca",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "115a549d-513d-46ef-b8af-f9be111bd55d",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"initialPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`operatorPassword in BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{antonyToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"type": "text",
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1436,7 +1479,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"reporting-v1\"\n\t}\n]",
+					"raw": "{\n\t\"identifier\": \"operator\",\n\t\"role\": \"administrator\",\n\t\"password\": \"{{adminUserPassword}}\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1444,35 +1487,50 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.080 Create cheques-v1 application",
+			"name": "05.3 Log in with initial password",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "c91e5040-28c4-4a87-9132-85c420c78efe",
+						"id": "90d180ba-a4a4-47ce-b018-94c75b0ebe65",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
+							"",
+							"const moment = require('moment');",
+							"var timestamp = moment().format(\"YYYY-MM-DD\") + \"T\" + moment().format(\"HH:mm:ss\");",
+							"tests[\"initial password is expired\"] = jsonData.passwordExpiration < timestamp;",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "0f7bafa6-8124-42cc-b0a4-9571119a5fc8",
+						"exec": [
+							"var delay3seconds = setTimeout(function(){}, [3000]);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
@@ -1480,11 +1538,11 @@
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{antonyToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
 						"key": "Content-Type",
@@ -1499,7 +1557,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"cheques-v1\",\n\t\"description\": \"Cheques\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://cheques-ms:2030/cheques/v1\"\n}",
+					"raw": "{}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1507,60 +1565,92 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=operator&password={{adminUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "operator"
+						},
+						{
+							"key": "password",
+							"value": "{{adminUserPassword}}",
+							"description": "Initial password"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.081 Assign cheques-v1 for Tenant",
+			"name": "05.4 Change user 'operator' password to 'operatorPassword'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "e696bb1f-9582-4861-9009-2b9ede155c3b",
+						"id": "af5b9059-bf36-4715-acc2-25d272552590",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "91312a48-c2bd-4ea4-b4e6-8c388aec99e9",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"operatorPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`operatorPassword in BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
 				"method": "PUT",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"type": "text",
+						"value": "application/json"
 					},
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"type": "text",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"type": "text",
+						"value": "{{adminUser}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"cheques-v1\"\n\t}\n]",
+					"raw": "{\n  \"password\": \"{{adminUserPassword}}\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1568,31 +1658,39 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users/operator/password",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users",
+						"operator",
+						"password"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.090 Create payroll-v1 application",
+			"name": "05.5 LOG IN TENANT ADMIN (operator)",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "f2eb7045-4dae-4ad7-9a0c-fddc35d21436",
+						"id": "c8802a96-df5a-4916-b6fb-e27b33c386e6",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
+							"",
+							"const moment = require('moment');",
+							"var timestamp = moment().format(\"YYYY-MM-DD\") + \"T\" + moment().format(\"HH:mm:ss\");",
+							"tests[\"password is not expired\"] = jsonData.passwordExpiration > timestamp;",
+							"",
 							""
 						],
 						"type": "text/javascript"
@@ -1603,79 +1701,95 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"payroll-v1\",\n\t\"description\": \"Payroll\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://payroll-ms:2031/payroll/v1\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{}"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=operator&password={{adminUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "operator"
+						},
+						{
+							"key": "password",
+							"value": "{{adminUserPassword}}"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.091 Assign payroll-v1 for Tenant",
+			"name": "05.6 Pull operator permissions",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "1a0f8ef5-a7a1-47d4-b83c-92a7b7e4ffcb",
+						"id": "9486d316-2aca-409a-88ff-f17770249dca",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "115a549d-513d-46ef-b8af-f9be111bd55d",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"operatorPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`operatorPassword in BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"adminUserPassword\", base64);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
 			"request": {
-				"method": "PUT",
+				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{adminUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{adminUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"type": "text",
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1684,7 +1798,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"payroll-v1\"\n\t}\n]",
+					"raw": "",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1692,29 +1806,29 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users/operator/permissions",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users",
+						"operator",
+						"permissions"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.100 Create group-v1 application",
+			"name": "06.1 Create Scheduler role for tenant playground",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "b533921d-e3f5-45f0-b035-f1d6395b4703",
+						"id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -1727,27 +1841,27 @@
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
-						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"key": "Authorization",
+						"value": "{{antonyToken}}"
 					},
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"group-v1\",\n\t\"description\": \"Group\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://group-ms:2032/group/v1\"\n}",
+					"raw": "{\n  \"identifier\": \"scheduler\",\n  \"permissions\": [\n    {\n      \"permittableEndpointGroupIdentifier\": \"identity__v1__app_self\",\n      \"allowedOperations\": [\n        \"CHANGE\"\n      ]\n    },\n    {\n      \"permittableEndpointGroupIdentifier\": \"portfolio__v1__khepri\",\n      \"allowedOperations\": [\n        \"CHANGE\"\n      ]\n    }\n  ]\n}\n",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1755,29 +1869,48 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/roles",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"roles"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.101 Assign group-v1 for Tenant",
+			"name": "06.2 Create Scheduler user imhotep with password 'initialImhotepPassword'",
 			"event": [
 				{
+					"listen": "prerequest",
+					"script": {
+						"id": "3469215d-1ba4-4891-aa3f-e45e343ab4de",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"",
+							"//Encrypt",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"initialImhotepPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`imhotepPassword in BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"schedulerUserPassword\", base64);",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
 					"listen": "test",
 					"script": {
-						"id": "32caff55-23cb-498a-b17c-0444894662ad",
+						"id": "1cad925a-87b3-4ba2-af86-a4d499d68f22",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"setTimeout(function(){}, [3000]);",
 							""
 						],
 						"type": "text/javascript"
@@ -1785,21 +1918,21 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{antonyToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{antonyUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"type": "text",
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -1808,7 +1941,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"group-v1\"\n\t}\n]",
+					"raw": "{\n\t\"identifier\": \"imhotep\",\n\t\"role\": \"scheduler\",\n\t\"password\": \"{{schedulerUserPassword}}\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1816,62 +1949,69 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.110 Create notifications-v1 application",
+			"name": "06.3 Login Scheduler user imhotep",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "cfd7c51f-0aac-4b9b-9048-c3ca60672ba0",
+						"id": "272b3e2a-f1b2-41da-aa5d-9e017555d6d2",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"var jsonData = JSON.parse(responseBody);",
+							"",
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"tests[\"access token was returned \"] = jsonData.accessToken !== undefined;",
+							"",
+							"postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "dd4a949c-cf1e-4385-aa25-3cb53d39d56d",
+						"exec": [
+							"var delay3seconds = setTimeout(function(){}, [3000]);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
 				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
 						"value": "application/json",
 						"type": "text"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"notifications-v1\",\n\t\"description\": \"Notifications\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://notifications-ms:2033/notification/v1\"\n}",
+					"raw": "{}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1879,29 +2019,64 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password={{schedulerUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "imhotep"
+						},
+						{
+							"key": "password",
+							"value": "{{schedulerUserPassword}}"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.111 Assign notifications-v1 for Tenant",
+			"name": "06.4 Change imhotep user password to 'imhotepPassword'",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "f755efce-b652-48f8-aefb-4cee875df904",
+						"id": "af5b9059-bf36-4715-acc2-25d272552590",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"",
+							"",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "0198f255-d555-4a77-8825-04c5bbd1c54d",
+						"exec": [
+							"var CryptoJS = require(\"crypto-js\")",
+							"",
+							"//Encrypt",
+							"var rawStr = CryptoJS.enc.Utf8.parse(\"imhotepPassword\")",
+							"var base64 = CryptoJS.enc.Base64.stringify(rawStr)",
+							"console.log(`imhotepPassword in BASE64: ${base64}`)",
+							"postman.setEnvironmentVariable(\"schedulerUserPassword\", base64);",
+							"",
 							""
 						],
 						"type": "text/javascript"
@@ -1912,12 +2087,8 @@
 				"method": "PUT",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
@@ -1926,13 +2097,19 @@
 						"type": "text"
 					},
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{schedulerUserToken}}",
+						"type": "text"
+					},
+					{
+						"key": "User",
+						"value": "imhotep",
+						"type": "text"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "[\n\t{\n\t\t\"name\": \"notifications-v1\"\n\t}\n]",
+					"raw": "{\n  \"password\": \"{{schedulerUserPassword}}\"\n}",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -1940,78 +2117,106 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/users/imhotep/password",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"users",
+						"imhotep",
+						"password"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "04.999 List tenant applications (Only returning one is a bug?)",
-			"protocolProfileBehavior": {
-				"disableBodyPruning": true
-			},
+			"name": "06.5 Login user imhotep (who has scheduler role)",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+						"exec": [
+							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"",
+							"var jsonData = JSON.parse(responseBody);",
+							"postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
+							"",
+							"",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"method": "GET",
+				"method": "POST",
 				"header": [
 					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "{}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password={{schedulerUserPassword}}",
 					"protocol": "http",
 					"host": [
-						"{{provisionerUrl}}"
+						"{{identityUrl}}"
 					],
 					"path": [
-						"provisioner",
+						"identity",
 						"v1",
-						"tenants",
-						"{{tenantIdentifier}}",
-						"applications"
+						"token"
+					],
+					"query": [
+						{
+							"key": "grant_type",
+							"value": "password"
+						},
+						{
+							"key": "username",
+							"value": "imhotep"
+						},
+						{
+							"key": "password",
+							"value": "{{schedulerUserPassword}}"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "05.1 Create Admin Role for tenant \"playground\"",
+			"name": "06.6 enable permission identity__v1__app_self for imhotep",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
+						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
-							"setTimeout(function(){}, [3000]);",
+							"",
+							"",
+							"",
 							""
 						],
 						"type": "text/javascript"
@@ -2019,31 +2224,40 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "X-Tenant-Identifier",
 						"value": "{{tenantIdentifier}}"
 					},
 					{
-						"key": "User",
-						"value": "{{antonyUser}}"
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
 					},
 					{
-						"key": "Authorization",
-						"value": "{{antonyToken}}"
+						"key": "User",
+						"value": "imhotep",
+						"type": "text"
 					},
 					{
-						"key": "Content-Type",
-						"value": "application/json"
+						"key": "Authorization",
+						"value": "{{schedulerUserToken}}",
+						"type": "text"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\"identifier\":\"administrator\",\"permissions\":[{\"permittableEndpointGroupIdentifier\":\"identity__v1__roles\",\"allowedOperations\":[\"READ\",\"CHANGE\",\"DELETE\"]},{\"permittableEndpointGroupIdentifier\":\"identity__v1__self\",\"allowedOperations\":[\"READ\",\"CHANGE\",\"DELETE\"]},{\"permittableEndpointGroupIdentifier\":\"office__v1__employees\",\"allowedOperations\":[\"READ\",\"CHANGE\",\"DELETE\"]},{\"permittableEndpointGroupIdentifier\":\"customer__v1__task\",\"al [...]
+					"raw": "true",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/roles",
+					"raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/identity__v1__app_self/users/imhotep/enabled",
 					"protocol": "http",
 					"host": [
 						"{{identityUrl}}"
@@ -2051,19 +2265,25 @@
 					"path": [
 						"identity",
 						"v1",
-						"roles"
+						"applications",
+						"rhythm-v1",
+						"permissions",
+						"identity__v1__app_self",
+						"users",
+						"imhotep",
+						"enabled"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "05.2 Create Admin User mifos",
+			"name": "07.01 Assign accounting-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "9486d316-2aca-409a-88ff-f17770249dca",
+						"id": "af1b9ac1-c66c-4353-b59b-ec3e1bea864c",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -2073,15 +2293,15 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{antonyToken}}"
+						"value": "{{rootUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{antonyUser}}"
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
@@ -2096,7 +2316,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"identifier\": \"mifos\",\n\t\"role\": \"administrator\",\n\t\"password\": \"{{adminUserPassword}}\"\n}",
+					"raw": "[\n\t{\n\t\t\"name\": \"accounting-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2104,58 +2324,47 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/users",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"users"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "05.3 Log in with old password ('password')",
+			"name": "07.020 Assign portfolio-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "d86648d2-e737-4eb5-9999-f0cb5f2557f7",
+						"id": "ef7b5c59-1623-4183-8196-b76e30922713",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
 					}
-				},
-				{
-					"listen": "prerequest",
-					"script": {
-						"id": "f0680830-0535-4a81-9151-84e78309789c",
-						"exec": [
-							"var delay3seconds = setTimeout(function(){}, [3000]);"
-						],
-						"type": "text/javascript"
-					}
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{antonyToken}}"
+						"value": "{{rootUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{antonyUser}}"
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
@@ -2170,7 +2379,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"identifier\": \"mifos\",\n\t\"role\": \"administrator\",\n\t\"password\": \"cGFzc3dvcmQ=\"\n}",
+					"raw": "[\n\t{\n\t\t\"name\": \"portfolio-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2178,45 +2387,30 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=mifos&password={{adminUserPassword}}",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"token"
-					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "mifos"
-						},
-						{
-							"key": "password",
-							"value": "{{adminUserPassword}}",
-							"description": "Initial password"
-						}
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "05.4 Change Admin user password (required on first login)",
+			"name": "07.021 WAIT FOR PORTFOLIO TO PROVISION (~1min)",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "af5b9059-bf36-4715-acc2-25d272552590",
+						"id": "ef7b5c59-1623-4183-8196-b76e30922713",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;",
-							"",
 							""
 						],
 						"type": "text/javascript"
@@ -2224,32 +2418,22 @@
 				}
 			],
 			"request": {
-				"method": "PUT",
+				"method": "OPTIONS",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
-					},
-					{
 						"key": "Content-Type",
 						"name": "Content-Type",
 						"value": "application/json",
 						"type": "text"
 					},
 					{
-						"key": "Authorization",
-						"value": "{{adminUserToken}}",
-						"type": "text"
-					},
-					{
-						"key": "User",
-						"value": "{{adminUser}}",
-						"type": "text"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"password\": \"{{adminUserPassword}}\"\n}",
+					"raw": "",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2257,34 +2441,30 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/users/mifos/password",
+					"raw": "http://{{portfolioUrl}}/portfolio/v1/",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{portfolioUrl}}"
 					],
 					"path": [
-						"identity",
+						"portfolio",
 						"v1",
-						"users",
-						"mifos",
-						"password"
+						""
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "05.5 ADMIN LOGIN",
+			"name": "07.022 enable permission portfolio__v1__khepri for user imhotep",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "af5b9059-bf36-4715-acc2-25d272552590",
+						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"adminUserToken\", jsonData.accessToken);",
 							"",
 							"",
 							""
@@ -2294,7 +2474,7 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "X-Tenant-Identifier",
@@ -2302,15 +2482,32 @@
 					},
 					{
 						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
 						"value": "application/json"
+					},
+					{
+						"key": "User",
+						"value": "imhotep",
+						"type": "text"
+					},
+					{
+						"key": "Authorization",
+						"value": "{{schedulerUserToken}}",
+						"type": "text"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}"
+					"raw": "true",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=mifos&password={{adminUserPassword}}",
+					"raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/portfolio__v1__khepri/users/imhotep/enabled",
 					"protocol": "http",
 					"host": [
 						"{{identityUrl}}"
@@ -2318,33 +2515,45 @@
 					"path": [
 						"identity",
 						"v1",
-						"token"
+						"applications",
+						"rhythm-v1",
+						"permissions",
+						"portfolio__v1__khepri",
+						"users",
+						"imhotep",
+						"enabled"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "ONLY ASSIGN apps you have started",
+			"request": {
+				"method": "OPTIONS",
+				"header": [],
+				"url": {
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/",
+					"protocol": "http",
+					"host": [
+						"{{provisionerUrl}}"
 					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "mifos"
-						},
-						{
-							"key": "password",
-							"value": "{{adminUserPassword}}"
-						}
+					"path": [
+						"provisioner",
+						"v1",
+						""
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.1 Create Scheduler role for tenant playground",
+			"name": "07.03 Assign deposits for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
+						"id": "8b4e42c3-5a2f-437d-8f2c-55a6d398f601",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -2354,58 +2563,53 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{adminUser}}"
-					},
-					{
-						"key": "Authorization",
-						"value": "{{adminUserToken}}"
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
 						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"identifier\": \"scheduler\",\n  \"permissions\": [\n    {\n      \"permittableEndpointGroupIdentifier\": \"identity__v1__app_self\",\n      \"allowedOperations\": [\n        \"CHANGE\"\n      ]\n    },\n    {\n      \"permittableEndpointGroupIdentifier\": \"portfolio__v1__khepri\",\n      \"allowedOperations\": [\n        \"CHANGE\"\n      ]\n    }\n  ]\n}\n",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "[\n\t{\n\t\t\"name\": \"deposit-v1\"\n\t}\n]"
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/roles",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"roles"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.2 Create Scheduler user imhotep with password '26500BC'",
+			"name": "07.04 Assign teller-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "7d03384e-a570-48b4-a2f9-8f305dee9098",
+						"id": "99d87103-9033-4dc9-aaef-b82aef6f8e3a",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
@@ -2415,21 +2619,19 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{adminUserToken}}"
+						"value": "{{rootUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{adminUser}}"
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -2438,75 +2640,65 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"identifier\": \"imhotep\",\n\t\"role\": \"scheduler\",\n\t\"password\": \"MjY1MDBCQw==\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "[\n\t{\n\t\t\"name\": \"teller-v1\"\n\t}\n]"
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/users",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"users"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.3 Login Scheduler user imhotep",
+			"name": "07.05 Assign reporting-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+						"id": "c0c31e05-7498-46c9-8063-7987327fa1fa",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
-							"",
-							"",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
 					}
-				},
-				{
-					"listen": "prerequest",
-					"script": {
-						"id": "5e84b9b4-361a-4ab5-9ef7-1766a05d940e",
-						"exec": [
-							"var delay3seconds = setTimeout(function(){}, [3000]);"
-						],
-						"type": "text/javascript"
-					}
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
 						"value": "application/json",
 						"type": "text"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}",
+					"raw": "[\n\t{\n\t\t\"name\": \"reporting-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2514,46 +2706,31 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password=MjY1MDBCQw==",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"token"
-					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "imhotep"
-						},
-						{
-							"key": "password",
-							"value": "MjY1MDBCQw=="
-						}
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.4 Change imhotep user password to '26500BC'",
+			"name": "07.06 Assign cheques-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "af5b9059-bf36-4715-acc2-25d272552590",
+						"id": "e696bb1f-9582-4861-9009-2b9ede155c3b",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
-							"",
-							"",
-							"",
 							""
 						],
 						"type": "text/javascript"
@@ -2564,29 +2741,27 @@
 				"method": "PUT",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
 					},
 					{
-						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
-						"key": "Authorization",
-						"value": "{{schedulerUserToken}}",
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"value": "application/json",
 						"type": "text"
 					},
 					{
-						"key": "User",
-						"value": "imhotep",
-						"type": "text"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"password\": \"MjY1MDBCQw==\"\n}",
+					"raw": "[\n\t{\n\t\t\"name\": \"cheques-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2594,36 +2769,31 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/users/imhotep/password",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"users",
-						"imhotep",
-						"password"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.5 Loginuser imhotep (who has scheduler role)",
+			"name": "07.08 Assign payroll-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+						"id": "1a0f8ef5-a7a1-47d4-b83c-92a7b7e4ffcb",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"var jsonData = JSON.parse(responseBody);",
-							"postman.setEnvironmentVariable(\"schedulerUserToken\", jsonData.accessToken);",
-							"",
-							"",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							""
 						],
 						"type": "text/javascript"
@@ -2631,22 +2801,30 @@
 				}
 			],
 			"request": {
-				"method": "POST",
+				"method": "PUT",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
 						"key": "Content-Type",
 						"name": "Content-Type",
 						"value": "application/json",
 						"type": "text"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{}",
+					"raw": "[\n\t{\n\t\t\"name\": \"payroll-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2654,38 +2832,39 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/token?grant_type=password&username=imhotep&password=MjY1MDBCQw==",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"token"
-					],
-					"query": [
-						{
-							"key": "grant_type",
-							"value": "password"
-						},
-						{
-							"key": "username",
-							"value": "imhotep"
-						},
-						{
-							"key": "password",
-							"value": "MjY1MDBCQw=="
-						}
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "Q1: WHY 06.6 and 06.7 FAIL?",
+			"name": "07.09 Assign group-v1 for Tenant",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "32caff55-23cb-498a-b17c-0444894662ad",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"method": "DELETE",
+				"method": "PUT",
 				"header": [
 					{
 						"key": "Authorization",
@@ -2697,7 +2876,9 @@
 					},
 					{
 						"key": "Content-Type",
-						"value": "application/json"
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -2706,26 +2887,39 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "[\n\t{\n\t\t\"name\": \"group-v1\"\n\t}\n]",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
 				},
 				"url": {
-					"raw": ""
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
+					"protocol": "http",
+					"host": [
+						"{{provisionerUrl}}"
+					],
+					"path": [
+						"provisioner",
+						"v1",
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
+					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.5 enable permission identity__v1__app_self for imhotep",
+			"name": "07.10 Assign notifications-v1 for Tenant",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
+						"id": "f755efce-b652-48f8-aefb-4cee875df904",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
-							"",
-							"",
-							"",
 							""
 						],
 						"type": "text/javascript"
@@ -2736,29 +2930,27 @@
 				"method": "PUT",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
 					},
 					{
-						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
-						"value": "application/json"
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
-						"key": "User",
-						"value": "imhotep",
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"value": "application/json",
 						"type": "text"
 					},
 					{
-						"key": "Authorization",
-						"value": "{{schedulerUserToken}}",
-						"type": "text"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "true",
+					"raw": "[\n\t{\n\t\t\"name\": \"notifications-v1\"\n\t}\n]",
 					"options": {
 						"raw": {
 							"language": "json"
@@ -2766,100 +2958,70 @@
 					}
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/identity__v1__app_self/users/imhotep/enabled",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"applications",
-						"rhythm-v1",
-						"permissions",
-						"identity__v1__app_self",
-						"users",
-						"imhotep",
-						"enabled"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "06.6 enable permission portfolio__v1__khepri for user imhotep",
-			"event": [
-				{
-					"listen": "test",
-					"script": {
-						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
-						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
-							"",
-							"",
-							"",
-							""
-						],
-						"type": "text/javascript"
-					}
-				}
-			],
+			"name": "07.99 List tenant applications (Only returning one is a bug)",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
 			"request": {
-				"method": "PUT",
+				"method": "GET",
 				"header": [
 					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
+						"key": "Authorization",
+						"value": "{{rootUserToken}}"
 					},
 					{
-						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
-						"value": "application/json"
+						"key": "User",
+						"value": "{{rootUser}}"
 					},
 					{
-						"key": "User",
-						"value": "imhotep",
-						"type": "text"
+						"key": "Content-Type",
+						"value": "application/json"
 					},
 					{
-						"key": "Authorization",
-						"value": "{{schedulerUserToken}}",
-						"type": "text"
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
 					}
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "true",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": ""
 				},
 				"url": {
-					"raw": "http://{{identityUrl}}/identity/v1/applications/rhythm-v1/permissions/portfolio__v1__khepri/users/imhotep/enabled",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
-						"{{identityUrl}}"
+						"{{provisionerUrl}}"
 					],
 					"path": [
-						"identity",
+						"provisioner",
 						"v1",
-						"applications",
-						"rhythm-v1",
-						"permissions",
-						"portfolio__v1__khepri",
-						"users",
-						"imhotep",
-						"enabled"
+						"tenants",
+						"{{tenantIdentifier}}",
+						"applications"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "07.1 Create INCOME ledgers",
+			"name": "08.1 Create REVENUE ledgers",
 			"event": [
 				{
 					"listen": "test",
@@ -2913,7 +3075,7 @@
 			"response": []
 		},
 		{
-			"name": "07.2 Create EXPENSE Ledgers",
+			"name": "08.2 Create EXPENSE Ledgers",
 			"event": [
 				{
 					"listen": "test",
@@ -2967,7 +3129,7 @@
 			"response": []
 		},
 		{
-			"name": "07.3 Create ASSETS ledgers",
+			"name": "08.3 Create ASSETS ledgers",
 			"event": [
 				{
 					"listen": "test",
@@ -3021,7 +3183,7 @@
 			"response": []
 		},
 		{
-			"name": "07.4 Create LIABILITY ledgers",
+			"name": "08.4 Create LIABILITY ledgers",
 			"event": [
 				{
 					"listen": "test",
@@ -3075,7 +3237,7 @@
 			"response": []
 		},
 		{
-			"name": "07.5 Create EQUITY ledgers",
+			"name": "08.5 Create EQUITY ledgers",
 			"event": [
 				{
 					"listen": "test",
@@ -3132,36 +3294,28 @@
 			"name": "NB! Readme has instructions how to run next step",
 			"request": {
 				"method": "OPTIONS",
-				"header": [
-					{
-						"key": "Authorization",
-						"value": "{{rootUserToken}}"
-					},
-					{
-						"key": "User",
-						"value": "{{rootUser}}"
-					},
-					{
-						"key": "Content-Type",
-						"value": "application/json"
-					},
-					{
-						"key": "X-Tenant-Identifier",
-						"value": "{{tenantIdentifier}}"
-					}
-				],
+				"header": [],
 				"body": {
 					"mode": "raw",
 					"raw": ""
 				},
 				"url": {
-					"raw": ""
+					"raw": "http://{{accountingUrl}}/accounting/v1/",
+					"protocol": "http",
+					"host": [
+						"{{accountingUrl}}"
+					],
+					"path": [
+						"accounting",
+						"v1",
+						""
+					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "08.1 Create accounts (user Runner and import accounts_with_type.csv)",
+			"name": "08.6 Create accounts (user Runner and import accounts_with_type.csv)",
 			"event": [
 				{
 					"listen": "test",
@@ -3229,21 +3383,85 @@
 			"response": []
 		},
 		{
-			"name": "09.1 Create member1",
+			"name": "08.7 Verify that accounts are configured",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "4e26fc95-4fad-4972-ac80-528581c28fcc",
+						"id": "edd32edb-8011-4f68-a1f1-adb2503f71ce",
 						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+							"var jsonData = JSON.parse(responseBody);",
+							"tests[\"There are 84 accounts\"] =  jsonData.totalElements === 84;",
+							""
 						],
 						"type": "text/javascript"
 					}
 				}
 			],
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
 			"request": {
-				"method": "POST",
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{accountingUrl}}/accounting/v1/accounts?size=200",
+					"protocol": "http",
+					"host": [
+						"{{accountingUrl}}"
+					],
+					"path": [
+						"accounting",
+						"v1",
+						"accounts"
+					],
+					"query": [
+						{
+							"key": "size",
+							"value": "200"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "09.10 Create member1",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "4e26fc95-4fad-4972-ac80-528581c28fcc",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -3282,7 +3500,7 @@
 			"response": []
 		},
 		{
-			"name": "09.2 Activate member1",
+			"name": "09.11 Activate member1",
 			"event": [
 				{
 					"listen": "test",
@@ -3294,7 +3512,891 @@
 						"type": "text/javascript"
 					}
 				}
-			],
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"action\": \"ACTIVATE\"\n}"
+				},
+				"url": {
+					"raw": "http://{{customerUrl}}/customer/v1/customers/member1/commands",
+					"protocol": "http",
+					"host": [
+						"{{customerUrl}}"
+					],
+					"path": [
+						"customer",
+						"v1",
+						"customers",
+						"member1",
+						"commands"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "09.20 Create customer10",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "d572df48-1555-41c8-839e-fa7e9dc0afcc",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n            \"identifier\": \"customer10\",\n            \"type\": \"PERSON\",\n            \"givenName\": \"First Name\",\n            \"middleName\": null,\n            \"surname\": \"LastnameCustomer10\",\n            \"dateOfBirth\": {\n                \"year\": 1922,\n                \"month\": 2,\n                \"day\": 22\n            },\n            \"address\": {\n            \t\"street\": \"ABC Street\",\n            \t\"region\": \"Nord\",\n            \t\"ci [...]
+				},
+				"url": {
+					"raw": "http://{{customerUrl}}/customer/v1/customers",
+					"protocol": "http",
+					"host": [
+						"{{customerUrl}}"
+					],
+					"path": [
+						"customer",
+						"v1",
+						"customers"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "09.21 Activate customer10",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "afa41cb7-93c9-46d8-8c60-471ae8642097",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"action\": \"ACTIVATE\"\n}"
+				},
+				"url": {
+					"raw": "http://{{customerUrl}}/customer/v1/customers/customer10/commands",
+					"protocol": "http",
+					"host": [
+						"{{customerUrl}}"
+					],
+					"path": [
+						"customer",
+						"v1",
+						"customers",
+						"customer10",
+						"commands"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.10 Create savingsProduct004",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "854f50a3-980b-4450-b8a0-c1333d3beeac",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"value": "application/json",
+						"type": "text"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"identifier\": \"savingsProduct004\",\n  \"type\": \"SAVINGS\",\n  \"name\": \"Savings Product 004\",\n  \"description\": null,\n  \"minimumBalance\": 1,\n  \"interest\": 0.01,\n  \"flexible\": true,\n  \"term\": {\n    \"period\": \"1\",\n    \"timeUnit\": \"YEAR\",\n    \"interestPayable\": \"MATURITY\"\n  },\n  \"currency\": {\n    \"code\": \"EUR\",\n    \"name\": \"Euro\",\n    \"sign\": \"€\",\n    \"scale\": 2\n  },\n  \"charges\": [],\n  \"expenseAccountIdentif [...]
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/definitions",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"definitions"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.11 Activate savingsProduct004",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "c0ed6c3d-07f1-48e1-b9e6-f0423ae0c5e4",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"action\": \"ACTIVATE\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/definitions/savingsProduct004/commands",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"definitions",
+						"savingsProduct004",
+						"commands"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.20 Assign savingsProduct004 to customer10",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"productIdentifier\": \"savingsProduct004\",\n  \"beneficiaries\": [\n    \"customer10\"\n  ],\n  \"customerIdentifier\": \"customer10\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.21 Assign savingsProduct004 to member1",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"productIdentifier\": \"savingsProduct004\",\n  \"beneficiaries\": [\n    \"member1\"\n  ],\n  \"customerIdentifier\": \"member1\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.30 Create checkingProduct108",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "35f0c037-cbfc-4ffc-b6c7-9c9846cc4018",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"identifier\": \"checkingProduct108\",\n  \"type\": \"CHECKING\",\n  \"name\": \"checking Product 108\",\n  \"description\": null,\n  \"minimumBalance\": 0,\n  \"interest\": 0,\n  \"flexible\": true,\n  \"term\": {\n    \"period\": \"2\",\n    \"timeUnit\": \"YEAR\",\n    \"interestPayable\": \"ANNUALLY\"\n  },\n  \"currency\": {\n    \"code\": \"EUR\",\n    \"name\": \"Euro\",\n    \"sign\": \"€\",\n    \"scale\": 2\n  },\n  \"charges\": [],\n  \"expenseAccountIdentif [...]
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/definitions",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"definitions"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.31 Activate checkingProduct108",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "9023188b-2b14-4403-aa1f-fc324dc26b9b",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"action\": \"ACTIVATE\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/definitions/checkingProduct108/commands",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"definitions",
+						"checkingProduct108",
+						"commands"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.41 Assign checkingProduct108 to customer10",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"productIdentifier\": \"checkingProduct108\",\n  \"beneficiaries\": [\n    \"customer10\"\n  ],\n  \"customerIdentifier\": \"customer10\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "10.42 Assign checkingProduct108 to member1",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"name": "Content-Type",
+						"type": "text",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": "{\n  \"productIdentifier\": \"checkingProduct108\",\n  \"beneficiaries\": [\n    \"member1\"\n  ],\n  \"customerIdentifier\": \"member1\"\n}",
+					"options": {
+						"raw": {
+							"language": "json"
+						}
+					}
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.3 Get customer10 product instances",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=customer10",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					],
+					"query": [
+						{
+							"key": "customer",
+							"value": "customer10"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.4 Activate customer10 savings product",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances/customer10.9300.00001?command=ACTIVATE",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances",
+						"customer10.9300.00001"
+					],
+					"query": [
+						{
+							"key": "command",
+							"value": "ACTIVATE"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.5 Activate customer10 checking product",
+			"request": {
+				"method": "POST",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances/customer10.9300.00002?command=ACTIVATE",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances",
+						"customer10.9300.00002"
+					],
+					"query": [
+						{
+							"key": "command",
+							"value": "ACTIVATE"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.6 Get customer10 product instances again",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=customer10",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					],
+					"query": [
+						{
+							"key": "customer",
+							"value": "customer10"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.7 Get customer10 possible transaction types",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances/transactiontypes?customer=customer10",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances",
+						"transactiontypes"
+					],
+					"query": [
+						{
+							"key": "customer",
+							"value": "customer10"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.8 Get member1 product instances",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
+			"request": {
+				"method": "GET",
+				"header": [
+					{
+						"key": "Authorization",
+						"value": "{{adminUserToken}}"
+					},
+					{
+						"key": "User",
+						"value": "{{adminUser}}"
+					},
+					{
+						"key": "Content-Type",
+						"value": "application/json"
+					},
+					{
+						"key": "X-Tenant-Identifier",
+						"value": "{{tenantIdentifier}}"
+					}
+				],
+				"body": {
+					"mode": "raw",
+					"raw": ""
+				},
+				"url": {
+					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=member1",
+					"protocol": "http",
+					"host": [
+						"{{depositUrl}}"
+					],
+					"path": [
+						"deposit",
+						"v1",
+						"instances"
+					],
+					"query": [
+						{
+							"key": "customer",
+							"value": "member1"
+						}
+					]
+				}
+			},
+			"response": []
+		},
+		{
+			"name": "11.90 Activate member1 savings product",
 			"request": {
 				"method": "POST",
 				"header": [
@@ -3317,39 +4419,32 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"action\": \"ACTIVATE\"\n}"
+					"raw": ""
 				},
 				"url": {
-					"raw": "http://{{customerUrl}}/customer/v1/customers/member1/commands",
+					"raw": "http://{{depositUrl}}/deposit/v1/instances/member1.9300.00001?command=ACTIVATE",
 					"protocol": "http",
 					"host": [
-						"{{customerUrl}}"
+						"{{depositUrl}}"
 					],
 					"path": [
-						"customer",
+						"deposit",
 						"v1",
-						"customers",
-						"member1",
-						"commands"
+						"instances",
+						"member1.9300.00001"
+					],
+					"query": [
+						{
+							"key": "command",
+							"value": "ACTIVATE"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "09.2 Create customer10",
-			"event": [
-				{
-					"listen": "test",
-					"script": {
-						"id": "d572df48-1555-41c8-839e-fa7e9dc0afcc",
-						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;"
-						],
-						"type": "text/javascript"
-					}
-				}
-			],
+			"name": "11.91 Activate member1 checking product",
 			"request": {
 				"method": "POST",
 				"header": [
@@ -3372,39 +4467,37 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n            \"identifier\": \"customer10\",\n            \"type\": \"PERSON\",\n            \"givenName\": \"First Name\",\n            \"middleName\": null,\n            \"surname\": \"LastnameCustomer10\",\n            \"dateOfBirth\": {\n                \"year\": 1922,\n                \"month\": 2,\n                \"day\": 22\n            },\n            \"address\": {\n            \t\"street\": \"ABC Street\",\n            \t\"region\": \"Nord\",\n            \t\"ci [...]
+					"raw": ""
 				},
 				"url": {
-					"raw": "http://{{customerUrl}}/customer/v1/customers",
+					"raw": "http://{{depositUrl}}/deposit/v1/instances/member1.9300.00002?command=ACTIVATE",
 					"protocol": "http",
 					"host": [
-						"{{customerUrl}}"
+						"{{depositUrl}}"
 					],
 					"path": [
-						"customer",
+						"deposit",
 						"v1",
-						"customers"
+						"instances",
+						"member1.9300.00002"
+					],
+					"query": [
+						{
+							"key": "command",
+							"value": "ACTIVATE"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "09.3 Activate customer10",
-			"event": [
-				{
-					"listen": "test",
-					"script": {
-						"id": "afa41cb7-93c9-46d8-8c60-471ae8642097",
-						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;"
-						],
-						"type": "text/javascript"
-					}
-				}
-			],
+			"name": "11.93. Get member1 products",
+			"protocolProfileBehavior": {
+				"disableBodyPruning": true
+			},
 			"request": {
-				"method": "POST",
+				"method": "GET",
 				"header": [
 					{
 						"key": "Authorization",
@@ -3425,32 +4518,36 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"action\": \"ACTIVATE\"\n}"
+					"raw": ""
 				},
 				"url": {
-					"raw": "http://{{customerUrl}}/customer/v1/customers/customer10/commands",
+					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=member1",
 					"protocol": "http",
 					"host": [
-						"{{customerUrl}}"
+						"{{depositUrl}}"
 					],
 					"path": [
-						"customer",
+						"deposit",
 						"v1",
-						"customers",
-						"customer10",
-						"commands"
+						"instances"
+					],
+					"query": [
+						{
+							"key": "customer",
+							"value": "member1"
+						}
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "10.1 Create savingsProduct001",
+			"name": "12.1 create HQ",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "854f50a3-980b-4450-b8a0-c1333d3beeac",
+						"id": "8824daa3-c0b2-4afe-9296-726bd33fb7a1",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;"
 						],
@@ -3471,9 +4568,7 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -3482,35 +4577,30 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"identifier\": \"savingsProduct001\",\n  \"type\": \"SAVINGS\",\n  \"name\": \"Savings Product 1\",\n  \"description\": null,\n  \"minimumBalance\": 1,\n  \"interest\": 0.01,\n  \"flexible\": true,\n  \"term\": {\n    \"period\": \"1\",\n    \"timeUnit\": \"YEAR\",\n    \"interestPayable\": \"MATURITY\"\n  },\n  \"currency\": {\n    \"code\": \"EUR\",\n    \"name\": \"Euro\",\n    \"sign\": \"€\",\n    \"scale\": 2\n  },\n  \"charges\": [],\n  \"expenseAccountIdentifie [...]
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"identifier\": \"ourHQ\",\n  \"name\": \"Our headquarter\",\n  \"description\": null,\n  \"address\": {\n    \"street\": \"Street\",\n    \"city\": \"City\",\n    \"postalCode\": null,\n    \"region\": null,\n    \"country\": \"Germany\",\n    \"countryCode\": \"DE\"\n  }\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/definitions",
+					"raw": "http://{{officeUrl}}/office/v1/offices",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{officeUrl}}"
 					],
 					"path": [
-						"deposit",
+						"office",
 						"v1",
-						"definitions"
+						"offices"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "10.2 Activate savingsProduct001",
+			"name": "12.2. create branch",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "c0ed6c3d-07f1-48e1-b9e6-f0423ae0c5e4",
+						"id": "67d85fff-6c6d-476d-9f71-36247ee2bc40",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;"
 						],
@@ -3531,8 +4621,6 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
 						"value": "application/json"
 					},
 					{
@@ -3542,37 +4630,32 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"action\": \"ACTIVATE\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"identifier\": \"branch01\",\n  \"name\": \"Branch 14\",\n  \"description\": null,\n  \"address\": {\n    \"street\": \"Hohenzollernstraße\",\n    \"city\": \"München\",\n    \"postalCode\": null,\n    \"region\": null,\n    \"country\": \"Germany\",\n    \"countryCode\": \"DE\"\n  },\n  \"parentIdentifier\": \"ourHQ\"\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/definitions/savingsProduct001/commands",
-					"protocol": "http",
+					"raw": "http:/{{officeUrl}}/office/v1/offices/ourHQ",
 					"host": [
-						"{{depositUrl}}"
+						"http:"
 					],
+					"port": "",
 					"path": [
-						"deposit",
+						"{{officeUrl}}",
+						"office",
 						"v1",
-						"definitions",
-						"savingsProduct001",
-						"commands"
+						"offices",
+						"ourHQ"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "10.3 Create Checking product",
+			"name": "12.3. create branch office",
 			"event": [
 				{
 					"listen": "test",
 					"script": {
-						"id": "35f0c037-cbfc-4ffc-b6c7-9c9846cc4018",
+						"id": "c7796fc7-df25-4206-a73c-5eb058e90cb0",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;"
 						],
@@ -3593,8 +4676,6 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
 						"value": "application/json"
 					},
 					{
@@ -3604,42 +4685,26 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"identifier\": \"checkingProduct110\",\n  \"type\": \"CHECKING\",\n  \"name\": \"checking Product 110\",\n  \"description\": null,\n  \"minimumBalance\": 0,\n  \"interest\": 0,\n  \"flexible\": true,\n  \"term\": {\n    \"period\": \"2\",\n    \"timeUnit\": \"YEAR\",\n    \"interestPayable\": \"ANNUALLY\"\n  },\n  \"currency\": {\n    \"code\": \"EUR\",\n    \"name\": \"Euro\",\n    \"sign\": \"€\",\n    \"scale\": 2\n  },\n  \"charges\": [],\n  \"expenseAccountIdentif [...]
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"identifier\": \"office001\",\n  \"name\": \"Office 001 of branch01\",\n  \"description\": null,\n  \"address\": {\n    \"street\": \"Max-Planck-Straße 1\",\n    \"city\": \"München\",\n    \"postalCode\": null,\n    \"region\": null,\n    \"country\": \"Germany\",\n    \"countryCode\": \"DE\"\n  },\n  \"parentIdentifier\": \"branch01\"\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/definitions",
+					"raw": "http://{{officeUrl}}/office/v1/offices/branch01",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{officeUrl}}"
 					],
 					"path": [
-						"deposit",
+						"office",
 						"v1",
-						"definitions"
+						"offices",
+						"branch01"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "10.4 Activate checkingProduct110",
-			"event": [
-				{
-					"listen": "test",
-					"script": {
-						"id": "9023188b-2b14-4403-aa1f-fc324dc26b9b",
-						"exec": [
-							"tests[\"Status code is 202\"] = responseCode.code === 202;"
-						],
-						"type": "text/javascript"
-					}
-				}
-			],
+			"name": "12.40. create employee Peter",
 			"request": {
 				"method": "POST",
 				"header": [
@@ -3653,8 +4718,6 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"type": "text",
 						"value": "application/json"
 					},
 					{
@@ -3664,42 +4727,35 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"action\": \"ACTIVATE\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"identifier\": \"peter\",\n  \"givenName\": \"Peter\",\n  \"middleName\": null,\n  \"surname\": \"Gibbons\",\n  \"contactDetails\": [\n    {\n      \"group\": \"BUSINESS\",\n      \"type\": \"EMAIL\",\n      \"value\": \"peter@example.com\",\n      \"preferenceLevel\": 1\n    }\n  ],\n  \"assignedOffice\": \"office001\"\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/definitions/checkingProduct110/commands",
+					"raw": "http://{{officeUrl}}/office/v1/employees",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{officeUrl}}"
 					],
 					"path": [
-						"deposit",
+						"office",
 						"v1",
-						"definitions",
-						"checkingProduct110",
-						"commands"
+						"employees"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "Q2: WHY customer is twice in next?",
+			"name": "12.41 create employee Samir",
 			"request": {
-				"method": "DELETE",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
-						"value": "{{rootUserToken}}"
+						"value": "{{adminUserToken}}"
 					},
 					{
 						"key": "User",
-						"value": "{{rootUser}}"
+						"value": "{{adminUser}}"
 					},
 					{
 						"key": "Content-Type",
@@ -3712,16 +4768,37 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "{\n  \"identifier\": \"samir\",\n  \"givenName\": \"Samir\",\n  \"middleName\": null,\n  \"surname\": \"Nagheenanajar\",\n  \"contactDetails\": [\n    {\n      \"group\": \"BUSINESS\",\n      \"type\": \"EMAIL\",\n      \"value\": \"samir@example.com\",\n      \"preferenceLevel\": 1\n    }\n  ],\n  \"assignedOffice\": \"office001\"\n}"
 				},
 				"url": {
-					"raw": ""
+					"raw": "http://{{officeUrl}}/office/v1/employees",
+					"protocol": "http",
+					"host": [
+						"{{officeUrl}}"
+					],
+					"path": [
+						"office",
+						"v1",
+						"employees"
+					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "11.1 Assign savingsProduct001 to customer10",
+			"name": "12.50. create teller1 to office001",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ae00c4f4-e095-44bc-98ed-6f0a664a8439",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -3735,9 +4812,7 @@
 					},
 					{
 						"key": "Content-Type",
-						"name": "Content-Type",
-						"value": "application/json",
-						"type": "text"
+						"value": "application/json"
 					},
 					{
 						"key": "X-Tenant-Identifier",
@@ -3746,35 +4821,41 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n  \"productIdentifier\": \"savingsProduct001\",\n  \"beneficiaries\": [\n    \"customer10\"\n  ],\n  \"customerIdentifier\": \"customer10\"\n}",
-					"options": {
-						"raw": {
-							"language": "json"
-						}
-					}
+					"raw": "{\n  \"code\": \"teller1\",\n  \"password\": \"teller1Password\",\n  \"cashdrawLimit\": \"1000\",\n  \"tellerAccountIdentifier\": \"7013\",\n  \"vaultAccountIdentifier\": \"7014\",\n  \"chequesReceivableAccount\": \"7011\",\n  \"cashOverShortAccount\": \"3190\",\n  \"denominationRequired\": false\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/instances",
+					"raw": "http://{{tellerUrl}}/teller/v1/offices/office001/teller",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{tellerUrl}}"
 					],
 					"path": [
-						"deposit",
+						"teller",
 						"v1",
-						"instances"
+						"offices",
+						"office001",
+						"teller"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "11.20. Get customer products",
-			"protocolProfileBehavior": {
-				"disableBodyPruning": true
-			},
+			"name": "12.51 create teller2 to office001",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ae00c4f4-e095-44bc-98ed-6f0a664a8439",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"method": "GET",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -3795,36 +4876,41 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "{\n  \"code\": \"teller2\",\n  \"password\": \"teller2Password\",\n  \"cashdrawLimit\": \"1000\",\n  \"tellerAccountIdentifier\": \"7013\",\n  \"vaultAccountIdentifier\": \"7014\",\n  \"chequesReceivableAccount\": \"7011\",\n  \"cashOverShortAccount\": \"3190\",\n  \"denominationRequired\": false\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=customer10",
+					"raw": "http://{{tellerUrl}}/teller/v1/offices/office001/teller",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{tellerUrl}}"
 					],
 					"path": [
-						"deposit",
+						"teller",
 						"v1",
-						"instances"
-					],
-					"query": [
-						{
-							"key": "customer",
-							"value": "customer10"
-						}
+						"offices",
+						"office001",
+						"teller"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "11.21. Get member1 products",
-			"protocolProfileBehavior": {
-				"disableBodyPruning": true
-			},
+			"name": "12.60 open teller1 and connect with Peter",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ae00c4f4-e095-44bc-98ed-6f0a664a8439",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"method": "GET",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -3845,36 +4931,43 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "{\n  \"action\": \"OPEN\",\n  \"assignedEmployeeIdentifier\": \"peter\",\n  \"adjustment\": \"DEBIT\",\n  \"amount\": \"5000\"\n}"
 				},
 				"url": {
-					"raw": "http://{{depositUrl}}/deposit/v1/instances?customer=member1",
+					"raw": "http://{{tellerUrl}}/teller/v1/offices/office001/teller/teller1/commands",
 					"protocol": "http",
 					"host": [
-						"{{depositUrl}}"
+						"{{tellerUrl}}"
 					],
 					"path": [
-						"deposit",
+						"teller",
 						"v1",
-						"instances"
-					],
-					"query": [
-						{
-							"key": "customer",
-							"value": "member1"
-						}
+						"offices",
+						"office001",
+						"teller",
+						"teller1",
+						"commands"
 					]
 				}
 			},
 			"response": []
 		},
 		{
-			"name": "11.3 Get customer address",
-			"protocolProfileBehavior": {
-				"disableBodyPruning": true
-			},
+			"name": "12.61 open teller2 and connect with Samir",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ae00c4f4-e095-44bc-98ed-6f0a664a8439",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;"
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
-				"method": "GET",
+				"method": "POST",
 				"header": [
 					{
 						"key": "Authorization",
@@ -3895,22 +4988,22 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": ""
+					"raw": "{\n  \"action\": \"OPEN\",\n  \"assignedEmployeeIdentifier\": \"samir\",\n  \"adjustment\": \"DEBIT\",\n  \"amount\": \"3000\"\n}"
 				},
 				"url": {
-					"raw": "http://localhost:8888/api/customer/v1/customers/customer10/identifications",
+					"raw": "http://{{tellerUrl}}/teller/v1/offices/office001/teller/teller2/commands",
 					"protocol": "http",
 					"host": [
-						"localhost"
+						"{{tellerUrl}}"
 					],
-					"port": "8888",
 					"path": [
-						"api",
-						"customer",
+						"teller",
 						"v1",
-						"customers",
-						"customer10",
-						"identifications"
+						"offices",
+						"office001",
+						"teller",
+						"teller2",
+						"commands"
 					]
 				}
 			},
@@ -3918,4 +5011,4 @@
 		}
 	],
 	"protocolProfileBehavior": {}
-}
+}
\ No newline at end of file
diff --git a/postman_scripts/Fineract-Cn-Initial-Setup-Environment.postman_environment.json b/postman_scripts/Fineract-Cn-Initial-Setup-Environment.postman_environment.json
index 6428a72..9b92287 100644
--- a/postman_scripts/Fineract-Cn-Initial-Setup-Environment.postman_environment.json
+++ b/postman_scripts/Fineract-Cn-Initial-Setup-Environment.postman_environment.json
@@ -3,23 +3,13 @@
 	"name": "Fineract-Cn-Initial-Setup-Environment",
 	"values": [
 		{
-			"key": "host",
-			"value": "localhost",
-			"enabled": true
-		},
-		{
 			"key": "tenantIdentifier",
 			"value": "playground",
 			"enabled": true
 		},
 		{
-			"key": "user",
-			"value": "superuser",
-			"enabled": true
-		},
-		{
 			"key": "accessToken",
-			"value": "Bearer eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJzdXBlcnVzZXIiLCIvbWlmb3MuaW8vc2lnbmF0dXJlVGltZXN0YW1wIjoiMjAxNy0wNC0yNlQwN18yNl8xMyIsIi9taWZvcy5pby90b2tlbkNvbnRlbnQiOiJ7XCJ0b2tlblBlcm1pc3Npb25zXCI6W3tcInBhdGhcIjpcInBvcnRmb2xpby12MS9wcm9kdWN0cy8qL2NoYXJnZXNcIixcImFsbG93ZWRPcGVyYXRpb25zXCI6W1wiQ0hBTkdFXCJdfSx7XCJwYXRoXCI6XCJpZGVudGl0eS12MS9hcHBsaWNhdGlvbnMvKi9wZXJtaXNzaW9ucy8qL3VzZXJzL3t1c2VyaWRlbnRpZmllcn0vZW5hYmxlZFwiLFwiYWxsb3dlZE9wZXJhdGlvbnNcIjpbXCJSRUFEXCJdfSx7XCJwYXRoXCI6XCJpZGV [...]
+			"value": "",
 			"enabled": true
 		},
 		{
@@ -29,7 +19,7 @@
 		},
 		{
 			"key": "rootUserToken",
-			"value": "Bearer eyJhbGciOiJSUzUxMiJ9.eyJhdWQiOiJwcm92aXNpb25lci12MSIsInN1YiI6IndlcGVtbmVmcmV0IiwiL2ZpbmNuLmFwYWNoZS5vcmcvcyI6IjIwMTktMDktMTlUMTZfNTRfNTYiLCIvZmluY24uYXBhY2hlLm9yZy9jIjoiUk9MRV9BRE1JTiIsImlzcyI6InN5c3RlbSIsImlhdCI6MTU2OTI0NDMwNiwiZXhwIjoxNTY5MjQ3OTA2fQ.I6o8sv9ArXzr2u_-u0F53DeWpXBSAgLpQLrIF6Cumg4-lJtXyyqwiP34rBLDfj7PCeQSYLy59RR_o4j_isL0FhZZbTM97gZiNts6DY0Q7cuitLyDANYiHra4jhjzA85NH8lp_BDNVhRj2CsrcWXEciztiBzGy9dPS_AOts7ftQarOKilwZSw1KUZOIoMeYLbNk5tXELmREzTVGR8s_kEENdveWub [...]
+			"value": "",
 			"enabled": true
 		},
 		{
@@ -39,7 +29,7 @@
 		},
 		{
 			"key": "antonyToken",
-			"value": "Bearer eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJhbnRvbnkiLCIvZmluY24uYXBhY2hlLm9yZy9zIjoiMjAxOS0wOS0yM1QxM18xMl8wOSIsIi9maW5jbi5hcGFjaGUub3JnL2MiOiJ7XCJ0b2tlblBlcm1pc3Npb25zXCI6W3tcInBhdGhcIjpcImlkZW50aXR5LXYxL3VzZXJzL3t1c2VyaWRlbnRpZmllcn0vcGVybWlzc2lvbnNcIixcImFsbG93ZWRPcGVyYXRpb25zXCI6W1wiUkVBRFwiXX0se1wicGF0aFwiOlwiaWRlbnRpdHktdjEvYXBwbGljYXRpb25zL3thcHBsaWNhdGlvbmlkZW50aWZpZXJ9L3Blcm1pc3Npb25zXCIsXCJhbGxvd2VkT3BlcmF0aW9uc1wiOltcIlJFQURcIixcIkRFTEVURVwiLFwiQ0hBTkdFXCJdfSx7XCJwYXR [...]
+			"value": "",
 			"enabled": true
 		},
 		{
@@ -74,22 +64,22 @@
 		},
 		{
 			"key": "antonyUserPassword",
-			"value": "dGVzdA==",
+			"value": "YW50b255VXNlclBhc3N3b3Jk",
 			"enabled": true
 		},
 		{
 			"key": "adminUserPassword",
-			"value": "cGFzc3dvcmQ=",
+			"value": "b3BlcmF0b3JQYXNzd29yZA==",
 			"enabled": true
 		},
 		{
 			"key": "adminUserToken",
-			"value": "Bearer eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJtaWZvcyIsIi9maW5jbi5hcGFjaGUub3JnL3MiOiIyMDE5LTA5LTIzVDEzXzEyXzA5IiwiL2ZpbmNuLmFwYWNoZS5vcmcvYyI6IntcInRva2VuUGVybWlzc2lvbnNcIjpbe1wicGF0aFwiOlwiaWRlbnRpdHktdjEvdXNlcnMve3VzZXJpZGVudGlmaWVyfS9wZXJtaXNzaW9uc1wiLFwiYWxsb3dlZE9wZXJhdGlvbnNcIjpbXCJSRUFEXCJdfSx7XCJwYXRoXCI6XCJjdXN0b21lci12MS90YXNrc1wiLFwiYWxsb3dlZE9wZXJhdGlvbnNcIjpbXCJSRUFEXCIsXCJDSEFOR0VcIl19LHtcInBhdGhcIjpcImRlcG9zaXQtdjEvZGVmaW5pdGlvbnMvKi9pbnN0YW5jZXNcIixcImFsbG93ZWRPcGV [...]
+			"value": "",
 			"enabled": true
 		},
 		{
 			"key": "adminUser",
-			"value": "mifos",
+			"value": "operator",
 			"enabled": true
 		},
 		{
@@ -104,11 +94,61 @@
 		},
 		{
 			"key": "schedulerUserToken",
-			"value": "Bearer eyJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJpbWhvdGVwIiwiL2ZpbmNuLmFwYWNoZS5vcmcvcyI6IjIwMTktMDktMjNUMTNfMTJfMDkiLCIvZmluY24uYXBhY2hlLm9yZy9jIjoie1widG9rZW5QZXJtaXNzaW9uc1wiOlt7XCJwYXRoXCI6XCJpZGVudGl0eS12MS9hcHBsaWNhdGlvbnMve2FwcGxpY2F0aW9uaWRlbnRpZmllcn0vcGVybWlzc2lvbnNcIixcImFsbG93ZWRPcGVyYXRpb25zXCI6W1wiQ0hBTkdFXCJdfSx7XCJwYXRoXCI6XCJpZGVudGl0eS12MS91c2Vycy97dXNlcmlkZW50aWZpZXJ9L3Blcm1pc3Npb25zXCIsXCJhbGxvd2VkT3BlcmF0aW9uc1wiOltcIlJFQURcIl19LHtcInBhdGhcIjpcInBvcnRmb2xpby12MS9 [...]
+			"value": "",
+			"enabled": true
+		},
+		{
+			"key": "schedulerUserPassword",
+			"value": "aW1ob3RlcFBhc3N3b3Jk",
+			"enabled": true
+		},
+		{
+			"key": "officeUrl",
+			"value": "office-ms:2023",
+			"enabled": true
+		},
+		{
+			"key": "tellerUrl",
+			"value": "teller-ms:2028",
+			"enabled": true
+		},
+		{
+			"key": "portfolioUrl",
+			"value": "portfolio-ms:2026",
+			"enabled": true
+		},
+		{
+			"key": "rhythmUrl",
+			"value": "rhythm-ms:2022",
+			"enabled": true
+		},
+		{
+			"key": "reportingUrl",
+			"value": "reporting-ms:2029",
+			"enabled": true
+		},
+		{
+			"key": "chequesUrl",
+			"value": "cheques-ms:2030",
+			"enabled": true
+		},
+		{
+			"key": "payrollUrl",
+			"value": "payroll-ms:2031",
+			"enabled": true
+		},
+		{
+			"key": "groupUrl",
+			"value": "group-ms:2032",
+			"enabled": true
+		},
+		{
+			"key": "notificationsUrl",
+			"value": "notifications-ms:2033",
 			"enabled": true
 		}
 	],
 	"_postman_variable_scope": "environment",
-	"_postman_exported_at": "2019-09-23T14:12:43.724Z",
-	"_postman_exported_using": "Postman/7.7.3"
+	"_postman_exported_at": "2019-10-18T13:46:23.344Z",
+	"_postman_exported_using": "Postman/7.9.0"
 }