diff --git a/pkg/model/nats.go b/pkg/model/nats.go
index 7a69450..0808a89 100644
--- a/pkg/model/nats.go
+++ b/pkg/model/nats.go
@@ -17,6 +17,17 @@ type CreateMapfixRequest struct {
 	TargetAssetID uint64
 }
 
+
+type CheckSubmissionRequest struct{
+	SubmissionID int64
+	ModelID      uint64
+}
+
+type CheckMapfixRequest struct{
+	MapfixID int64
+	ModelID  uint64
+}
+
 type ValidateSubmissionRequest struct {
 	// submission_id is passed back in the response message
 	SubmissionID       int64
diff --git a/pkg/service/mapfixes.go b/pkg/service/mapfixes.go
index 18207f2..20529fd 100644
--- a/pkg/service/mapfixes.go
+++ b/pkg/service/mapfixes.go
@@ -490,7 +490,7 @@ func (svc *Service) ActionMapfixTriggerSubmit(ctx context.Context, params api.Ac
 	}
 
 	// transaction
-	target_status := model.MapfixStatusSubmitted
+	target_status := model.MapfixStatusSubmitting
 	smap := datastore.Optional()
 	smap.Add("status_id", target_status)
 	err = svc.DB.Mapfixes().IfStatusThenUpdate(ctx, params.MapfixID, []model.MapfixStatus{model.MapfixStatusUnderConstruction, model.MapfixStatusChangesRequested}, smap)
@@ -498,6 +498,21 @@ func (svc *Service) ActionMapfixTriggerSubmit(ctx context.Context, params api.Ac
 		return err
 	}
 
+	validate_request := model.CheckMapfixRequest{
+		MapfixID: mapfix.ID,
+		ModelID:  mapfix.AssetID,
+	}
+
+	j, err := json.Marshal(validate_request)
+	if err != nil {
+		return err
+	}
+
+	_, err = svc.Nats.Publish("maptest.mapfixes.check", []byte(j))
+	if err != nil {
+		return err
+	}
+
 	event_data := model.AuditEventDataAction{
 		TargetStatus: uint32(target_status),
 	}
diff --git a/pkg/service/submissions.go b/pkg/service/submissions.go
index c81c24a..3487fac 100644
--- a/pkg/service/submissions.go
+++ b/pkg/service/submissions.go
@@ -511,7 +511,7 @@ func (svc *Service) ActionSubmissionTriggerSubmit(ctx context.Context, params ap
 	}
 
 	// transaction
-	target_status := model.SubmissionStatusSubmitted
+	target_status := model.SubmissionStatusSubmitting
 	smap := datastore.Optional()
 	smap.Add("status_id", target_status)
 	err = svc.DB.Submissions().IfStatusThenUpdate(ctx, params.SubmissionID, []model.SubmissionStatus{model.SubmissionStatusUnderConstruction, model.SubmissionStatusChangesRequested}, smap)
@@ -519,6 +519,21 @@ func (svc *Service) ActionSubmissionTriggerSubmit(ctx context.Context, params ap
 		return err
 	}
 
+	validate_request := model.CheckSubmissionRequest{
+		SubmissionID: submission.ID,
+		ModelID:      submission.AssetID,
+	}
+
+	j, err := json.Marshal(validate_request)
+	if err != nil {
+		return err
+	}
+
+	_, err = svc.Nats.Publish("maptest.submissions.check", []byte(j))
+	if err != nil {
+		return err
+	}
+
 	event_data := model.AuditEventDataAction{
 		TargetStatus: uint32(target_status),
 	}