public function PageLoad()
 {
     $referenceNumber = $this->page->GetReferenceNumber();
     Log::Debug('User: %s, Approving reservation with reference number %s', $this->userSession->UserId, $referenceNumber);
     $series = $this->persistenceService->LoadByReferenceNumber($referenceNumber);
     if ($this->authorization->CanApprove(new ReservationViewAdapter($series), $this->userSession)) {
         $series->Approve($this->userSession);
         $this->handler->Handle($series, $this->page);
     }
 }
 /**
  * @param string $referenceNumber
  * @param int $attributeId
  * @param string $attributeValue
  * @param UserSession $userSession
  * @return string[] Any errors that were returned during reservation update
  */
 public function UpdateAttribute($referenceNumber, $attributeId, $attributeValue, $userSession)
 {
     $reservation = $this->persistenceService->LoadByReferenceNumber($referenceNumber);
     $reservation->UpdateBookedBy($userSession);
     $attributeValues = $reservation->AttributeValues();
     $attributeValues[$attributeId] = $attributeValue;
     $reservation->ChangeAttribute(new AttributeValue($attributeId, $attributeValue));
     $collector = new ManageReservationsUpdateAttributeResultCollector();
     $this->reservationHandler->Handle($reservation, $collector);
     return $collector->errors;
 }