diff --git a/vid-app-common/src/main/java/org/openecomp/vid/asdc/beans/tosca/ToscaMetadata.java b/vid-app-common/src/main/java/org/openecomp/vid/asdc/beans/tosca/ToscaMetadata.java
index d42c1f1..41c7ca5 100755
--- a/vid-app-common/src/main/java/org/openecomp/vid/asdc/beans/tosca/ToscaMetadata.java
+++ b/vid-app-common/src/main/java/org/openecomp/vid/asdc/beans/tosca/ToscaMetadata.java
@@ -61,6 +61,9 @@
 	/** The resource vendor release. */
 	private String resourceVendorRelease;
 	
+	/** the resourceVendorModelNumber */
+	private String resourceVendorModelNumber;
+
 	/** The service ecomp naming. */
 	private String serviceEcompNaming;
 	
@@ -88,6 +91,11 @@
 	
 	/** The vf module model version. */
 	private String vfModuleModelVersion;
+
+        /** serviceType */
+        private String serviceType;
+        /** serviceRole */
+        private String serviceRole;
 	
 	/**
 	 * Instantiates a new tosca metadata.
@@ -458,4 +466,26 @@
 		
 		return vfModuleModelCustomizationUUID;
 	}
+
+        /** serviceType */
+        public String getServiceType() {
+                return serviceType;
+        }
+        public void setServiceType(String serviceType) {
+                this.serviceType= serviceType;
+        }
+        /** serviceRole */
+        public String getServiceRole() {
+                return serviceRole;
+        }
+        public void setServiceRole(String serviceRole) {
+                this.serviceRole= serviceRole;
+        }
+        /** resourceVendorModelNumber */
+        public String getResourceVendorModelNumber() {
+                return resourceVendorModelNumber;
+        }
+        public void setResourceVendorModelNumber(String resourceVendorModelNumber) {
+                this.resourceVendorModelNumber= resourceVendorModelNumber;
+        }
 }
