diff --git a/lms/models.go b/lms/models.go
index ab2147cf2a74d814e007fd80041aacc835eded3f..765eeedb307141cf6907a79ce7321d3d34479c4e 100644
--- a/lms/models.go
+++ b/lms/models.go
@@ -6,13 +6,6 @@ import (
 	"gitlab.sessia.com/sdk/events"
 )
 
-type DecisionAccepted struct {
-	ID      uuid.UUID       `json:"id" validate:"required"`
-	Type    DecisionType    `json:"type" validate:"required"`
-	Payload DecisionPayload `json:"payload" validate:"required"`
-	Approve bool            `json:"approve"`
-}
-
 type DecisionType string
 
 const (
@@ -25,11 +18,32 @@ type DecisionPayload struct {
 	Description string    `json:"description" validate:"required"`
 }
 
-func (r *DecisionAccepted) GetEventName() string {
-	return events.EventNameDecisionAccepted
+type DecisionApproved struct {
+	ID      uuid.UUID       `json:"id" validate:"required"`
+	Type    DecisionType    `json:"type" validate:"required"`
+	Payload DecisionPayload `json:"payload" validate:"required"`
+}
+
+func (r *DecisionApproved) GetEventName() string {
+	return events.EventNameDecisionApproved
+}
+
+func (r *DecisionApproved) Validate() error {
+	validate := validator.New()
+	return validate.Struct(r)
+}
+
+type DecisionNeedApproved struct {
+	ID      uuid.UUID       `json:"id" validate:"required"`
+	Type    DecisionType    `json:"type" validate:"required"`
+	Payload DecisionPayload `json:"payload" validate:"required"`
+}
+
+func (r *DecisionNeedApproved) GetEventName() string {
+	return events.EventNameDecisionNeedApproved
 }
 
-func (r *DecisionAccepted) Validate() error {
+func (r *DecisionNeedApproved) Validate() error {
 	validate := validator.New()
 	return validate.Struct(r)
 }
diff --git a/topics.go b/topics.go
index def4029028f6d9ee1c21fad42a17e546eb777533..59ce7f729bdf5c4d9d9e766721b3d4329261b382 100644
--- a/topics.go
+++ b/topics.go
@@ -33,7 +33,8 @@ const (
 
 	EventNameOrderCompleted = "OrderCompleted"
 
-	EventNameDecisionAccepted = "DecisionAccepted"
+	EventNameDecisionApproved     = "DecisionApproved"
+	EventNameDecisionNeedApproved = "DecisionNeedApproved"
 )
 
 var topicMap = map[string]string{
@@ -69,7 +70,8 @@ var topicMap = map[string]string{
 
 	EventNameOrderCompleted: "eom.order.completed",
 
-	EventNameDecisionAccepted: "lms.decision.accepted",
+	EventNameDecisionApproved:     "lms.decision.approved",
+	EventNameDecisionNeedApproved: "lms.decision.needapproved",
 }
 
 func GetTopicByEventName(eventName string) string {