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

namespace Keyapis\Multiapp\V1;

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

/**
 * Идентификационный токен
 *
 * Generated from protobuf message <code>keyapis.multiapp.v1.IdTokenPayload</code>
 */
class IdTokenPayload extends \Google\Protobuf\Internal\Message
{
    /**
     * Идентификатор токена
     *
     * Generated from protobuf field <code>string jti = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $jti = '';
    /**
     * Ваучер
     *
     * Generated from protobuf field <code>string nonce = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $nonce = '';
    /**
     * Идентификатор пользователя, для которого выдан токен
     *
     * Generated from protobuf field <code>string sub = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $sub = '';
    /**
     * Роль
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue role = 4;</code>
     */
    protected $role = null;
    /**
     * Номер телефона
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 5;</code>
     */
    protected $phone_number = null;
    /**
     * Электронная почта
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 6;</code>
     */
    protected $email = null;
    /**
     * Идентифкатор ОРПОН
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue orpon = 7;</code>
     */
    protected $orpon = null;
    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue room = 8;</code>
     */
    protected $room = null;
    /**
     * Идентифкатор компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_id = 9;</code>
     */
    protected $company_id = null;
    /**
     * Наименование компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_name = 10;</code>
     */
    protected $company_name = null;
    /**
     * Время авторизации пользователя unix timestamp
     *
     * Generated from protobuf field <code>string auth_time = 11 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $auth_time = '';
    /**
     * Срок истечения действия токен unix timestamp
     *
     * Generated from protobuf field <code>string exp = 12 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $exp = '';
    /**
     * Сервис, выдавший токен
     *
     * Generated from protobuf field <code>string iss = 13 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $iss = '';
    /**
     * Url сервиса, для которого выпустили токен
     *
     * Generated from protobuf field <code>string aud = 14 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $aud = '';
    /**
     * Идентификатор приложения партнёра 
     *
     * Generated from protobuf field <code>string app_id = 15 [(.google.api.field_behavior) = REQUIRED];</code>
     */
    protected $app_id = '';
    /**
     * КЛАДР
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue kladr_id = 16;</code>
     */
    protected $kladr_id = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $jti
     *           Идентификатор токена
     *     @type string $nonce
     *           Ваучер
     *     @type string $sub
     *           Идентификатор пользователя, для которого выдан токен
     *     @type \Google\Protobuf\StringValue $role
     *           Роль
     *     @type \Google\Protobuf\StringValue $phone_number
     *           Номер телефона
     *     @type \Google\Protobuf\StringValue $email
     *           Электронная почта
     *     @type \Google\Protobuf\StringValue $orpon
     *           Идентифкатор ОРПОН
     *     @type \Google\Protobuf\StringValue $room
     *           Номер квартиры
     *     @type \Google\Protobuf\StringValue $company_id
     *           Идентифкатор компании
     *     @type \Google\Protobuf\StringValue $company_name
     *           Наименование компании
     *     @type string $auth_time
     *           Время авторизации пользователя unix timestamp
     *     @type string $exp
     *           Срок истечения действия токен unix timestamp
     *     @type string $iss
     *           Сервис, выдавший токен
     *     @type string $aud
     *           Url сервиса, для которого выпустили токен
     *     @type string $app_id
     *           Идентификатор приложения партнёра 
     *     @type \Google\Protobuf\StringValue $kladr_id
     *           КЛАДР
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Keyapis\Multiapp\V1\KeyapisMultiappPartnerV1::initOnce();
        parent::__construct($data);
    }

    /**
     * Идентификатор токена
     *
     * Generated from protobuf field <code>string jti = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getJti()
    {
        return $this->jti;
    }

    /**
     * Идентификатор токена
     *
     * Generated from protobuf field <code>string jti = 1 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setJti($var)
    {
        GPBUtil::checkString($var, True);
        $this->jti = $var;

        return $this;
    }

    /**
     * Ваучер
     *
     * Generated from protobuf field <code>string nonce = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getNonce()
    {
        return $this->nonce;
    }

    /**
     * Ваучер
     *
     * Generated from protobuf field <code>string nonce = 2 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setNonce($var)
    {
        GPBUtil::checkString($var, True);
        $this->nonce = $var;

        return $this;
    }

    /**
     * Идентификатор пользователя, для которого выдан токен
     *
     * Generated from protobuf field <code>string sub = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getSub()
    {
        return $this->sub;
    }

    /**
     * Идентификатор пользователя, для которого выдан токен
     *
     * Generated from protobuf field <code>string sub = 3 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setSub($var)
    {
        GPBUtil::checkString($var, True);
        $this->sub = $var;

        return $this;
    }

    /**
     * Роль
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue role = 4;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getRole()
    {
        return $this->role;
    }

    public function hasRole()
    {
        return isset($this->role);
    }

    public function clearRole()
    {
        unset($this->role);
    }

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

     * Роль
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue role = 4;</code>
     * @return string|null
     */
    public function getRoleUnwrapped()
    {
        return $this->readWrapperValue("role");
    }

    /**
     * Роль
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue role = 4;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setRole($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->role = $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 role = 4;</code>
     * @param string|null $var
     * @return $this
     */
    public function setRoleUnwrapped($var)
    {
        $this->writeWrapperValue("role", $var);
        return $this;}

    /**
     * Номер телефона
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 5;</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>

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

    /**
     * Номер телефона
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue phone_number = 5;</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.

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

    /**
     * Электронная почта
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 6;</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>

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

    /**
     * Электронная почта
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue email = 6;</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.

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

    /**
     * Идентифкатор ОРПОН
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue orpon = 7;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getOrpon()
    {
        return $this->orpon;
    }

    public function hasOrpon()
    {
        return isset($this->orpon);
    }

    public function clearOrpon()
    {
        unset($this->orpon);
    }

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

     * Идентифкатор ОРПОН
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue orpon = 7;</code>
     * @return string|null
     */
    public function getOrponUnwrapped()
    {
        return $this->readWrapperValue("orpon");
    }

    /**
     * Идентифкатор ОРПОН
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue orpon = 7;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setOrpon($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->orpon = $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 orpon = 7;</code>
     * @param string|null $var
     * @return $this
     */
    public function setOrponUnwrapped($var)
    {
        $this->writeWrapperValue("orpon", $var);
        return $this;}

    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue room = 8;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getRoom()
    {
        return $this->room;
    }

    public function hasRoom()
    {
        return isset($this->room);
    }

    public function clearRoom()
    {
        unset($this->room);
    }

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

     * Номер квартиры
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue room = 8;</code>
     * @return string|null
     */
    public function getRoomUnwrapped()
    {
        return $this->readWrapperValue("room");
    }

    /**
     * Номер квартиры
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue room = 8;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setRoom($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->room = $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 room = 8;</code>
     * @param string|null $var
     * @return $this
     */
    public function setRoomUnwrapped($var)
    {
        $this->writeWrapperValue("room", $var);
        return $this;}

    /**
     * Идентифкатор компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_id = 9;</code>
     * @return \Google\Protobuf\StringValue|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>

     * Идентифкатор компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_id = 9;</code>
     * @return string|null
     */
    public function getCompanyIdUnwrapped()
    {
        return $this->readWrapperValue("company_id");
    }

    /**
     * Идентифкатор компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_id = 9;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setCompanyId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->company_id = $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 company_id = 9;</code>
     * @param string|null $var
     * @return $this
     */
    public function setCompanyIdUnwrapped($var)
    {
        $this->writeWrapperValue("company_id", $var);
        return $this;}

    /**
     * Наименование компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_name = 10;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getCompanyName()
    {
        return $this->company_name;
    }

    public function hasCompanyName()
    {
        return isset($this->company_name);
    }

    public function clearCompanyName()
    {
        unset($this->company_name);
    }

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

     * Наименование компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_name = 10;</code>
     * @return string|null
     */
    public function getCompanyNameUnwrapped()
    {
        return $this->readWrapperValue("company_name");
    }

    /**
     * Наименование компании
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue company_name = 10;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setCompanyName($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->company_name = $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 company_name = 10;</code>
     * @param string|null $var
     * @return $this
     */
    public function setCompanyNameUnwrapped($var)
    {
        $this->writeWrapperValue("company_name", $var);
        return $this;}

    /**
     * Время авторизации пользователя unix timestamp
     *
     * Generated from protobuf field <code>string auth_time = 11 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getAuthTime()
    {
        return $this->auth_time;
    }

    /**
     * Время авторизации пользователя unix timestamp
     *
     * Generated from protobuf field <code>string auth_time = 11 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setAuthTime($var)
    {
        GPBUtil::checkString($var, True);
        $this->auth_time = $var;

        return $this;
    }

    /**
     * Срок истечения действия токен unix timestamp
     *
     * Generated from protobuf field <code>string exp = 12 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getExp()
    {
        return $this->exp;
    }

    /**
     * Срок истечения действия токен unix timestamp
     *
     * Generated from protobuf field <code>string exp = 12 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setExp($var)
    {
        GPBUtil::checkString($var, True);
        $this->exp = $var;

        return $this;
    }

    /**
     * Сервис, выдавший токен
     *
     * Generated from protobuf field <code>string iss = 13 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getIss()
    {
        return $this->iss;
    }

    /**
     * Сервис, выдавший токен
     *
     * Generated from protobuf field <code>string iss = 13 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setIss($var)
    {
        GPBUtil::checkString($var, True);
        $this->iss = $var;

        return $this;
    }

    /**
     * Url сервиса, для которого выпустили токен
     *
     * Generated from protobuf field <code>string aud = 14 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getAud()
    {
        return $this->aud;
    }

    /**
     * Url сервиса, для которого выпустили токен
     *
     * Generated from protobuf field <code>string aud = 14 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setAud($var)
    {
        GPBUtil::checkString($var, True);
        $this->aud = $var;

        return $this;
    }

    /**
     * Идентификатор приложения партнёра 
     *
     * Generated from protobuf field <code>string app_id = 15 [(.google.api.field_behavior) = REQUIRED];</code>
     * @return string
     */
    public function getAppId()
    {
        return $this->app_id;
    }

    /**
     * Идентификатор приложения партнёра 
     *
     * Generated from protobuf field <code>string app_id = 15 [(.google.api.field_behavior) = REQUIRED];</code>
     * @param string $var
     * @return $this
     */
    public function setAppId($var)
    {
        GPBUtil::checkString($var, True);
        $this->app_id = $var;

        return $this;
    }

    /**
     * КЛАДР
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue kladr_id = 16;</code>
     * @return \Google\Protobuf\StringValue|null
     */
    public function getKladrId()
    {
        return $this->kladr_id;
    }

    public function hasKladrId()
    {
        return isset($this->kladr_id);
    }

    public function clearKladrId()
    {
        unset($this->kladr_id);
    }

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

     * КЛАДР
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue kladr_id = 16;</code>
     * @return string|null
     */
    public function getKladrIdUnwrapped()
    {
        return $this->readWrapperValue("kladr_id");
    }

    /**
     * КЛАДР
     *
     * Generated from protobuf field <code>.google.protobuf.StringValue kladr_id = 16;</code>
     * @param \Google\Protobuf\StringValue $var
     * @return $this
     */
    public function setKladrId($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\StringValue::class);
        $this->kladr_id = $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 kladr_id = 16;</code>
     * @param string|null $var
     * @return $this
     */
    public function setKladrIdUnwrapped($var)
    {
        $this->writeWrapperValue("kladr_id", $var);
        return $this;}

}

