public function requestCode()
    {
        if (!$this->notifyTries->isIntervalSatisfied()) {
            throw new PhoneConfirmationException('Minimum interval between confirmation code requests is not satisfied');
        }
        if (!$this->notifyTries->tries_left) {
            throw new PhoneConfirmationException('Tries are exceeded. Please, contact support.');
        }

        try {
            Contact::perform('notify-confirm-phone', [
                'id' => $this->model->id,
                'type' => $this->model->type,
            ]);
        } catch (ResponseErrorException $e) {
            throw new PhoneConfirmationException('Failed to request code confirmation', 0, $e);
        }

        return true;
    }