/**
  * Reads data for an event.
  * @param [String => Mixed] $opts
  * @return [String => Mixed]
  * @override FacetofaceEnrol
  */
 public function read(array $opts)
 {
     $this->statuscodes = (object) ['attended' => 100, 'partial' => 90];
     $this->partialAttendanceDurationCredit = 0.5;
     $this->sessionDuration = 0;
     foreach ($opts['session']->dates as $index => $date) {
         $this->sessionDuration -= $date->timestart;
         $this->sessionDuration += $date->timefinish;
     }
     $translatorevents = [];
     foreach ($opts['signups'] as $signupIndex => $signup) {
         $signupEvent = $this->getSignupEvent($signup, $opts);
         if (!is_null($signupEvent)) {
             $translatorevent = array_merge(parent::read($opts)[0], $signupEvent);
             array_push($translatorevents, $translatorevent);
         }
     }
     return $translatorevents;
 }
 /**
  * Reads data for an event.
  * @param [String => Mixed] $opts
  * @return [String => Mixed]
  * @override AttemtStarted
  */
 public function read(array $opts)
 {
     return [array_merge(parent::read($opts)[0], ['recipe' => 'training_session_unenrol'])];
 }