diff --git a/pallets/distance/src/lib.rs b/pallets/distance/src/lib.rs
index a45bcce4fd780b775d342665e192d2d3bcfc5b98..21052510a264fe86cd6235c68f71cab5317e4c4e 100644
--- a/pallets/distance/src/lib.rs
+++ b/pallets/distance/src/lib.rs
@@ -146,8 +146,9 @@ pub mod pallet {
     #[pallet::event]
     #[pallet::generate_deposit(pub(super) fn deposit_event)]
     pub enum Event<T: Config<I>, I: 'static = ()> {
-        /// TODO: define
-        EvalutionSuccess,
+        EvaluationSuccess(IdtyIndex),
+        EvaluationFailure(IdtyIndex),
+        EvaluationNotProcessed(IdtyIndex),
     }
 
     // ERRORS //
@@ -294,6 +295,7 @@ pub mod pallet {
                         .try_push((idty_index, median::MedianAcc::new()))
                         .map_err(|_| Error::<T, I>::QueueFull)?; // TODO: never raised because of preceding ensure!()?
 
+                    IdentitiesDistanceStatus::<T, I>::insert(idty_index, DistanceStatus::Pending);
                     Ok(())
                 },
             )
@@ -373,16 +375,19 @@ pub mod pallet {
                             &account_id,
                             <T as Config<I>>::EvaluationPrice::get(),
                         );
+                        Self::deposit_event(Event::EvaluationSuccess(idty));
                     } else {
                         IdentitiesDistanceStatus::<T, I>::remove(idty);
                         <T as Config<I>>::Currency::slash_reserved(
                             &account_id,
                             <T as Config<I>>::EvaluationPrice::get(),
                         );
+                        Self::deposit_event(Event::EvaluationFailure(idty));
                     }
                 } else {
                     IdentitiesDistanceStatus::<T, I>::remove(idty);
                     T::Currency::unreserve(&account_id, <T as Config<I>>::EvaluationPrice::get());
+                    Self::deposit_event(Event::EvaluationNotProcessed(idty));
                 }
             }
             Weight::zero()
diff --git a/pallets/distance/src/tests.rs b/pallets/distance/src/tests.rs
index 8aff91a5723a950e142591b4247e762dc9b5ed48..9443682b7b0ec292bc49511c47b1fb58a5bc0a12 100644
--- a/pallets/distance/src/tests.rs
+++ b/pallets/distance/src/tests.rs
@@ -65,6 +65,11 @@ fn basic_single_distance() {
         // Other pools have never been used
         assert_eq!(pallet::EvaluationPool0::<Test>::get().0.len(), 0);
         assert_eq!(pallet::EvaluationPool1::<Test>::get().0.len(), 0);
+
+        run_to_block(SESSION_3_START);
+        System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationSuccess {
+            0: *IDTY_0,
+        }));
     });
 }
 
@@ -165,6 +170,9 @@ fn multiple_authors() {
             pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0),
             Some(Valid)
         ); // now valid!
+        System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationSuccess {
+            0: *IDTY_0,
+        }));
     });
 }
 
@@ -198,8 +206,11 @@ fn distance_failure() {
 
         // Finally session 4
         run_to_block(SESSION_3_START);
-        assert_eq!(pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0), None);
         // distance failure
+        assert_eq!(pallet::IdentitiesDistanceStatus::<Test>::get(IDTY_0), None);
+        System::assert_has_event(RuntimeEvent::Distance(pallet::Event::EvaluationFailure {
+            0: *IDTY_0,
+        }));
         // TODO: test: variant Two
     });
 }