<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: keyapis/user/v1/keyapis_user_user_v1.proto

namespace Keyapis\User\V1;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Пользователь
 *
 * Generated from protobuf message <code>keyapis.user.v1.User</code>
 */
class User extends \Google\Protobuf\Internal\Message
{
    /**
     * Идентификатор.
     * # Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     */
    protected $id = 0;
    /**
     * Тип пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.Type type = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $type = 0;
    /**
     * Статус пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.StatusType status_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $status_type = 0;
    /**
     * Логин.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue login = 4;</code>
     */
    protected $login = null;
    /**
     * Электронная почта.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 5;</code>
     */
    protected $email = null;
    /**
     * Номер телефона.
     * # Диапазон: 5..14
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 6;</code>
     */
    protected $phone_number = null;
    /**
     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value company_id = 7;</code>
     */
    protected $company_id = null;
    /**
     * Идентификатор МРФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value mrf_id = 8;</code>
     */
    protected $mrf_id = null;
    /**
     * Идентификатор РФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value rf_id = 9;</code>
     */
    protected $rf_id = null;
    /**
     * Дата создания.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $created_at = null;
    /**
     * Дата изменения.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 11;</code>
     */
    protected $changed_at = null;
    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp activated_at = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $activated_at = null;
    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp blocked_at = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $blocked_at = null;
    /**
     * Идентификатор создавшего пользователя.
     * Берется из токена.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value creator_user_id = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $creator_user_id = null;
    /**
     * Идентификатор пользователя-владельца.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value owner_user_id = 15;</code>
     */
    protected $owner_user_id = null;
    /**
     * Электронная почта для чеков.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue invoice_email = 16;</code>
     */
    protected $invoice_email = null;
    /**
     * Идентификатор пользователя в Видеонаблюдении.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value vc_user_id = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $vc_user_id = null;
    /**
     * Описание
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue description = 18;</code>
     */
    protected $description = null;
    /**
     * Идентификатор пользователя в сервисе ustore.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value ustore_user_id = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $ustore_user_id = null;
    /**
     * Адрес окружения для внутренних пользователей
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue env_url = 20;</code>
     */
    protected $env_url = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $id
     *           Идентификатор.
     *           # Диапазон: 0..2147483647
     *     @type int $type
     *           Тип пользователя
     *     @type int $status_type
     *           Статус пользователя
     *     @type \Google\Protobuf\StringValue $login
     *           Логин.
     *           # Диапазон: 3..64
     *     @type \Google\Protobuf\StringValue $email
     *           Электронная почта.
     *           # Диапазон: 4..256
     *     @type \Google\Protobuf\StringValue $phone_number
     *           Номер телефона.
     *           # Диапазон: 5..14
     *     @type \Google\Protobuf\Int32Value $company_id
     *           Идентификатор компании.
     *           # Диапазон: 1..2147483647
     *     @type \Google\Protobuf\Int32Value $mrf_id
     *           Идентификатор МРФ
     *     @type \Google\Protobuf\Int32Value $rf_id
     *           Идентификатор РФ
     *     @type \Google\Protobuf\Timestamp $created_at
     *           Дата создания.
     *           # Тип: DateTime
     *     @type \Google\Protobuf\Timestamp $changed_at
     *           Дата изменения.
     *           # Тип: DateTime
     *     @type \Google\Protobuf\Timestamp $activated_at
     *           Дата активации.
     *           # Тип: DateTime
     *     @type \Google\Protobuf\Timestamp $blocked_at
     *           Дата активации.
     *           # Тип: DateTime
     *     @type \Google\Protobuf\Int32Value $creator_user_id
     *           Идентификатор создавшего пользователя.
     *           Берется из токена.
     *           # Диапазон: 1..2147483647
     *     @type \Google\Protobuf\Int32Value $owner_user_id
     *           Идентификатор пользователя-владельца.
     *           # Диапазон: 1..2147483647
     *     @type \Google\Protobuf\StringValue $invoice_email
     *           Электронная почта для чеков.
     *           # Диапазон: 4..256
     *     @type \Google\Protobuf\Int32Value $vc_user_id
     *           Идентификатор пользователя в Видеонаблюдении.
     *           Вычисляется на стороне сервера при создании пользователя
     *     @type \Google\Protobuf\StringValue $description
     *           Описание
     *     @type \Google\Protobuf\Int32Value $ustore_user_id
     *           Идентификатор пользователя в сервисе ustore.
     *           Вычисляется на стороне сервера при создании пользователя
     *     @type \Google\Protobuf\StringValue $env_url
     *           Адрес окружения для внутренних пользователей
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\User\V1\KeyapisUserUserV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Идентификатор.
     * # Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Идентификатор.
     * # Диапазон: 0..2147483647
     *
     * Generated from protobuf field <code>int32 id = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setId($var)
    {
        GPBUtil::checkInt32($var);
        $this->id = $var;

        return $this;
    }

    /**
     * Тип пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.Type type = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return int
     */
    public function getType()
    {
        return $this->type;
    }

    /**
     * Тип пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.Type type = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param int $var
     * @return $this
     */
    public function setType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\User\V1\User\Type::class);
        $this->type = $var;

        return $this;
    }

    /**
     * Статус пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.StatusType status_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int
     */
    public function getStatusType()
    {
        return $this->status_type;
    }

    /**
     * Статус пользователя
     *
     * Generated from protobuf field <code>.keyapis.user.v1.User.StatusType status_type = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int $var
     * @return $this
     */
    public function setStatusType($var)
    {
        GPBUtil::checkEnum($var, \Keyapis\User\V1\User\StatusType::class);
        $this->status_type = $var;

        return $this;
    }

    /**
     * Логин.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue login = 4;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getLogin()
    {
        return $this->login;
    }

    public function hasLogin()
    {
        return isset($this->login);
    }

    public function clearLogin()
    {
        unset($this->login);
    }

    /**
     * Returns the unboxed value from <code>getLogin()</code>

     * Логин.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue login = 4;</code>
     * @return string|null
     */
    public function getLoginUnwrapped()
    {
        return $this->readWrapperValue("login");
    }

    /**
     * Логин.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue login = 4;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setLogin($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->login = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Логин.
     * # Диапазон: 3..64
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue login = 4;</code>
     * @param string|null $var
     * @return $this
     */
    public function setLoginUnwrapped($var)
    {
        $this->writeWrapperValue("login", $var);
        return $this;}

    /**
     * Электронная почта.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 5;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getEmail()
    {
        return $this->email;
    }

    public function hasEmail()
    {
        return isset($this->email);
    }

    public function clearEmail()
    {
        unset($this->email);
    }

    /**
     * Returns the unboxed value from <code>getEmail()</code>

     * Электронная почта.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 5;</code>
     * @return string|null
     */
    public function getEmailUnwrapped()
    {
        return $this->readWrapperValue("email");
    }

    /**
     * Электронная почта.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 5;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setEmail($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->email = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Электронная почта.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 5;</code>
     * @param string|null $var
     * @return $this
     */
    public function setEmailUnwrapped($var)
    {
        $this->writeWrapperValue("email", $var);
        return $this;}

    /**
     * Номер телефона.
     * # Диапазон: 5..14
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 6;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getPhoneNumber()
    {
        return $this->phone_number;
    }

    public function hasPhoneNumber()
    {
        return isset($this->phone_number);
    }

    public function clearPhoneNumber()
    {
        unset($this->phone_number);
    }

    /**
     * Returns the unboxed value from <code>getPhoneNumber()</code>

     * Номер телефона.
     * # Диапазон: 5..14
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 6;</code>
     * @return string|null
     */
    public function getPhoneNumberUnwrapped()
    {
        return $this->readWrapperValue("phone_number");
    }

    /**
     * Номер телефона.
     * # Диапазон: 5..14
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 6;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setPhoneNumber($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->phone_number = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Номер телефона.
     * # Диапазон: 5..14
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 6;</code>
     * @param string|null $var
     * @return $this
     */
    public function setPhoneNumberUnwrapped($var)
    {
        $this->writeWrapperValue("phone_number", $var);
        return $this;}

    /**
     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value company_id = 7;</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getCompanyId()
    {
        return $this->company_id;
    }

    public function hasCompanyId()
    {
        return isset($this->company_id);
    }

    public function clearCompanyId()
    {
        unset($this->company_id);
    }

    /**
     * Returns the unboxed value from <code>getCompanyId()</code>

     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value company_id = 7;</code>
     * @return int|null
     */
    public function getCompanyIdUnwrapped()
    {
        return $this->readWrapperValue("company_id");
    }

    /**
     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value company_id = 7;</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setCompanyId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->company_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор компании.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value company_id = 7;</code>
     * @param int|null $var
     * @return $this
     */
    public function setCompanyIdUnwrapped($var)
    {
        $this->writeWrapperValue("company_id", $var);
        return $this;}

    /**
     * Идентификатор МРФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value mrf_id = 8;</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getMrfId()
    {
        return $this->mrf_id;
    }

    public function hasMrfId()
    {
        return isset($this->mrf_id);
    }

    public function clearMrfId()
    {
        unset($this->mrf_id);
    }

    /**
     * Returns the unboxed value from <code>getMrfId()</code>

     * Идентификатор МРФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value mrf_id = 8;</code>
     * @return int|null
     */
    public function getMrfIdUnwrapped()
    {
        return $this->readWrapperValue("mrf_id");
    }

    /**
     * Идентификатор МРФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value mrf_id = 8;</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setMrfId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->mrf_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор МРФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value mrf_id = 8;</code>
     * @param int|null $var
     * @return $this
     */
    public function setMrfIdUnwrapped($var)
    {
        $this->writeWrapperValue("mrf_id", $var);
        return $this;}

    /**
     * Идентификатор РФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value rf_id = 9;</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getRfId()
    {
        return $this->rf_id;
    }

    public function hasRfId()
    {
        return isset($this->rf_id);
    }

    public function clearRfId()
    {
        unset($this->rf_id);
    }

    /**
     * Returns the unboxed value from <code>getRfId()</code>

     * Идентификатор РФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value rf_id = 9;</code>
     * @return int|null
     */
    public function getRfIdUnwrapped()
    {
        return $this->readWrapperValue("rf_id");
    }

    /**
     * Идентификатор РФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value rf_id = 9;</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setRfId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->rf_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор РФ
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value rf_id = 9;</code>
     * @param int|null $var
     * @return $this
     */
    public function setRfIdUnwrapped($var)
    {
        $this->writeWrapperValue("rf_id", $var);
        return $this;}

    /**
     * Дата создания.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getCreatedAt()
    {
        return $this->created_at;
    }

    public function hasCreatedAt()
    {
        return isset($this->created_at);
    }

    public function clearCreatedAt()
    {
        unset($this->created_at);
    }

    /**
     * Дата создания.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp created_at = 10 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setCreatedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->created_at = $var;

        return $this;
    }

    /**
     * Дата изменения.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 11;</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getChangedAt()
    {
        return $this->changed_at;
    }

    public function hasChangedAt()
    {
        return isset($this->changed_at);
    }

    public function clearChangedAt()
    {
        unset($this->changed_at);
    }

    /**
     * Дата изменения.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp changed_at = 11;</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setChangedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->changed_at = $var;

        return $this;
    }

    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp activated_at = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getActivatedAt()
    {
        return $this->activated_at;
    }

    public function hasActivatedAt()
    {
        return isset($this->activated_at);
    }

    public function clearActivatedAt()
    {
        unset($this->activated_at);
    }

    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp activated_at = 12 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setActivatedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->activated_at = $var;

        return $this;
    }

    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp blocked_at = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Timestamp|null
     */
    public function getBlockedAt()
    {
        return $this->blocked_at;
    }

    public function hasBlockedAt()
    {
        return isset($this->blocked_at);
    }

    public function clearBlockedAt()
    {
        unset($this->blocked_at);
    }

    /**
     * Дата активации.
     * # Тип: DateTime
     *
     * Generated from protobuf field <code>.google.protobuf.Timestamp blocked_at = 13 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Timestamp $var
     * @return $this
     */
    public function setBlockedAt($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class);
        $this->blocked_at = $var;

        return $this;
    }

    /**
     * Идентификатор создавшего пользователя.
     * Берется из токена.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value creator_user_id = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getCreatorUserId()
    {
        return $this->creator_user_id;
    }

    public function hasCreatorUserId()
    {
        return isset($this->creator_user_id);
    }

    public function clearCreatorUserId()
    {
        unset($this->creator_user_id);
    }

    /**
     * Returns the unboxed value from <code>getCreatorUserId()</code>

     * Идентификатор создавшего пользователя.
     * Берется из токена.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value creator_user_id = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int|null
     */
    public function getCreatorUserIdUnwrapped()
    {
        return $this->readWrapperValue("creator_user_id");
    }

    /**
     * Идентификатор создавшего пользователя.
     * Берется из токена.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value creator_user_id = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setCreatorUserId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->creator_user_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор создавшего пользователя.
     * Берется из токена.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value creator_user_id = 14 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int|null $var
     * @return $this
     */
    public function setCreatorUserIdUnwrapped($var)
    {
        $this->writeWrapperValue("creator_user_id", $var);
        return $this;}

    /**
     * Идентификатор пользователя-владельца.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value owner_user_id = 15;</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getOwnerUserId()
    {
        return $this->owner_user_id;
    }

    public function hasOwnerUserId()
    {
        return isset($this->owner_user_id);
    }

    public function clearOwnerUserId()
    {
        unset($this->owner_user_id);
    }

    /**
     * Returns the unboxed value from <code>getOwnerUserId()</code>

     * Идентификатор пользователя-владельца.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value owner_user_id = 15;</code>
     * @return int|null
     */
    public function getOwnerUserIdUnwrapped()
    {
        return $this->readWrapperValue("owner_user_id");
    }

    /**
     * Идентификатор пользователя-владельца.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value owner_user_id = 15;</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setOwnerUserId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->owner_user_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор пользователя-владельца.
     * # Диапазон: 1..2147483647
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value owner_user_id = 15;</code>
     * @param int|null $var
     * @return $this
     */
    public function setOwnerUserIdUnwrapped($var)
    {
        $this->writeWrapperValue("owner_user_id", $var);
        return $this;}

    /**
     * Электронная почта для чеков.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue invoice_email = 16;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getInvoiceEmail()
    {
        return $this->invoice_email;
    }

    public function hasInvoiceEmail()
    {
        return isset($this->invoice_email);
    }

    public function clearInvoiceEmail()
    {
        unset($this->invoice_email);
    }

    /**
     * Returns the unboxed value from <code>getInvoiceEmail()</code>

     * Электронная почта для чеков.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue invoice_email = 16;</code>
     * @return string|null
     */
    public function getInvoiceEmailUnwrapped()
    {
        return $this->readWrapperValue("invoice_email");
    }

    /**
     * Электронная почта для чеков.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue invoice_email = 16;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setInvoiceEmail($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->invoice_email = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Электронная почта для чеков.
     * # Диапазон: 4..256
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue invoice_email = 16;</code>
     * @param string|null $var
     * @return $this
     */
    public function setInvoiceEmailUnwrapped($var)
    {
        $this->writeWrapperValue("invoice_email", $var);
        return $this;}

    /**
     * Идентификатор пользователя в Видеонаблюдении.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value vc_user_id = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getVcUserId()
    {
        return $this->vc_user_id;
    }

    public function hasVcUserId()
    {
        return isset($this->vc_user_id);
    }

    public function clearVcUserId()
    {
        unset($this->vc_user_id);
    }

    /**
     * Returns the unboxed value from <code>getVcUserId()</code>

     * Идентификатор пользователя в Видеонаблюдении.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value vc_user_id = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int|null
     */
    public function getVcUserIdUnwrapped()
    {
        return $this->readWrapperValue("vc_user_id");
    }

    /**
     * Идентификатор пользователя в Видеонаблюдении.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value vc_user_id = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setVcUserId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->vc_user_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор пользователя в Видеонаблюдении.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value vc_user_id = 17 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int|null $var
     * @return $this
     */
    public function setVcUserIdUnwrapped($var)
    {
        $this->writeWrapperValue("vc_user_id", $var);
        return $this;}

    /**
     * Описание
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue description = 18;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getDescription()
    {
        return $this->description;
    }

    public function hasDescription()
    {
        return isset($this->description);
    }

    public function clearDescription()
    {
        unset($this->description);
    }

    /**
     * Returns the unboxed value from <code>getDescription()</code>

     * Описание
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue description = 18;</code>
     * @return string|null
     */
    public function getDescriptionUnwrapped()
    {
        return $this->readWrapperValue("description");
    }

    /**
     * Описание
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue description = 18;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setDescription($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->description = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Описание
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue description = 18;</code>
     * @param string|null $var
     * @return $this
     */
    public function setDescriptionUnwrapped($var)
    {
        $this->writeWrapperValue("description", $var);
        return $this;}

    /**
     * Идентификатор пользователя в сервисе ustore.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value ustore_user_id = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return \Google\Protobuf\Int32Value|null
     */
    public function getUstoreUserId()
    {
        return $this->ustore_user_id;
    }

    public function hasUstoreUserId()
    {
        return isset($this->ustore_user_id);
    }

    public function clearUstoreUserId()
    {
        unset($this->ustore_user_id);
    }

    /**
     * Returns the unboxed value from <code>getUstoreUserId()</code>

     * Идентификатор пользователя в сервисе ustore.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value ustore_user_id = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int|null
     */
    public function getUstoreUserIdUnwrapped()
    {
        return $this->readWrapperValue("ustore_user_id");
    }

    /**
     * Идентификатор пользователя в сервисе ustore.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value ustore_user_id = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param \Google\Protobuf\Int32Value $var
     * @return $this
     */
    public function setUstoreUserId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\Int32Value::class);
        $this->ustore_user_id = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\Int32Value object.

     * Идентификатор пользователя в сервисе ustore.
     * Вычисляется на стороне сервера при создании пользователя
     *
     * Generated from protobuf field <code>.google.protobuf.Int32Value ustore_user_id = 19 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int|null $var
     * @return $this
     */
    public function setUstoreUserIdUnwrapped($var)
    {
        $this->writeWrapperValue("ustore_user_id", $var);
        return $this;}

    /**
     * Адрес окружения для внутренних пользователей
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue env_url = 20;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getEnvUrl()
    {
        return $this->env_url;
    }

    public function hasEnvUrl()
    {
        return isset($this->env_url);
    }

    public function clearEnvUrl()
    {
        unset($this->env_url);
    }

    /**
     * Returns the unboxed value from <code>getEnvUrl()</code>

     * Адрес окружения для внутренних пользователей
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue env_url = 20;</code>
     * @return string|null
     */
    public function getEnvUrlUnwrapped()
    {
        return $this->readWrapperValue("env_url");
    }

    /**
     * Адрес окружения для внутренних пользователей
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue env_url = 20;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setEnvUrl($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->env_url = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\StringValue object.

     * Адрес окружения для внутренних пользователей
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue env_url = 20;</code>
     * @param string|null $var
     * @return $this
     */
    public function setEnvUrlUnwrapped($var)
    {
        $this->writeWrapperValue("env_url", $var);
        return $this;}

}

