Merge pull request #9 from aasaru/fix_typos_in_postman_scripts

Fix typos in postman scripts, add all conf parameters to docker-compose.yml, update readme
diff --git a/README.md b/README.md
index 775501d..35a75c6 100644
--- a/README.md
+++ b/README.md
@@ -5,11 +5,13 @@
 - Docker
 - Docker-compose
 
-## Deploy and provision Fineract CN
+# Deploy and provision Fineract CN
 
-You can either deploy and provision Fineract CN automatically using bash scripts or manually using postman.
+You can either deploy and provision Fineract CN automatically using bash scripts or manually using Postman.
+Postman is the preferred way as it is more tested and this way you understand better what is happening.
+Also this way you don't have to start all the micro services (helpful if your workstation is lacking resources).
 
-## 1. Deploy Fineract automtically using bash scripts
+# 1. Deploy and provision Fineract automtically using bash scripts
 
  - To start up all the Fineract CN services run:
 
@@ -63,7 +65,7 @@
 
 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 fims-web-app
+docker-compose up rhythm-ms identity-ms customer-ms accounting-ms deposit-ms portfolio-ms office-ms fims-web-app
 ```
 
 If you want you can add other micro services (listed in docker-compose.yml) to the list.
@@ -116,7 +118,7 @@
 2. 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
+# Sign-in using fims-web-app
 
 Prerequisites: Fineract-CN has been successfully provisioned by following the instructions in the previous sections
 User ```mifos``` is created in the the last two requests (user creation and role assignment) in the postman request-list.
@@ -133,7 +135,7 @@
 ```
 
 ### Use the Postman scripts when running locally
-Postman scripts use service names (postgres, provisioner-ms, etc) when refering to different services.
+Postman scripts use service names (postgres, provisioner-ms, etc) when referring to different services.
 If you want to use the same Postman scripts when running micro services locally then add into your hosts (/etc/hosts in Unix) file:
 
 ```
@@ -159,6 +161,8 @@
 
 ### How to reset everything and start from scratch
 
+Run ./shut-down-and-reset.sh or
+
 ```
 cd external-tools
 docker-compose stop
@@ -171,9 +175,10 @@
 ## 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.**
 
-## TODO
+### 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.
 
-- Provision the web services using a script
+## TODO
 - Adjust scripts for Kubernetes
 
 There are some scripts in [https://github.com/openMF/fineract-cn-containers](https://github.com/openMF/fineract-cn-containers)
diff --git a/docker-compose.yml b/docker-compose.yml
index 750907e..cb72194 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -16,6 +16,8 @@
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2020
       spring.datasource.url: jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/seshat
       system.initialclientid: ${SYSTEM_INITIAL_CLIENT_ID}
       system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
@@ -26,7 +28,7 @@
     deploy:
       replicas: 1
       restart_policy:
-        condition: on-failure
+        condition: any
         delay: 10s
         max_attempts: 3
     networks:
@@ -39,6 +41,10 @@
     ports:
       - "2021:2021"
     environment:
+      bonecp.partitionCount: 1
+      bonecp.maxConnectionsPerPartition: 4
+      bonecp.minConnectionsPerPartition: 1
+      bonecp.acquireIncrement: 1
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
       cassandra.cluster.pwd: ${CASSANDRA_CLUSTER_PASSWORD}
       cassandra.cluster.user: ${CASSANDRA_CLUSTER_USER}
@@ -46,15 +52,18 @@
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
+      identity.token.refresh.secureCookie: "false" # demoserver
       postgresql.host: ${POSTGRESQL_HOST}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2021
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
     deploy:
       replicas: 1
       restart_policy:
-        condition: on-failure
+        condition: any
         delay: 10s
         max_attempts: 3
     networks:
@@ -69,25 +78,27 @@
       - "2022:2022"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
+      rhythm.beatCheckRate: 600000
+      rhythm.user: ${SCHEDULER_USER_NAME}
       ribbon.listOfServers: ${RIBBON_EUREKA_SERVER}
+      server.max-http-header-size: ${SERVER_MAX_HTTP_HEADER_SIZE}
+      server.port: 2022
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-      rhythm.beatCheckRate: 600000
     deploy:
       replicas: 1
       restart_policy:
         condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
-          ipv4_address: ${RHYTHM_IP}
+        ipv4_address: ${RHYTHM_IP}
 
   office-ms:
     image: apache/fineract-cn-office:latest
@@ -95,23 +106,20 @@
       - "2023:2023"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
       system.privateKey.exponent: ${PRIVATE_KEY_EXPONENT}
       system.privateKey.modulus: ${PRIVATE_KEY_MODULUS}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -123,21 +131,19 @@
       - "2024:2024"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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}
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -149,21 +155,18 @@
     image: apache/fineract-cn-accounting:latest
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -175,6 +178,7 @@
       - "2026:2026"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
@@ -182,16 +186,12 @@
       custom.postgresql.user: ${POSTGRESQL_USER}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -203,21 +203,18 @@
       - "2027:2027"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -229,21 +226,18 @@
       - "2028:2028"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -255,21 +249,18 @@
       - "2029:2029"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -281,21 +272,18 @@
       - "2030:2030"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -307,21 +295,18 @@
       - "2031:2031"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -333,21 +318,18 @@
       - "2032:2032"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -356,24 +338,21 @@
   notifications-ms:
     image: apache/fineract-cn-notifications:latest
     ports:
-     - "2033:2033"
+      - "2033:2033"
     environment:
       activemq.brokerUrl: ${ACTIVEMQ_BROKER_URL}
+      cassandra.clusterName: ${CASSANDRA_CLUSTER_NAME}
       cassandra.contactPoints: ${CASSANDRA_CONTACT_POINTS}
       eureka.client.serviceUrl.defaultZone: ${EUREKA_CLIENT_SERVICE_URL_DEFAULT_ZONE}
       eureka.instance.hostname: ${EUREKA_INSTANCE_HOSTNAME}
       postgresql.host: ${POSTGRESQL_HOST}
       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
       system.publicKey.exponent: ${PUBLIC_KEY_EXPONENT}
       system.publicKey.modulus: ${PUBLIC_KEY_MODULUS}
       system.publicKey.timestamp: ${PUBLIC_KEY_TIMESTAMP}
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
@@ -383,12 +362,6 @@
     image: apache/fineract-cn-fims-web-app:latest
     ports:
       - "8888:8888"
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     networks:
       external_tools_default:
       fineract:
diff --git a/env_variables b/env_variables
index 12b167a..b17564f 100644
--- a/env_variables
+++ b/env_variables
@@ -13,6 +13,7 @@
 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
 PROVISIONER_IP=172.16.238.20
 IDENTITY_IP=172.16.238.21
diff --git a/external_tools/docker-compose.yml b/external_tools/docker-compose.yml
index 67e2579..010666d 100644
--- a/external_tools/docker-compose.yml
+++ b/external_tools/docker-compose.yml
@@ -16,7 +16,7 @@
     deploy:
       replicas: 1
       restart_policy:
-        condition: on-failure
+        condition: any
         delay: 10s
         max_attempts: 3
 
@@ -32,7 +32,7 @@
     deploy:
       replicas: 1
       restart_policy:
-        condition: on-failure
+        condition: any
         delay: 10s
         max_attempts: 3
 
@@ -48,16 +48,6 @@
       POSTGRES_PASSWORD: postgres
     ports:
       - "5432:5432"
-    healthcheck:
-      test: ["CMD-SHELL", "pg_isready -U postgres"]
-      interval: 1m
-      retries: 5
-    deploy:
-      replicas: 1
-      restart_policy:
-        condition: on-failure
-        delay: 10s
-        max_attempts: 3
     volumes:
       - postgres-volume:/var/lib/postgresql/data
 
@@ -73,7 +63,7 @@
     deploy:
       replicas: 1
       restart_policy:
-        condition: on-failure
+        condition: any
         delay: 10s
         max_attempts: 3
     volumes:
diff --git a/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json b/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
index ef7e4af..51d6707 100644
--- a/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
+++ b/postman_scripts/Fineract-Cn-Initial-Requests.postman_collection.json
@@ -490,7 +490,7 @@
 					"raw": "[\n\t{\n\t\t\"name\": \"identity-v1\"\n\t}\n]"
 				},
 				"url": {
-					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/s{{tenantIdentifier}}/applications",
+					"raw": "http://{{provisionerUrl}}/provisioner/v1/tenants/{{tenantIdentifier}}/applications",
 					"protocol": "http",
 					"host": [
 						"{{provisionerUrl}}"
@@ -499,7 +499,7 @@
 						"provisioner",
 						"v1",
 						"tenants",
-						"s{{tenantIdentifier}}",
+						"{{tenantIdentifier}}",
 						"applications"
 					]
 				}
@@ -519,6 +519,19 @@
 		},
 		{
 			"name": "04.000 Create rhythm-v1 application",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "4d75f048-905b-41af-b767-4314d5e3a050",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -543,7 +556,7 @@
 				],
 				"body": {
 					"mode": "raw",
-					"raw": "{\n\t\"name\": \"rhythm-v1\",\n\t\"description\": \"Customer Service\",\n\t\"vendor\": \"Apache Fineract\",\n\t\"homepage\": \"http://rhythym-ms:2022/rhythm/v1\"\n}",
+					"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"
@@ -567,6 +580,19 @@
 		},
 		{
 			"name": "04.001 Assign rhythm-v1 for Tenant",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "ba66d4b9-95a1-45de-9d59-d54308c72273",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "PUT",
 				"header": [
@@ -1985,6 +2011,7 @@
 						"id": "c64b529c-6e8a-4ef1-ab0d-a58b9499ade9",
 						"exec": [
 							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							"setTimeout(function(){}, [3000]);",
 							""
 						],
 						"type": "text/javascript"
@@ -2032,6 +2059,19 @@
 		},
 		{
 			"name": "05.2 Create Admin User mifos",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "9486d316-2aca-409a-88ff-f17770249dca",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -2094,6 +2134,16 @@
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "f0680830-0535-4a81-9151-84e78309789c",
+						"exec": [
+							"var delay3seconds = setTimeout(function(){}, [3000]);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
@@ -2428,6 +2478,16 @@
 						],
 						"type": "text/javascript"
 					}
+				},
+				{
+					"listen": "prerequest",
+					"script": {
+						"id": "5e84b9b4-361a-4ab5-9ef7-1766a05d940e",
+						"exec": [
+							"var delay3seconds = setTimeout(function(){}, [3000]);"
+						],
+						"type": "text/javascript"
+					}
 				}
 			],
 			"request": {
@@ -2662,7 +2722,7 @@
 					"script": {
 						"id": "5830a8cd-f000-4b41-bfd2-1ac8c96812e4",
 						"exec": [
-							"tests[\"Status code is 200\"] = responseCode.code === 200;",
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
 							"",
 							"",
 							"",
@@ -2800,6 +2860,19 @@
 		},
 		{
 			"name": "07.1 Create INCOME ledgers",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "6260a2d4-def6-40e4-a87e-38f3d01f16b3",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -2841,6 +2914,19 @@
 		},
 		{
 			"name": "07.2 Create EXPENSE Ledgers",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "be1a9019-cb18-4084-802b-cc6169e0b091",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -2882,6 +2968,19 @@
 		},
 		{
 			"name": "07.3 Create ASSETS ledgers",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "3585bd0e-9598-43e6-b678-645bd64855dd",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -2923,6 +3022,19 @@
 		},
 		{
 			"name": "07.4 Create LIABILITY ledgers",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "708e63ea-73ac-4c20-a92d-915fba3135f6",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -2964,6 +3076,19 @@
 		},
 		{
 			"name": "07.5 Create EQUITY ledgers",
+			"event": [
+				{
+					"listen": "test",
+					"script": {
+						"id": "e240003c-12d2-492c-bf43-970ed16564d5",
+						"exec": [
+							"tests[\"Status code is 202\"] = responseCode.code === 202;",
+							""
+						],
+						"type": "text/javascript"
+					}
+				}
+			],
 			"request": {
 				"method": "POST",
 				"header": [
@@ -3644,7 +3769,7 @@
 			"response": []
 		},
 		{
-			"name": "11.2. Get customer products",
+			"name": "11.20. Get customer products",
 			"protocolProfileBehavior": {
 				"disableBodyPruning": true
 			},
@@ -3694,6 +3819,56 @@
 			"response": []
 		},
 		{
+			"name": "11.21. Get member1 products",
+			"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.3 Get customer address",
 			"protocolProfileBehavior": {
 				"disableBodyPruning": true
@@ -3743,4 +3918,4 @@
 		}
 	],
 	"protocolProfileBehavior": {}
-}
\ No newline at end of file
+}