diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkResource.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkResource.java
index b6151f1..025b13b 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkResource.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/NetworkResource.java
@@ -41,6 +41,8 @@
 	private String toscaNodeType;
 	private Timestamp created;
 	private String modelUUID;
+    private String category;
+    private String subCategory;
 	private String heatTemplateArtifactUUID;
 	
 	public NetworkResource() {}
@@ -123,8 +125,40 @@
 	public void setModelUUID(String modelUUID) {
 		this.modelUUID = modelUUID;
 	}
+	
+	
+    /**
+     * @return Returns the category.
+     */
+    public String getCategory() {
+        return category;
+    }
 
-	public String getHeatTemplateArtifactUUID() {
+    
+    /**
+     * @param category The category to set.
+     */
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    
+    /**
+     * @return Returns the subCategory.
+     */
+    public String getSubCategory() {
+        return subCategory;
+    }
+
+    
+    /**
+     * @param subCategory The subCategory to set.
+     */
+    public void setSubCategory(String subCategory) {
+        this.subCategory = subCategory;
+    }
+
+    public String getHeatTemplateArtifactUUID() {
 		return heatTemplateArtifactUUID;
 	}
 
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java
index fe7b7a3..beb021a 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/Service.java
@@ -39,6 +39,7 @@
 	private Timestamp created;
 	private String toscaCsarArtifactUUID;
 	private String modelVersion;
+	private String category;
 	private String serviceType;
 	private String serviceRole;
 	private Map<String,ServiceRecipe> recipes;
@@ -115,8 +116,22 @@
 		this.modelVersion = modelVersion;
 	}
 
-	
-	public String getServiceType() {
+    /**
+     * @return Returns the category.
+     */
+    public String getCategory() {
+        return category;
+    }
+
+    
+    /**
+     * @param category The category to set.
+     */
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    public String getServiceType() {
 		return serviceType;
 	}
 
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java
index 8fe8127..0872f14 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/beans/VnfResource.java
@@ -43,6 +43,8 @@
     private String orchestrationMode;
     private String aicVersionMin;
     private String aicVersionMax;
+    private String category;
+    private String subCategory;
     private String heatTemplateArtifactUUId;
     private Timestamp created;
     private String modelVersion;
@@ -108,7 +110,39 @@
 		this.aicVersionMax = aicVersionMax;
 	}
 
-	public String getModelInvariantUuid() {
+	
+    /**
+     * @return Returns the category.
+     */
+    public String getCategory() {
+        return category;
+    }
+
+    
+    /**
+     * @param category The category to set.
+     */
+    public void setCategory(String category) {
+        this.category = category;
+    }
+
+    
+    /**
+     * @return Returns the subCategory.
+     */
+    public String getSubCategory() {
+        return subCategory;
+    }
+
+    
+    /**
+     * @param subCategory The subCategory to set.
+     */
+    public void setSubCategory(String subCategory) {
+        this.subCategory = subCategory;
+    }
+
+    public String getModelInvariantUuid() {
 		return this.modelInvariantUuid;
 	}
 
diff --git a/mso-catalog-db/src/main/resources/NetworkResource.hbm.xml b/mso-catalog-db/src/main/resources/NetworkResource.hbm.xml
index 1599cf5..41e049a 100644
--- a/mso-catalog-db/src/main/resources/NetworkResource.hbm.xml
+++ b/mso-catalog-db/src/main/resources/NetworkResource.hbm.xml
@@ -35,6 +35,8 @@
 		<property name="neutronNetworkType" 		column="NEUTRON_NETWORK_TYPE" 			type="string" 	length="20"/>
 		<property name="description" 				column="DESCRIPTION" 					type="string" 	length="1200"/>
 		<property name="orchestrationMode" 			column="ORCHESTRATION_MODE" 			type="string" 	length="20"/>
+		<property name="category" 				    column="RESOURCE_CATEGORY"              type="string" 	length="20"/>
+		<property name="subCategory" 				column="RESOURCE_SUB_CATEGORY" 	        type="string" 	length="20"/>
 		<property name="heatTemplateArtifactUUID"	column="HEAT_TEMPLATE_ARTIFACT_UUID" 	type="string"	length="200"	not-null="true" />
 
 		<property name="aicVersionMin" type="string" >
diff --git a/mso-catalog-db/src/main/resources/Service.hbm.xml b/mso-catalog-db/src/main/resources/Service.hbm.xml
index 5bdb0f6..70f5731 100644
--- a/mso-catalog-db/src/main/resources/Service.hbm.xml
+++ b/mso-catalog-db/src/main/resources/Service.hbm.xml
@@ -39,6 +39,7 @@
 		<property name="modelInvariantUUID" type="string">
            <column name="MODEL_INVARIANT_UUID" default="'MANUAL_RECORD'" not-null="true" length="200"/>
         </property>
+        <property name="category" 				column="SERVICE_CATEGORY" 				type="string" 		length="20"/>
         <property name="serviceType" 				column="SERVICE_TYPE" 				type="string" 		length="20"/>
         <property name="serviceRole" 				column="SERVICE_ROLE" 				type="string" 		length="20"/>
         
diff --git a/mso-catalog-db/src/main/resources/VnfResource.hbm.xml b/mso-catalog-db/src/main/resources/VnfResource.hbm.xml
index 2647a0f..03d1de5 100644
--- a/mso-catalog-db/src/main/resources/VnfResource.hbm.xml
+++ b/mso-catalog-db/src/main/resources/VnfResource.hbm.xml
@@ -36,6 +36,8 @@
 		<property name="orchestrationMode" 			type="string" 		column="ORCHESTRATION_MODE" 			length="20"		not-null="true"/>
 		<property name="aicVersionMin" 				type="string" 		column="AIC_VERSION_MIN" 				length="20"/>
 		<property name="aicVersionMax" 				type="string" 		column="AIC_VERSION_MAX" 				length="20"/>
+		<property name="category" 				    type="string" 		column="RESOURCE_CATEGORY" 				length="20"/>
+		<property name="subCategory" 				type="string" 		column="RESOURCE_SUB_CATEGORY" 			length="20"/>
 		<property name="heatTemplateArtifactUUId" 	type="string" 		column="HEAT_TEMPLATE_ARTIFACT_UUID" 	length="200" />
 		<property name="created" 					type="timestamp" generated="insert" update="false" insert="false" not-null="true">
           <column name="CREATION_TIMESTAMP" default="CURRENT_TIMESTAMP"/>
