ensure data for si matches on macro requests

Fixed failing ValidationExceptionTest
Moved MacroRequest.json to test specific folder
Moved resource files to test specific folder
Cleaned up comments from UserParamsValidationTest
Refactored modelInfoValidation method
Removed unused constants from ValidationException
Removed unused ValidationException
ADded overrideExistingMessage boolean
Added test for missing modelType in userParams service object
Fixed failing JUnit tests in MsoRequestTest
Started fixing failing JUnit tests
Began adding validation and tests for userParams modelInfo
Began adding validation for instanceName

Change-Id: I442f6b660af4e716d75746f8d8155aac1e183e80
Issue-ID: SO-1405
Signed-off-by: Benjamin, Max (mb388a) <mb388a@us.att.com>
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
index aa51704..145213f 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/MsoRequestTest.java
@@ -317,9 +317,9 @@
 			//Validation for UserParams
 			{"No valid cloudConfiguration in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/AssignCloudConfigVnf.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid cloudConfiguration in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkCloudConfig.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
-			{"No valid model-info in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
-			{"No valid model-info in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsVnfModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
-			{"No valid modelVersionId in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+			{"No valid modelInfo in userParams is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+			{"No valid modelInfo in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsVnfModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+			{"No valid modelVersionId in userParams service modelInfo is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid modelVersionId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VnfModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid modelVersionId in userParams vfModule resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModuleModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid modelVersionId in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkModelVersionId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
@@ -327,8 +327,8 @@
 			{"No valid platformName in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/UserParamsPlatformName.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid productFamilyId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/ProductFamilyId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid vfModules in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModules.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
-			{"No valid model-info in userParams vfModules resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModulesModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
-			{"No valid model-info in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/Network.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},	
+			{"No valid modelInfo in userParams vfModules resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModulesModelInfo.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
+			{"No valid modelInfo in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/Network.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},	
 			{"No valid modelCustomizationId in userParams vfModule resources is specified", mapper.readValue(inputStream("/RequestParameters/VfModuleModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid modelCustomizationId in userParams vnf resources is specified", mapper.readValue(inputStream("/RequestParameters/VnfModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
 			{"No valid modelCustomizationId in userParams network resources is specified", mapper.readValue(inputStream("/RequestParameters/NetworkModelCustomizationId.json"), ServiceInstancesRequest.class), instanceIdMapTest, Action.assignInstance, 7},
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java
new file mode 100644
index 0000000..c1c4915
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/onap/so/apihandlerinfra/validation/UserParamsValidationTest.java
@@ -0,0 +1,109 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.so.apihandlerinfra.validation;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.util.Map;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+import org.onap.so.apihandlerinfra.Action;
+import org.onap.so.exceptions.ValidationException;
+import org.onap.so.serviceinstancebeans.Service;
+import org.onap.so.serviceinstancebeans.ServiceInstancesRequest;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public class UserParamsValidationTest{
+	
+	UserParamsValidation validation = new UserParamsValidation();
+	
+	@Rule
+	public ExpectedException thrown = ExpectedException.none();
+	
+	public ValidationInformation setupValidationInformation(String path) throws IOException{
+		String jsonInput = new String(Files.readAllBytes(Paths.get(path)));
+		ObjectMapper mapper = new ObjectMapper();
+		ServiceInstancesRequest sir = mapper.readValue(jsonInput, ServiceInstancesRequest.class);
+		ValidationInformation info = new ValidationInformation(sir, null, Action.createInstance, 7, false, sir.getRequestDetails().getRequestParameters());
+    	for(Map<String, Object> params : sir.getRequestDetails().getRequestParameters().getUserParams()){
+			ObjectMapper obj = new ObjectMapper();
+			String input = obj.writeValueAsString(params.get("service"));
+			Service validate = obj.readValue(input, Service.class);
+			info.setUserParams(validate);
+			break;
+	    }
+    	info.setRequestInfo(sir.getRequestDetails().getRequestInfo());
+		return info;
+	}
+	
+	@Test
+	public void validateModelTypeExceptionTest() throws IOException, ValidationException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("No valid modelType in userParams service modelInfo is specified");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json"));
+	}
+	@Test
+	public void validateInstanceNameExceptionTest() throws IOException, ValidationException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("instanceName in requestInfo does not match instanceName in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/MacroRequest.json"));
+	}
+	@Test
+	public void validateModelTypeTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelType in modelInfo does not match modelType in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelType.json"));
+	}
+	@Test
+	public void validateModelInvariantIdTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelInvariantId in modelInfo does not match modelInvariantId in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json"));
+	}
+	@Test
+	public void validateModelVersionIdTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelVersionId in modelInfo does not match modelVersionId in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersionId.json"));
+	}
+	@Test
+	public void validateModelNameTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelName in modelInfo does not match modelName in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelName.json"));
+	}
+	@Test
+	public void validateModelVersionTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelVersion in modelInfo does not match modelVersion in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelVersion.json"));
+	}
+	@Test
+	public void validateModelCustomizationIdTest() throws ValidationException, IOException{
+    	thrown.expect(ValidationException.class);
+		thrown.expectMessage("modelCustomizationId in modelInfo does not match modelCustomizationId in userParams service");
+    	validation.validate(setupValidationInformation("src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json"));
+	}
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
index 9e571e6..9d57569 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/AssignCloudConfigVnf.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "testModelName", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "testModelName", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
index 26bb217..a7d930f 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/Network.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10"
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
index 6b32f3e..75e8fb5 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkCloudConfig.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
index 1aa6094..baf620b 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelCustomizationId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
index 1fddf79..6c15285 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/NetworkModelVersionId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
index f9a5ea9..3f93139 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/ProductFamilyId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
index 8d3ed69..f3592c2 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsModelVersionId.json
@@ -34,8 +34,10 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
index f05fdb0..0fbe1da 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatform.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
index 4436baf..e94c5aa 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsPlatformName.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
index e31523f..c19784f 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/UserParamsVnfModelInfo.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+			  "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+			  "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+			  "modelName": "MOW vMX BV 1 Service", 
+			  "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
index 0cf4928..f315ff8 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelCustomizationId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
index 5362b43..91e7183 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModuleModelVersionId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10"
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
index ad1c02e..fedaad4 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModules.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
index 81904fe..612586c 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VfModulesModelInfo.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
index 5b40977..8709619 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelCustomizationId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b",
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
index b52be1f..9c650ad 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/RequestParameters/VnfModelVersionId.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
index 2d7ab4a..bc6f8fc 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/MsoRequestTest/SuccessfulValidation/ServiceAssign.json
@@ -34,9 +34,11 @@
         { 
           "service": { 
             "modelInfo": { 
-              "modelName": "MOW vMX BV 1 Service", 
-              "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a",
-              "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0b" 
+              "modelType": "service", 
+		      "modelInvariantId": "5d48acb5-097d-4982-aeb2-f4a3bd87d31b", 
+		      "modelVersionId": "3c40d244-808e-42ca-b09a-256d83d19d0a", 
+		      "modelName": "MOW vMX BV 1 Service", 
+		      "modelVersion": "10" 
             }, 
             "instanceParams": [], 
             "resources": { 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
index 7625bf7..fd8b7c4 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/ServiceInstanceTest/ServiceAssign.json
@@ -35,9 +35,10 @@
                "service":{
                   "modelInfo":{
                      "modelType":"service",
-                     "modelName":"MOW",
-                     "modelVersionId":"3c40d244-808e-42ca-b09a-256d83d19d0a",
-                     "modelCustomizationId": "3c40d244-808e-42ca-b09a-256d83d19d0a"
+			         "modelInvariantId":"5d48acb5-097d-4982-aeb2-f4a3bd87d31b",
+			         "modelVersionId":"3c40d244-808e-42ca-b09a-256d83d19d0a",
+			         "modelName":"MOW vMX BV 1 Service",
+			         "modelVersion":"10.0"
                   },
                   "instanceParams":[
 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json
new file mode 100644
index 0000000..c3ee53b
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/MacroRequest.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json
new file mode 100644
index 0000000..f5209ac
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelCustomizationId.json
@@ -0,0 +1,137 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbad"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbae"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json
new file mode 100644
index 0000000..ffcb48d
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInfoNoModelType.json
@@ -0,0 +1,134 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json
new file mode 100644
index 0000000..13796ed
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelInvariantId.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531e",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json
new file mode 100644
index 0000000..0410b9c
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelName.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST2",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json
new file mode 100644
index 0000000..f287864
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelType.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "vnf",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json
new file mode 100644
index 0000000..ed2dffe
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersion.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "2.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json
new file mode 100644
index 0000000..feb08a3
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/resources/Validation/UserParamsValidation/ModelVersionId.json
@@ -0,0 +1,135 @@
+{
+  "requestDetails": {
+    "modelInfo": {
+      "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+      "modelType": "service",
+      "modelName": "MOW_ADIG_test_BV_IST",
+      "modelVersion": "1.0",
+      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+    },
+    "requestInfo": {
+      "productFamilyId": "testaaS",
+      "source": "VID",
+      "suppressRollback": false,
+      "requestorId": "ss616y",
+      "instanceName": "instanceName"
+    },
+    "subscriberInfo": {
+      "globalSubscriberId": "21014aa2-526b-11e6-beb8-9e71128cae77"
+    },
+    "requestParameters": {
+      "subscriptionServiceType": "test",
+      "userParams": [
+        {
+          "service": {
+            "modelInfo": {
+              "modelInvariantId": "282bdcd2-34ed-4665-9ab2-63455814531d",
+		      "modelType": "service",
+		      "modelName": "MOW_ADIG_test_BV_IST",
+		      "modelVersion": "1.0",
+		      "modelVersionId": "109a153e-325f-4df5-8161-edd91314daed",
+		      "modelUuid": "109a153e-325f-4df5-8161-edd91314daee",
+		      "modelInvariantUuid": "282bdcd2-34ed-4665-9ab2-63455814531d"
+            },
+            "instanceName" : "test",
+            "instanceParams": [
+              {
+                "mow_adig_test_bv_ist0_bandwidth": "10",
+                "mow_adig_test_bv_ist0_ASN": "2685",
+                "mow_adig_test_bv_ist0_availability_zone_0": "mdt25b-kvm-az01",
+                "mow_adig_test_bv_ist0_AIC_CLLI": "MTSNJA4LCP1",
+                "mow_adig_test_bv_ist0_vnf_config_template_version": "17.2",
+                "mow_adig_test_bv_ist0_vnf_instance_name": "wswdc403me6",
+                "mow_adig_test_bv_ist0_bandwidth_units": "Gbps"
+              }
+            ],
+            "resources": {
+              "vnfs": [
+                {
+                  "modelInfo": {
+                    "modelCustomizationName": "MOW_ADIG_test_BV_IST 0",
+                    "modelCustomizationId": "31d41ef2-0a3e-43bf-a4f0-0b1f31b1cbac",
+                    "modelInvariantId": "33fb95d0-5f18-4dfb-8e7d-0c8ac8d743c5",
+                    "modelVersionId": "bdf50902-4b07-4dcf-a2e2-ec6cfe568798",
+                    "modelName": "MOW_ADIG_test_BV_IST",
+                    "modelType": "service",
+                    "modelVersion": "2.0"
+                  },
+                  "cloudConfiguration": {
+                    "lcpCloudRegionId": "mdt25b",
+                    "tenantId": "aefb697db6524ddebfe4915591b0a347"
+                  },
+                  "platform": {
+                    "platformName": "AIC"
+                  },
+                  "lineOfBusiness": {},
+                  "productFamilyId": "testaaS",
+                  "instanceParams": [
+	                  {
+	                  	"mow_adig_test_bv_ist0_vnf_config_template": "17.2",
+		                "mow_adig_test_bv_ist0_vnf_instance": "wswdc403me6",
+		                "mow_adig_test_bv_ist0_bandwidth": "Gbps"
+	                  }
+                  ],
+                  "vfModules": [
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelCustomizationId": "34c57c2d-cf19-4926-9296-acde6a967f70",
+                        "modelInvariantId": "f3093158-a609-41d5-a2fb-07dbc0ca8096",
+                        "modelVersionId": "2507f79d-6e1b-413b-b2a8-c434113ff862",
+                        "modelName": "MowAdigtestBvIst..ADIG_vRE_BV_v2..module-1",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": [
+                      	{
+		                  	"mow_adig_test_ist0_vnf_config_template_version": "17.2",
+			                "mow_adig_test_ist0_vnf_instance_name": "wswdc403me6",
+			                "mow_adig_test_ist0_bandwidth_units": "Gbps"
+	                  	}
+                      ]
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelCustomizationId": "f4a414c4-b71a-43ed-82be-51478d7e154f",
+                        "modelInvariantId": "af867fdc-3808-4b62-ae76-bdb1b9ae7ee8",
+                        "modelVersionId": "3fcf6cb6-2ef2-4154-99a6-06ce889c79f1",
+                        "modelName": "MowAdigtestBvIst..ADIG_base_test_BV_v2..module-0",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      },
+                      "instanceParams": []
+                    },
+                    {
+                      "modelInfo": {
+                        "modelCustomizationName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelCustomizationId": "583c2280-23d9-4338-a607-69c238d4899d",
+                        "modelInvariantId": "90c2be4f-cb6f-4e75-9c65-04fdc5c30cef",
+                        "modelVersionId": "7c8a69e0-6612-4b7b-8e9c-fb8b9f31cb4f",
+                        "modelName": "MowAdigtestBvIst..ADIG_vPFE_BV_v2..module-2",
+                        "modelType": "service",
+                        "modelVersion": "1"
+                      }
+                    }
+                  ]
+                }
+              ]
+            }
+          }
+        }
+      ],
+      "aLaCarte": false
+    },
+    "project": {
+      "projectName": "GigaPower"
+    },
+    "owningEntity": {
+      "owningEntityId": "2811e2fb-005e-40de-990b-c0794f362399",
+      "owningEntityName": "PACKET-CORE"
+    }
+  }
+}
\ No newline at end of file