diff --git a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
index 074aa9e..b8b9c45 100644
--- a/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
+++ b/bpmn/so-bpmn-tasks/src/main/java/org/onap/so/bpmn/infrastructure/workflow/tasks/ebb/loader/UserParamsServiceTraversal.java
@@ -115,6 +115,7 @@
         for (Service childService : validate.getResources().getServices()) {
             Resource childServiceResource = new Resource(WorkflowType.SERVICE,
                     childService.getModelInfo().getModelVersionId(), false, serviceResource);
+            childServiceResource.setProcessingPriority(childService.getProcessingPriority());
             childServiceResource.setInstanceName(childService.getInstanceName());
             resourceList.add(childServiceResource);
         }
diff --git a/common/src/main/java/org/onap/so/serviceinstancebeans/Service.java b/common/src/main/java/org/onap/so/serviceinstancebeans/Service.java
index c368f67..14b1ab5 100644
--- a/common/src/main/java/org/onap/so/serviceinstancebeans/Service.java
+++ b/common/src/main/java/org/onap/so/serviceinstancebeans/Service.java
@@ -45,6 +45,9 @@
     private List<Map<String, String>> instanceParams = new ArrayList<>();
     @JsonProperty("resources")
     protected Resources resources;
+    @JsonProperty("processingPriority")
+    protected Integer processingPriority = 0;
+
 
     public ModelInfo getModelInfo() {
         return modelInfo;
@@ -86,9 +89,19 @@
         this.resources = resources;
     }
 
+    public Integer getProcessingPriority() {
+        return processingPriority;
+    }
+
+    public void setProcessingPriority(Integer processingPriority) {
+        this.processingPriority = processingPriority;
+    }
+
+
     @Override
     public String toString() {
         return "Service [modelInfo=" + modelInfo + ", cloudConfiguration=" + cloudConfiguration + ", instanceName="
-                + instanceName + ", instanceParams=" + instanceParams + ", resources=" + resources + "]";
+                + instanceName + ", instanceParams=" + instanceParams + ", resources=" + resources
+                + ", processingPriority=" + processingPriority + "]";
     }
 }
