// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/device/v1/keyapis_device_events_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone;
@class KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid;
@class KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone;
@class KEYAPISDEVICEV1Code;
@class KEYAPISDEVICEV1CodeError;
@class KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings;
@class KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes;
@class KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids;
@class KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms;
@class KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State;
@class KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile;
@class KEYAPISDEVICEV1ConfigureDeviceTask_Gate;
@class KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings;
@class KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange;
@class KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount;
@class KEYAPISDEVICEV1ConfigureDeviceTask_Sl3;
@class KEYAPISDEVICEV1ControlDeviceResultTask_Settings;
@class KEYAPISDEVICEV1ControlDeviceTask_Autocollect;
@class KEYAPISDEVICEV1ControlDeviceTask_Concierge;
@class KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition;
@class KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid;
@class KEYAPISDEVICEV1EmergencyCallSettings;
@class KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter;
@class KEYAPISDEVICEV1Preset;
@class KEYAPISDEVICEV1Rfid;
@class KEYAPISDEVICEV1RfidError;
@class KEYAPISDEVICEV1SipRoom;
@class KEYAPISDEVICEV1SipRoomError;
GPB_ENUM_FWD_DECLARE(KEYAPISDEVICEV1DeviceAccess_AccessorType);

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType

/**
 * Справочник статусов конфигурации устройства.
 * # Тип: byte
 **/
typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType) {
  /**
   * Value used if any message's field encounters a value that is not defined
   * by this enum. The message will also have C functions to get/set the rawValue
   * of the field.
   **/
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_StatusTypeUnknown = 0,

  /** Настроен */
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_Success = 1,

  /** Ошибка */
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_Error = 2,
};

GPBEnumDescriptor *KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_EnumDescriptor(void);

/**
 * Checks to see if the given value is defined by the enum or was not known at
 * the time this source was generated.
 **/
BOOL KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType_IsValidValue(int32_t value);

#pragma mark - KEYAPISDEVICEV1KeyapisDeviceEventsV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface KEYAPISDEVICEV1KeyapisDeviceEventsV1Root : GPBRootObject
@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Preset = 7,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_SipAccount = 8,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_SipRoomsArray = 9,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Gate = 10,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_RfidsArray = 11,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_CodesArray = 12,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_NtpTimezone = 13,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_Sl3 = 14,
  KEYAPISDEVICEV1ConfigureDeviceTask_FieldNumber_EmergencyCallSettings = 15,
};

/**
 * Задача на конфигурирование устройства.
 * Очередь key.device.configure_device
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Адрес устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль пользователья устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Пресет устройства */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1Preset *preset;
/** Test to see if @c preset has been set. */
@property(nonatomic, readwrite) BOOL hasPreset;

/** Sip аккаунт */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount *sipAccount;
/** Test to see if @c sipAccount has been set. */
@property(nonatomic, readwrite) BOOL hasSipAccount;

/**
 * Список сип-номеров в помещениях.
 * # Диапазон: 0..10000
 **/
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1SipRoom*> *sipRoomsArray;
/** The number of items in @c sipRoomsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger sipRoomsArray_Count;

/** Параметры калитки */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_Gate *gate;
/** Test to see if @c gate has been set. */
@property(nonatomic, readwrite) BOOL hasGate;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *rfidsArray;
/** The number of items in @c rfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidsArray_Count;

/** Коды */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *codesArray;
/** The number of items in @c codesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codesArray_Count;

/** Таймзона NTP */
@property(nonatomic, readwrite, copy, null_resettable) NSString *ntpTimezone;

/** Параметр Sl3 */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_Sl3 *sl3;
/** Test to see if @c sl3 has been set. */
@property(nonatomic, readwrite) BOOL hasSl3;

/** Настройки вызова экстренной службы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1EmergencyCallSettings *emergencyCallSettings;
/** Test to see if @c emergencyCallSettings has been set. */
@property(nonatomic, readwrite) BOOL hasEmergencyCallSettings;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount_FieldNumber_Name = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount_FieldNumber_Number = 2,
  KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount_FieldNumber_User = 3,
  KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount_FieldNumber_Password = 4,
};

/**
 * Sip аккаунт
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount : GPBMessage

/** Имя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *name;

/** Номер */
@property(nonatomic, readwrite, copy, null_resettable) NSString *number;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *user;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_Gate

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_Gate_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_FieldNumber_IsActive = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_FieldNumber_RelaySettingsArray = 2,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_FieldNumber_RoomRangesArray = 3,
};

/**
 * Параметры калитки
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_Gate : GPBMessage

/**
 * Состояние параметра калитки.
 * true - используется, необходимо настроить параметы.
 * false - не используется, необходимо выключить параметры калитки
 **/
@property(nonatomic, readwrite) BOOL isActive;

/** Параметры реле */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings*> *relaySettingsArray;
/** The number of items in @c relaySettingsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger relaySettingsArray_Count;

/** Диапазоны квартир */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange*> *roomRangesArray;
/** The number of items in @c roomRangesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger roomRangesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings_FieldNumber_IsActive = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings_FieldNumber_RelayIndex = 2,
};

/**
 * Параметры реле
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RelaySettings : GPBMessage

/**
 * Состояние реле.
 * true - по команде «Открыть дверь» произойдет открытие реле.
 * false - по команде «Открыть дверь» не произойдет открытие реле
 **/
@property(nonatomic, readwrite) BOOL isActive;

/**
 * Индекс реле.
 * # Диапазон: 0..64
 **/
@property(nonatomic, readwrite) int32_t relayIndex;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange_FieldNumber_Address = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange_FieldNumber_Prefix = 2,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange_FieldNumber_FirstRoomNumber = 3,
  KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange_FieldNumber_LastRoomNumber = 4,
};

/**
 * Диапазон квартир
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_Gate_RoomRange : GPBMessage

/** Адрес дома */
@property(nonatomic, readwrite, copy, null_resettable) NSString *address;

/** Номер дома (подъезда) */
@property(nonatomic, readwrite, copy, null_resettable) NSString *prefix;

/** Начало диапазона включительно */
@property(nonatomic, readwrite, copy, null_resettable) NSString *firstRoomNumber;

/** Конец диапазона включительно */
@property(nonatomic, readwrite, copy, null_resettable) NSString *lastRoomNumber;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber_SectorNumber = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber_BlockNumber = 2,
  KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber_AesKey = 3,
  KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber_StartIndex = 4,
  KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile_FieldNumber_EndIndex = 5,
};

/**
 * Профиль шифрования
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile : GPBMessage

/** Номер сектора */
@property(nonatomic, readwrite) int32_t sectorNumber;

/** Номер блока */
@property(nonatomic, readwrite) int32_t blockNumber;

/** aes ключ */
@property(nonatomic, readwrite, copy, null_resettable) NSString *aesKey;

/** Индекс первого символа для секрета */
@property(nonatomic, readwrite) int32_t startIndex;

/** Индекс последнего символа для секрета */
@property(nonatomic, readwrite) int32_t endIndex;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceTask_Sl3

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceTask_Sl3_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceTask_Sl3_FieldNumber_IsEnabled = 1,
  KEYAPISDEVICEV1ConfigureDeviceTask_Sl3_FieldNumber_EncryptionProfile = 2,
};

/**
 * Параметр Sl3
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceTask_Sl3 : GPBMessage

/** Статус настройки SL3 */
@property(nonatomic, readwrite) BOOL isEnabled;

/** Профиль шифрования */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_EncryptionProfile *encryptionProfile;
/** Test to see if @c encryptionProfile has been set. */
@property(nonatomic, readwrite) BOOL hasEncryptionProfile;

@end

#pragma mark - KEYAPISDEVICEV1EmergencyCallSettings

typedef GPB_ENUM(KEYAPISDEVICEV1EmergencyCallSettings_FieldNumber) {
  KEYAPISDEVICEV1EmergencyCallSettings_FieldNumber_IsCallAvailable = 1,
  KEYAPISDEVICEV1EmergencyCallSettings_FieldNumber_EmergencyCallParameter = 2,
};

/**
 * Настройки вызова экстренной службы
 **/
GPB_FINAL @interface KEYAPISDEVICEV1EmergencyCallSettings : GPBMessage

/** Возможность вызова экстренной службы */
@property(nonatomic, readwrite) BOOL isCallAvailable;

/** Параметры вызова экстренной службы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter *emergencyCallParameter;
/** Test to see if @c emergencyCallParameter has been set. */
@property(nonatomic, readwrite) BOOL hasEmergencyCallParameter;

@end

#pragma mark - KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter

typedef GPB_ENUM(KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter_FieldNumber) {
  KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter_FieldNumber_EmergencyNumber = 1,
  KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter_FieldNumber_AbcNumber = 2,
  KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter_FieldNumber_SipTrunkHost = 3,
  KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter_FieldNumber_DestinationName = 4,
};

/**
 * Параметры вызова экстренной службы
 **/
GPB_FINAL @interface KEYAPISDEVICEV1EmergencyCallSettings_EmergencyCallParameter : GPBMessage

/**
 * АБС-номер экстренной службы.
 * # Паттерн: /^\\+[1-9][0-9]{10}$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *emergencyNumber;

/**
 * Исходящий ABC-номер домофона.
 * # Паттерн: /^\\+[1-9][0-9]{10}$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *abcNumber;

/**
 * Адрес SIP-транка.
 * # Диапазон: 5..250
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipTrunkHost;

/**
 * Регион вызова экстренной службы.
 * # Диапазон: 3..32
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *destinationName;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_ConfiguredAt = 3,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_HardwareVersion = 4,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_FirmwareVersion = 5,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_Model = 6,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_FieldNumber_Settings = 7,
};

/**
 * Результат задачи на конфигурирование устройства.
 * Очередь key.device.configure_device_result
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Дата конфигурации устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *configuredAt;
/** Test to see if @c configuredAt has been set. */
@property(nonatomic, readwrite) BOOL hasConfiguredAt;

/** Аппаратная версия */
@property(nonatomic, readwrite, copy, null_resettable) NSString *hardwareVersion;

/** Версия прошивки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *firmwareVersion;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Результат настроек */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings *settings;
/** Test to see if @c settings has been set. */
@property(nonatomic, readwrite) BOOL hasSettings;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_Preset = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_SipAccount = 2,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_SipRooms = 3,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_Gate = 4,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_Rfids = 5,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_Codes = 6,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_Sl3 = 7,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_FieldNumber_EmergencyCallSettings = 8,
};

/**
 * Результат конфигурации устройства
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings : GPBMessage

/** Установка пресета */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *preset;
/** Test to see if @c preset has been set. */
@property(nonatomic, readwrite) BOOL hasPreset;

/** Настройка SIP-аккаунта */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *sipAccount;
/** Test to see if @c sipAccount has been set. */
@property(nonatomic, readwrite) BOOL hasSipAccount;

/** Настройка сип-номеров в помещениях */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms *sipRooms;
/** Test to see if @c sipRooms has been set. */
@property(nonatomic, readwrite) BOOL hasSipRooms;

/** Настройка калитки */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *gate;
/** Test to see if @c gate has been set. */
@property(nonatomic, readwrite) BOOL hasGate;

/** Настройка ключей */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids *rfids;
/** Test to see if @c rfids has been set. */
@property(nonatomic, readwrite) BOOL hasRfids;

/** Настройка кодов */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes *codes;
/** Test to see if @c codes has been set. */
@property(nonatomic, readwrite) BOOL hasCodes;

/** Настройка sl3 */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *sl3;
/** Test to see if @c sl3 has been set. */
@property(nonatomic, readwrite) BOOL hasSl3;

/** Настройки вызова экстренной службы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *emergencyCallSettings;
/** Test to see if @c emergencyCallSettings has been set. */
@property(nonatomic, readwrite) BOOL hasEmergencyCallSettings;

@end

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State_FieldNumber_StatusType = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State_FieldNumber_ErrorMessage = 2,
};

/**
 * Состояние настройки
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State : GPBMessage

/** Статус конфигурации устройства */
@property(nonatomic, readwrite) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType statusType;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State's @c statusType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State's @c statusType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *message, int32_t value);

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_FieldNumber_StatusType = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_FieldNumber_ErrorMessage = 2,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_FieldNumber_LoadedRfidsArray = 3,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_FieldNumber_UnloadedRfidsArray = 4,
};

/**
 * Настройка ключей
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids : GPBMessage

/** Статус конфигурации устройства */
@property(nonatomic, readwrite) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType statusType;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

/** Загруженные ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *loadedRfidsArray;
/** The number of items in @c loadedRfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger loadedRfidsArray_Count;

/** Незагруженные ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1RfidError*> *unloadedRfidsArray;
/** The number of items in @c unloadedRfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger unloadedRfidsArray_Count;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids's @c statusType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids's @c statusType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Rfids *message, int32_t value);

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_FieldNumber_StatusType = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_FieldNumber_ErrorMessage = 2,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_FieldNumber_LoadedCodesArray = 3,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_FieldNumber_UnloadedCodesArray = 4,
};

/**
 * Настройка кодов
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes : GPBMessage

/** Статус конфигурации устройства */
@property(nonatomic, readwrite) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType statusType;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

/** Загруженные коды */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *loadedCodesArray;
/** The number of items in @c loadedCodesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger loadedCodesArray_Count;

/** Незагруженные коды */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1CodeError*> *unloadedCodesArray;
/** The number of items in @c unloadedCodesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger unloadedCodesArray_Count;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes's @c statusType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes's @c statusType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_Codes *message, int32_t value);

#pragma mark - KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms

typedef GPB_ENUM(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_FieldNumber) {
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_FieldNumber_StatusType = 1,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_FieldNumber_ErrorMessage = 2,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_FieldNumber_LoadedSipRoomsArray = 3,
  KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_FieldNumber_UnloadedSipRoomsArray = 4,
};

/**
 * Настройка квартир
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms : GPBMessage

/** Статус конфигурации устройства */
@property(nonatomic, readwrite) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_StatusType statusType;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

/** Загруженные квартиры */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1SipRoom*> *loadedSipRoomsArray;
/** The number of items in @c loadedSipRoomsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger loadedSipRoomsArray_Count;

/** Незагруженные квартиры */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1SipRoomError*> *unloadedSipRoomsArray;
/** The number of items in @c unloadedSipRoomsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger unloadedSipRoomsArray_Count;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms's @c statusType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms's @c statusType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms_StatusType_RawValue(KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_SipRooms *message, int32_t value);

#pragma mark - KEYAPISDEVICEV1CmsServiceAvailableTask

typedef GPB_ENUM(KEYAPISDEVICEV1CmsServiceAvailableTask_FieldNumber) {
  KEYAPISDEVICEV1CmsServiceAvailableTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1CmsServiceAvailableTask_FieldNumber_OrponId = 2,
};

/**
 * Задача на использование аналоговых трубок.
 * Очередь key.device.cms_available
 **/
GPB_FINAL @interface KEYAPISDEVICEV1CmsServiceAvailableTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор ОРПОН дома */
@property(nonatomic, readwrite) int64_t orponId;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceTask

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceTask_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_FaceRecognition = 7,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Preset = 8,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_NtpTimezone = 9,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_SipAccount = 10,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Gate = 11,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Concierge = 12,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Autocollect = 13,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_Sl3 = 14,
  KEYAPISDEVICEV1ControlDeviceTask_FieldNumber_EmergencyCallSettings = 15,
};

/**
 * Задача на конфигурирование устройства.
 * Очередь key.device.control_device
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Адрес устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль пользователья устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Распознование лиц */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition *faceRecognition;
/** Test to see if @c faceRecognition has been set. */
@property(nonatomic, readwrite) BOOL hasFaceRecognition;

/** Пресет устройства */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1Preset *preset;
/** Test to see if @c preset has been set. */
@property(nonatomic, readwrite) BOOL hasPreset;

/** Таймзона NTP */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *ntpTimezone;
/** Test to see if @c ntpTimezone has been set. */
@property(nonatomic, readwrite) BOOL hasNtpTimezone;

/** Sip аккаунт */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_SipAccount *sipAccount;
/** Test to see if @c sipAccount has been set. */
@property(nonatomic, readwrite) BOOL hasSipAccount;

/** Параметры калитки */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_Gate *gate;
/** Test to see if @c gate has been set. */
@property(nonatomic, readwrite) BOOL hasGate;

/** Консьерж */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ControlDeviceTask_Concierge *concierge;
/** Test to see if @c concierge has been set. */
@property(nonatomic, readwrite) BOOL hasConcierge;

/** Автосбор */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ControlDeviceTask_Autocollect *autocollect;
/** Test to see if @c autocollect has been set. */
@property(nonatomic, readwrite) BOOL hasAutocollect;

/** Параметр sl3 */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceTask_Sl3 *sl3;
/** Test to see if @c sl3 has been set. */
@property(nonatomic, readwrite) BOOL hasSl3;

/** Настройки вызова экстренной службы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1EmergencyCallSettings *emergencyCallSettings;
/** Test to see if @c emergencyCallSettings has been set. */
@property(nonatomic, readwrite) BOOL hasEmergencyCallSettings;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition_FieldNumber_IsEnabled = 1,
};

/**
 * Распознование лиц
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceTask_FaceRecognition : GPBMessage

/** Статус настройки распознавания лиц */
@property(nonatomic, readwrite) BOOL isEnabled;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceTask_Concierge

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceTask_Concierge_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceTask_Concierge_FieldNumber_SipNumber = 1,
  KEYAPISDEVICEV1ControlDeviceTask_Concierge_FieldNumber_RoomNumber = 2,
};

/**
 * Консьерж
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceTask_Concierge : GPBMessage

/**
 * Номер сип-трубки.
 * # Диапазон: 5..14
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipNumber;

/**
 * Номер помещения.
 * # Диапазон: 1..10000
 **/
@property(nonatomic, readwrite) int32_t roomNumber;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceTask_Autocollect

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceTask_Autocollect_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceTask_Autocollect_FieldNumber_IsEnabled = 1,
};

/**
 * Автосбор
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceTask_Autocollect : GPBMessage

/** Статус настройки автосбор */
@property(nonatomic, readwrite) BOOL isEnabled;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceResultTask

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_ConfiguredAt = 3,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_HardwareVersion = 4,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_FirmwareVersion = 5,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_Model = 6,
  KEYAPISDEVICEV1ControlDeviceResultTask_FieldNumber_Settings = 7,
};

/**
 * Результат задачи на конфигурирование устройства.
 * Очередь key.device.control_device_result
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceResultTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Дата конфигурации устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *configuredAt;
/** Test to see if @c configuredAt has been set. */
@property(nonatomic, readwrite) BOOL hasConfiguredAt;

/** Аппаратная версия */
@property(nonatomic, readwrite, copy, null_resettable) NSString *hardwareVersion;

/** Версия прошивки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *firmwareVersion;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Результат настроек */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ControlDeviceResultTask_Settings *settings;
/** Test to see if @c settings has been set. */
@property(nonatomic, readwrite) BOOL hasSettings;

@end

#pragma mark - KEYAPISDEVICEV1ControlDeviceResultTask_Settings

typedef GPB_ENUM(KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber) {
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_FaceRecognition = 1,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_Preset = 2,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_SipAccount = 3,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_Gate = 4,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_Autocollect = 5,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_Concierge = 6,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_Sl3 = 7,
  KEYAPISDEVICEV1ControlDeviceResultTask_Settings_FieldNumber_EmergencyCallSettings = 8,
};

/**
 * Результат конфигурации устройства
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ControlDeviceResultTask_Settings : GPBMessage

/** Настройка распознавания лиц */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *faceRecognition;
/** Test to see if @c faceRecognition has been set. */
@property(nonatomic, readwrite) BOOL hasFaceRecognition;

/** Установка пресета */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *preset;
/** Test to see if @c preset has been set. */
@property(nonatomic, readwrite) BOOL hasPreset;

/** Настройка SIP-аккаунта */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *sipAccount;
/** Test to see if @c sipAccount has been set. */
@property(nonatomic, readwrite) BOOL hasSipAccount;

/** Настройка калитки */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *gate;
/** Test to see if @c gate has been set. */
@property(nonatomic, readwrite) BOOL hasGate;

/** Настройка автосбора */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *autocollect;
/** Test to see if @c autocollect has been set. */
@property(nonatomic, readwrite) BOOL hasAutocollect;

/** Настройка консьержа */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *concierge;
/** Test to see if @c concierge has been set. */
@property(nonatomic, readwrite) BOOL hasConcierge;

/** Настройка sl3 */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *sl3;
/** Test to see if @c sl3 has been set. */
@property(nonatomic, readwrite) BOOL hasSl3;

/** Настройки вызова экстренной службы */
@property(nonatomic, readwrite, strong, null_resettable) KEYAPISDEVICEV1ConfigureDeviceResultTask_Settings_State *emergencyCallSettings;
/** Test to see if @c emergencyCallSettings has been set. */
@property(nonatomic, readwrite) BOOL hasEmergencyCallSettings;

@end

#pragma mark - KEYAPISDEVICEV1BlockCmsPhonesTask

typedef GPB_ENUM(KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber) {
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1BlockCmsPhonesTask_FieldNumber_CmsPhonesArray = 6,
};

/**
 * Задача на блокировку аналоговых трубок на устройствах для квартир.
 * Очередь key.device.cms_phones_block
 **/
GPB_FINAL @interface KEYAPISDEVICEV1BlockCmsPhonesTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Список аналоговых трубок */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone*> *cmsPhonesArray;
/** The number of items in @c cmsPhonesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger cmsPhonesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone

typedef GPB_ENUM(KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone_FieldNumber) {
  KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone_FieldNumber_RoomNumber = 2,
};

/**
 * Аналоговая трубка
 **/
GPB_FINAL @interface KEYAPISDEVICEV1BlockCmsPhonesTask_CmsPhone : GPBMessage

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t id_p;

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - KEYAPISDEVICEV1BlockCmsPhoneSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1BlockCmsPhoneSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1BlockCmsPhoneSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1BlockCmsPhoneSuccessTask_FieldNumber_CmsPhoneId = 2,
  KEYAPISDEVICEV1BlockCmsPhoneSuccessTask_FieldNumber_BlockedAt = 3,
};

/**
 * Задача ответ на успешную блокировку аналоговой трубки на устройстве для квартиры.
 * Очередь key.device.cms_phone_block_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1BlockCmsPhoneSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t cmsPhoneId;

/** Дата и время блокировки аналоговой трубки */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *blockedAt;
/** Test to see if @c blockedAt has been set. */
@property(nonatomic, readwrite) BOOL hasBlockedAt;

@end

#pragma mark - KEYAPISDEVICEV1BlockCmsPhoneFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1BlockCmsPhoneFailTask_FieldNumber) {
  KEYAPISDEVICEV1BlockCmsPhoneFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1BlockCmsPhoneFailTask_FieldNumber_CmsPhoneId = 2,
  KEYAPISDEVICEV1BlockCmsPhoneFailTask_FieldNumber_ErrorMessage = 3,
  KEYAPISDEVICEV1BlockCmsPhoneFailTask_FieldNumber_OccuredAt = 4,
};

/**
 * Задача ответ на ошибку при блокировке аналоговой трубки на устройстве для квартиры.
 * Очередь key.device.cms_phone_block_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1BlockCmsPhoneFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t cmsPhoneId;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

/** Дата и время события */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *occuredAt;
/** Test to see if @c occuredAt has been set. */
@property(nonatomic, readwrite) BOOL hasOccuredAt;

@end

#pragma mark - KEYAPISDEVICEV1ActivateCmsPhonesTask

typedef GPB_ENUM(KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber) {
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_FieldNumber_CmsPhonesArray = 6,
};

/**
 * Задача разблокировку аналоговых трубок на устройстве для квартир.
 * Очередь key.device.cms_phones_activate
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ActivateCmsPhonesTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Список аналоговых трубок */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone*> *cmsPhonesArray;
/** The number of items in @c cmsPhonesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger cmsPhonesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone

typedef GPB_ENUM(KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone_FieldNumber) {
  KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone_FieldNumber_RoomNumber = 2,
};

/**
 * Аналоговая трубка
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ActivateCmsPhonesTask_CmsPhone : GPBMessage

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t id_p;

/** Номер квартиры */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask_FieldNumber_CmsPhoneId = 2,
  KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask_FieldNumber_ActivatedAt = 3,
};

/**
 * Задача ответ на успешную разблокировку аналоговой трубки на устройстве для квартиры.
 * Очередь key.device.cms_phone_activate_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ActivateCmsPhoneSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t cmsPhoneId;

/** Дата и время разблокировки аналоговой трубки */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *activatedAt;
/** Test to see if @c activatedAt has been set. */
@property(nonatomic, readwrite) BOOL hasActivatedAt;

@end

#pragma mark - KEYAPISDEVICEV1ActivateCmsPhoneFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1ActivateCmsPhoneFailTask_FieldNumber) {
  KEYAPISDEVICEV1ActivateCmsPhoneFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1ActivateCmsPhoneFailTask_FieldNumber_CmsPhoneId = 2,
  KEYAPISDEVICEV1ActivateCmsPhoneFailTask_FieldNumber_ErrorMessage = 3,
  KEYAPISDEVICEV1ActivateCmsPhoneFailTask_FieldNumber_OccuredAt = 4,
};

/**
 * Задача ответ на ошибку при разблокировке аналоговой трубки на устройстве для квартиры.
 * Очередь key.device.cms_phone_activate_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1ActivateCmsPhoneFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор аналоговой трубки */
@property(nonatomic, readwrite) int32_t cmsPhoneId;

/** Текст ошибки */
@property(nonatomic, readwrite, copy, null_resettable) NSString *errorMessage;

/** Дата и время события */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *occuredAt;
/** Test to see if @c occuredAt has been set. */
@property(nonatomic, readwrite) BOOL hasOccuredAt;

@end

#pragma mark - KEYAPISDEVICEV1CmsAvailableTask

typedef GPB_ENUM(KEYAPISDEVICEV1CmsAvailableTask_FieldNumber) {
  KEYAPISDEVICEV1CmsAvailableTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1CmsAvailableTask_FieldNumber_DeviceId = 2,
};

/**
 * Сообщение о появлении возможности работы с аналоговыми трубками на устройстве.
 * Очередь key.device.device_cms_available
 **/
GPB_FINAL @interface KEYAPISDEVICEV1CmsAvailableTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

@end

#pragma mark - KEYAPISDEVICEV1SipRoom

typedef GPB_ENUM(KEYAPISDEVICEV1SipRoom_FieldNumber) {
  KEYAPISDEVICEV1SipRoom_FieldNumber_SipNumber = 1,
  KEYAPISDEVICEV1SipRoom_FieldNumber_RoomNumber = 2,
  KEYAPISDEVICEV1SipRoom_FieldNumber_RoomId = 3,
};

/**
 * Сип-номер в помещении
 **/
GPB_FINAL @interface KEYAPISDEVICEV1SipRoom : GPBMessage

/**
 * Номер сип-трубки.
 * # Диапазон: 5..14
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipNumber;

/**
 * Номер помещения.
 * # Диапазон: 1..10000
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/**
 * Идентификатор квартиры.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t roomId;

@end

#pragma mark - KEYAPISDEVICEV1SipRoomError

typedef GPB_ENUM(KEYAPISDEVICEV1SipRoomError_FieldNumber) {
  KEYAPISDEVICEV1SipRoomError_FieldNumber_SipNumber = 1,
  KEYAPISDEVICEV1SipRoomError_FieldNumber_RoomNumber = 2,
  KEYAPISDEVICEV1SipRoomError_FieldNumber_RoomId = 3,
  KEYAPISDEVICEV1SipRoomError_FieldNumber_Message = 4,
};

/**
 * Ошибка сип-номера в помещении
 **/
GPB_FINAL @interface KEYAPISDEVICEV1SipRoomError : GPBMessage

/**
 * Номер сип-трубки.
 * # Диапазон: 5..14
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipNumber;

/**
 * Номер помещения.
 * # Диапазон: 1..10000
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/**
 * Идентификатор квартиры.
 * # Диапазон: 1..2147483647
 **/
@property(nonatomic, readwrite) int32_t roomId;

/** Сообщение об ошибке */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

#pragma mark - KEYAPISDEVICEV1Rfid

typedef GPB_ENUM(KEYAPISDEVICEV1Rfid_FieldNumber) {
  KEYAPISDEVICEV1Rfid_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1Rfid_FieldNumber_Key = 2,
  KEYAPISDEVICEV1Rfid_FieldNumber_RoomNumber = 3,
};

/**
 * Ключ
 **/
GPB_FINAL @interface KEYAPISDEVICEV1Rfid : GPBMessage

/** Идентификатор ключа */
@property(nonatomic, readwrite) int32_t id_p;

/** Значение ключа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *key;

/** Номер помещения к которому прявязан ключ */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - KEYAPISDEVICEV1Code

typedef GPB_ENUM(KEYAPISDEVICEV1Code_FieldNumber) {
  KEYAPISDEVICEV1Code_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1Code_FieldNumber_Code = 2,
  KEYAPISDEVICEV1Code_FieldNumber_RoomNumber = 3,
};

/**
 * Код
 **/
GPB_FINAL @interface KEYAPISDEVICEV1Code : GPBMessage

/** Идентификатор кода */
@property(nonatomic, readwrite) int32_t id_p;

/** Значение кода */
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

/** Номер помещения к которому прявязан код */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

@end

#pragma mark - KEYAPISDEVICEV1RfidError

typedef GPB_ENUM(KEYAPISDEVICEV1RfidError_FieldNumber) {
  KEYAPISDEVICEV1RfidError_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1RfidError_FieldNumber_Key = 2,
  KEYAPISDEVICEV1RfidError_FieldNumber_RoomNumber = 3,
  KEYAPISDEVICEV1RfidError_FieldNumber_Message = 4,
};

/**
 * Ошибка ключа
 **/
GPB_FINAL @interface KEYAPISDEVICEV1RfidError : GPBMessage

/** Идентификатор ключа */
@property(nonatomic, readwrite) int32_t id_p;

/** Значение ключа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *key;

/** Номер помещения к которому прявязан ключ */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/** Сообщение об ошибке */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

#pragma mark - KEYAPISDEVICEV1CodeError

typedef GPB_ENUM(KEYAPISDEVICEV1CodeError_FieldNumber) {
  KEYAPISDEVICEV1CodeError_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1CodeError_FieldNumber_Code = 2,
  KEYAPISDEVICEV1CodeError_FieldNumber_RoomNumber = 3,
  KEYAPISDEVICEV1CodeError_FieldNumber_Message = 4,
};

/**
 * Ошибка кода
 **/
GPB_FINAL @interface KEYAPISDEVICEV1CodeError : GPBMessage

/** Идентификатор кода */
@property(nonatomic, readwrite) int32_t id_p;

/** Значение кода */
@property(nonatomic, readwrite, copy, null_resettable) NSString *code;

/** Номер помещения к которому прявязан код */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/** Сообщение об ошибке */
@property(nonatomic, readwrite, copy, null_resettable) NSString *message;

@end

#pragma mark - KEYAPISDEVICEV1AddSl3RfidsTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber) {
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1AddSl3RfidsTask_FieldNumber_Sl3RfidsArray = 7,
};

/**
 * Задача на добавление Sl3 ключей на устройство.
 * Очередь key.device.add_sl3_rfids
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddSl3RfidsTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid*> *sl3RfidsArray;
/** The number of items in @c sl3RfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger sl3RfidsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid

typedef GPB_ENUM(KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid_FieldNumber) {
  KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid_FieldNumber_RoomNumber = 2,
  KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid_FieldNumber_Key = 3,
  KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid_FieldNumber_KeySecret = 4,
};

/**
 * Ключ sl3
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddSl3RfidsTask_Sl3Rfid : GPBMessage

/** Идентификатор ключа */
@property(nonatomic, readwrite) int32_t id_p;

/** Номер помещения к которому прявязан ключ */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/** Значение ключа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *key;

/** Секрет */
@property(nonatomic, readwrite, copy, null_resettable) NSString *keySecret;

@end

#pragma mark - KEYAPISDEVICEV1AddRfidsTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddRfidsTask_FieldNumber) {
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1AddRfidsTask_FieldNumber_RfidsArray = 7,
};

/**
 * Задача на добавление ключей на устройство.
 * Очередь key.device.add_rfids
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddRfidsTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *rfidsArray;
/** The number of items in @c rfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddCodesTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddCodesTask_FieldNumber) {
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1AddCodesTask_FieldNumber_CodesArray = 7,
};

/**
 * Задача на добавление кодов на устройство.
 * Очередь key.device.add_codes
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddCodesTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *codesArray;
/** The number of items in @c codesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddRfidsSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddRfidsSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1AddRfidsSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddRfidsSuccessTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1AddRfidsSuccessTask_FieldNumber_RfidsArray = 3,
};

/**
 * Задача ответ на успешное на добавление ключей на устройство.
 * Очередь key.device.add_rfids_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddRfidsSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *rfidsArray;
/** The number of items in @c rfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddRfidsFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddRfidsFailTask_FieldNumber) {
  KEYAPISDEVICEV1AddRfidsFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddRfidsFailTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1AddRfidsFailTask_FieldNumber_RfidErrorsArray = 3,
};

/**
 * Задача ответ на неуспешное на добавление ключей на устройство.
 * Очередь key.device.add_rfids_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddRfidsFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ошибки ключей */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1RfidError*> *rfidErrorsArray;
/** The number of items in @c rfidErrorsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidErrorsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddCodesSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddCodesSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1AddCodesSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddCodesSuccessTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1AddCodesSuccessTask_FieldNumber_CodesArray = 3,
};

/**
 * Задача ответ на успешное на добавление кодов на устройство.
 * Очередь key.device.add_codes_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddCodesSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** коды */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *codesArray;
/** The number of items in @c codesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1AddCodesFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1AddCodesFailTask_FieldNumber) {
  KEYAPISDEVICEV1AddCodesFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1AddCodesFailTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1AddCodesFailTask_FieldNumber_CodeErrorsArray = 3,
};

/**
 * Задача ответ на неуспешное на добавление кодов на устройство.
 * Очередь key.device.add_codes_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1AddCodesFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ошибки кодов */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1CodeError*> *codeErrorsArray;
/** The number of items in @c codeErrorsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codeErrorsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1DeleteSl3RfidsTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_Sl3RfidsArray = 7,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_FieldNumber_IsAnswerUnnecessary = 8,
};

/**
 * Задача на удаление Sl3 ключей с устройства.
 * Очередь key.device.delete_sl3_rfids
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteSl3RfidsTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid*> *sl3RfidsArray;
/** The number of items in @c sl3RfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger sl3RfidsArray_Count;

/** При передаче этого флага в true, ответное сообщение не будет получено */
@property(nonatomic, readwrite, strong, null_resettable) GPBBoolValue *isAnswerUnnecessary;
/** Test to see if @c isAnswerUnnecessary has been set. */
@property(nonatomic, readwrite) BOOL hasIsAnswerUnnecessary;

@end

#pragma mark - KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid_FieldNumber) {
  KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid_FieldNumber_Id_p = 1,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid_FieldNumber_RoomNumber = 2,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid_FieldNumber_Key = 3,
  KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid_FieldNumber_KeySecret = 4,
};

/**
 * Ключ sl3
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteSl3RfidsTask_Sl3Rfid : GPBMessage

/** Идентификатор ключа */
@property(nonatomic, readwrite) int32_t id_p;

/** Номер помещения к которому прявязан ключ */
@property(nonatomic, readwrite, copy, null_resettable) NSString *roomNumber;

/** Значение ключа */
@property(nonatomic, readwrite, copy, null_resettable) NSString *key;

/** Секрет */
@property(nonatomic, readwrite, copy, null_resettable) NSString *keySecret;

@end

#pragma mark - KEYAPISDEVICEV1DeleteRfidsTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_RfidsArray = 7,
  KEYAPISDEVICEV1DeleteRfidsTask_FieldNumber_IsAnswerUnnecessary = 8,
};

/**
 * Задача на удаление ключей с устройства.
 * Очередь key.device.delete_rfids
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteRfidsTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *rfidsArray;
/** The number of items in @c rfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidsArray_Count;

/** При передаче этого флага в true, ответное сообщение не будет получено */
@property(nonatomic, readwrite, strong, null_resettable) GPBBoolValue *isAnswerUnnecessary;
/** Test to see if @c isAnswerUnnecessary has been set. */
@property(nonatomic, readwrite) BOOL hasIsAnswerUnnecessary;

@end

#pragma mark - KEYAPISDEVICEV1DeleteCodesTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteCodesTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_CodesArray = 7,
  KEYAPISDEVICEV1DeleteCodesTask_FieldNumber_IsAnswerUnnecessary = 8,
};

/**
 * Задача на удаление кодов с устройства.
 * Очередь key.device.delete_codes
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteCodesTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *codesArray;
/** The number of items in @c codesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codesArray_Count;

/** При передаче этого флага в true, ответное сообщение не будет получено */
@property(nonatomic, readwrite, strong, null_resettable) GPBBoolValue *isAnswerUnnecessary;
/** Test to see if @c isAnswerUnnecessary has been set. */
@property(nonatomic, readwrite) BOOL hasIsAnswerUnnecessary;

@end

#pragma mark - KEYAPISDEVICEV1DeleteRfidsSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteRfidsSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteRfidsSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteRfidsSuccessTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1DeleteRfidsSuccessTask_FieldNumber_RfidsArray = 3,
};

/**
 * Задача ответ на успешное удаление ключей с устройства.
 * Очередь key.device.delete_rfids_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteRfidsSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ключи */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Rfid*> *rfidsArray;
/** The number of items in @c rfidsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1DeleteRfidsFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteRfidsFailTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteRfidsFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteRfidsFailTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1DeleteRfidsFailTask_FieldNumber_RfidErrorsArray = 3,
};

/**
 * Задача ответ на неуспешное удаление ключей с устройства.
 * Очередь key.device.delete_rfids_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteRfidsFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ошибки ключей */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1RfidError*> *rfidErrorsArray;
/** The number of items in @c rfidErrorsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger rfidErrorsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1DeleteCodesSuccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteCodesSuccessTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteCodesSuccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteCodesSuccessTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1DeleteCodesSuccessTask_FieldNumber_CodesArray = 3,
};

/**
 * Задача ответ на успешное удаление кодов с устройства.
 * Очередь key.device.delete_codes_success
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteCodesSuccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** коды */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1Code*> *codesArray;
/** The number of items in @c codesArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codesArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1DeleteCodesFailTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteCodesFailTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteCodesFailTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteCodesFailTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1DeleteCodesFailTask_FieldNumber_CodeErrorsArray = 3,
};

/**
 * Задача ответ на неуспешное удаление кодов с устройства.
 * Очередь key.device.delete_codes_fail
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteCodesFailTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Ошибки кодов */
@property(nonatomic, readwrite, strong, null_resettable) NSMutableArray<KEYAPISDEVICEV1CodeError*> *codeErrorsArray;
/** The number of items in @c codeErrorsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger codeErrorsArray_Count;

@end

#pragma mark - KEYAPISDEVICEV1OpenAccessPointTask

typedef GPB_ENUM(KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber) {
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_RelayIndex = 3,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_Delay = 4,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_CarNumber = 5,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_Vehicle = 6,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_CourierCompanyName = 7,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_OrderNumber = 8,
  KEYAPISDEVICEV1OpenAccessPointTask_FieldNumber_CourierId = 9,
};

/**
 * Задача на открытие точки доступа.
 * Очередь key.device.open_access_point
 **/
GPB_FINAL @interface KEYAPISDEVICEV1OpenAccessPointTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Номер реле */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *relayIndex;
/** Test to see if @c relayIndex has been set. */
@property(nonatomic, readwrite) BOOL hasRelayIndex;

/** Задержка в секундах */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *delay;
/** Test to see if @c delay has been set. */
@property(nonatomic, readwrite) BOOL hasDelay;

/** ГРЗ авто */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *carNumber;
/** Test to see if @c carNumber has been set. */
@property(nonatomic, readwrite) BOOL hasCarNumber;

/** Тип ТС */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *vehicle;
/** Test to see if @c vehicle has been set. */
@property(nonatomic, readwrite) BOOL hasVehicle;

/** Наименование курьерской компании */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *courierCompanyName;
/** Test to see if @c courierCompanyName has been set. */
@property(nonatomic, readwrite) BOOL hasCourierCompanyName;

/** Номер заказа */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *orderNumber;
/** Test to see if @c orderNumber has been set. */
@property(nonatomic, readwrite) BOOL hasOrderNumber;

/** Идентификатор курьера */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *courierId;
/** Test to see if @c courierId has been set. */
@property(nonatomic, readwrite) BOOL hasCourierId;

@end

#pragma mark - KEYAPISDEVICEV1OpenTask

typedef GPB_ENUM(KEYAPISDEVICEV1OpenTask_FieldNumber) {
  KEYAPISDEVICEV1OpenTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1OpenTask_FieldNumber_Model = 2,
  KEYAPISDEVICEV1OpenTask_FieldNumber_Host = 3,
  KEYAPISDEVICEV1OpenTask_FieldNumber_Username = 4,
  KEYAPISDEVICEV1OpenTask_FieldNumber_Password = 5,
  KEYAPISDEVICEV1OpenTask_FieldNumber_DeviceId = 6,
  KEYAPISDEVICEV1OpenTask_FieldNumber_RelayIndex = 7,
  KEYAPISDEVICEV1OpenTask_FieldNumber_Delay = 8,
};

/**
 * Задача на открытие устройства.
 * Очередь key.device.open
 **/
GPB_FINAL @interface KEYAPISDEVICEV1OpenTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/** Хост */
@property(nonatomic, readwrite, copy, null_resettable) NSString *host;

/** Имя пользователя */
@property(nonatomic, readwrite, copy, null_resettable) NSString *username;

/** Пароль */
@property(nonatomic, readwrite, copy, null_resettable) NSString *password;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Номер реле */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *relayIndex;
/** Test to see if @c relayIndex has been set. */
@property(nonatomic, readwrite) BOOL hasRelayIndex;

/**
 * Задержка в секундах.
 * Если не передано, то полставляется значение по умолчанию (5)
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *delay;
/** Test to see if @c delay has been set. */
@property(nonatomic, readwrite) BOOL hasDelay;

@end

#pragma mark - KEYAPISDEVICEV1DeleteSipAccountTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteSipAccountTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteSipAccountTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteSipAccountTask_FieldNumber_DeviceId = 2,
  KEYAPISDEVICEV1DeleteSipAccountTask_FieldNumber_DeletedAt = 3,
  KEYAPISDEVICEV1DeleteSipAccountTask_FieldNumber_SipLogin = 4,
};

/**
 * Задача на удаление sip-аккаунта.
 * Очередь key.device.delete_sip_account
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteSipAccountTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/** Идентификатор устройства */
@property(nonatomic, readwrite) int32_t deviceId;

/** Дата и время удаления устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *deletedAt;
/** Test to see if @c deletedAt has been set. */
@property(nonatomic, readwrite) BOOL hasDeletedAt;

/** Sip-login устройства */
@property(nonatomic, readwrite, copy, null_resettable) NSString *sipLogin;

@end

#pragma mark - KEYAPISDEVICEV1CreateDeviceAccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1CreateDeviceAccessTask_FieldNumber) {
  KEYAPISDEVICEV1CreateDeviceAccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1CreateDeviceAccessTask_FieldNumber_DeviceIdsArray = 2,
  KEYAPISDEVICEV1CreateDeviceAccessTask_FieldNumber_DeviceAccessAccessorType = 3,
  KEYAPISDEVICEV1CreateDeviceAccessTask_FieldNumber_AccessorId = 4,
};

/**
 * Задача на создание доступа к устройству.
 * Очередь key.device.create_device_access
 **/
GPB_FINAL @interface KEYAPISDEVICEV1CreateDeviceAccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/**
 * Идентификаторы устройства.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *deviceIdsArray;
/** The number of items in @c deviceIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger deviceIdsArray_Count;

/** Тип субъекта доступа */
@property(nonatomic, readwrite) enum KEYAPISDEVICEV1DeviceAccess_AccessorType deviceAccessAccessorType;

/**
 * Идентификатор субъекта доступа.
 * # Диапазон: 1..36
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *accessorId;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1CreateDeviceAccessTask's @c deviceAccessAccessorType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1CreateDeviceAccessTask_DeviceAccessAccessorType_RawValue(KEYAPISDEVICEV1CreateDeviceAccessTask *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1CreateDeviceAccessTask's @c deviceAccessAccessorType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1CreateDeviceAccessTask_DeviceAccessAccessorType_RawValue(KEYAPISDEVICEV1CreateDeviceAccessTask *message, int32_t value);

#pragma mark - KEYAPISDEVICEV1DeleteDeviceAccessTask

typedef GPB_ENUM(KEYAPISDEVICEV1DeleteDeviceAccessTask_FieldNumber) {
  KEYAPISDEVICEV1DeleteDeviceAccessTask_FieldNumber_RequestId = 1,
  KEYAPISDEVICEV1DeleteDeviceAccessTask_FieldNumber_DeviceIdsArray = 2,
  KEYAPISDEVICEV1DeleteDeviceAccessTask_FieldNumber_DeviceAccessAccessorType = 3,
  KEYAPISDEVICEV1DeleteDeviceAccessTask_FieldNumber_AccessorId = 4,
};

/**
 * Задача на удаление доступа к устройству.
 * Очередь key.device.delete_device_access
 **/
GPB_FINAL @interface KEYAPISDEVICEV1DeleteDeviceAccessTask : GPBMessage

/** Идентификатор запроса */
@property(nonatomic, readwrite, copy, null_resettable) NSString *requestId;

/**
 * Идентификаторы устройства.
 * # Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Array *deviceIdsArray;
/** The number of items in @c deviceIdsArray without causing the container to be created. */
@property(nonatomic, readonly) NSUInteger deviceIdsArray_Count;

/** Тип субъекта доступа */
@property(nonatomic, readwrite) enum KEYAPISDEVICEV1DeviceAccess_AccessorType deviceAccessAccessorType;

/**
 * Идентификатор субъекта доступа.
 * # Диапазон: 1..36
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *accessorId;

@end

/**
 * Fetches the raw value of a @c KEYAPISDEVICEV1DeleteDeviceAccessTask's @c deviceAccessAccessorType property, even
 * if the value was not defined by the enum at the time the code was generated.
 **/
int32_t KEYAPISDEVICEV1DeleteDeviceAccessTask_DeviceAccessAccessorType_RawValue(KEYAPISDEVICEV1DeleteDeviceAccessTask *message);
/**
 * Sets the raw value of an @c KEYAPISDEVICEV1DeleteDeviceAccessTask's @c deviceAccessAccessorType property, allowing
 * it to be set to a value that was not defined by the enum at the time the code
 * was generated.
 **/
void SetKEYAPISDEVICEV1DeleteDeviceAccessTask_DeviceAccessAccessorType_RawValue(KEYAPISDEVICEV1DeleteDeviceAccessTask *message, int32_t value);

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
