// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: keyapis/event/v1/keyapis_event_event_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

NS_ASSUME_NONNULL_BEGIN

#pragma mark - Enum KEYAPISEVENTV1Event_Type

/** Тип события */
typedef GPB_ENUM(KEYAPISEVENTV1Event_Type) {
  /**
   * 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.
   **/
  KEYAPISEVENTV1Event_Type_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISEVENTV1Event_Type_TypeUnknown = 0,

  /** Удалённое открытие */
  KEYAPISEVENTV1Event_Type_ApiOpenRemote = 1,

  /** Открытие по лицу */
  KEYAPISEVENTV1Event_Type_FaceOpenRemote = 2,

  /** Открытие по звонку */
  KEYAPISEVENTV1Event_Type_PinCodeOpenRemote = 3,

  /** Открытие по DTMF коду */
  KEYAPISEVENTV1Event_Type_DtmfOpenRemote = 4,

  /** Включение аварийного режима */
  KEYAPISEVENTV1Event_Type_EmergencyModeOnRemote = 5,

  /** Отключение аварийного режима */
  KEYAPISEVENTV1Event_Type_EmergencyModeOffRemote = 6,

  /** Открытие по коду */
  KEYAPISEVENTV1Event_Type_CodeOpenLocal = 7,

  /** Открытие по ключу */
  KEYAPISEVENTV1Event_Type_RfidOpenLocal = 8,

  /** Включение проигрывания звукового предупреждения */
  KEYAPISEVENTV1Event_Type_EmergencyAlarmRemote = 9,

  /** Получение логопас УЗ устройства в админке */
  KEYAPISEVENTV1Event_Type_GetCredentials = 10,

  /** Смена пароля на устройстве, логируется как успешная, так и неуспешная */
  KEYAPISEVENTV1Event_Type_ChangePassword = 11,

  /** Вход пользователя */
  KEYAPISEVENTV1Event_Type_UserEntry = 12,

  /** Открытие по DTMF коду */
  KEYAPISEVENTV1Event_Type_DtmfOpenLocal = 13,

  /** Открытие по номеру машины */
  KEYAPISEVENTV1Event_Type_CarNumberOpenRemote = 14,

  /** Выключение проигрывания звукового предупреждения */
  KEYAPISEVENTV1Event_Type_EmergencyAlarmOffRemote = 15,

  /** Включение проигрывания звукового предупреждения */
  KEYAPISEVENTV1Event_Type_EmergencyAlarmOnRemote = 16,

  /** Устройство открыто сотрудником ЛТП */
  KEYAPISEVENTV1Event_Type_DispatcherOpen = 17,

  /** Отказано в доступе сотрудником ЛТП */
  KEYAPISEVENTV1Event_Type_DispatcherDeniedOpen = 18,

  /** Открытие по типу авто */
  KEYAPISEVENTV1Event_Type_VehicleTypeOpenRemote = 19,
};

GPBEnumDescriptor *KEYAPISEVENTV1Event_Type_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 KEYAPISEVENTV1Event_Type_IsValidValue(int32_t value);

#pragma mark - Enum KEYAPISEVENTV1Event_DeviceType

/** Тип устройства */
typedef GPB_ENUM(KEYAPISEVENTV1Event_DeviceType) {
  /**
   * 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.
   **/
  KEYAPISEVENTV1Event_DeviceType_GPBUnrecognizedEnumeratorValue = kGPBUnrecognizedEnumeratorValue,
  /** Значение не указано */
  KEYAPISEVENTV1Event_DeviceType_DeviceTypeUnknown = 0,

  /** Домофон */
  KEYAPISEVENTV1Event_DeviceType_Intercom = 1,

  /** Шлагбаум */
  KEYAPISEVENTV1Event_DeviceType_Barrier = 2,

  /** Калитка */
  KEYAPISEVENTV1Event_DeviceType_Gate = 3,

  /** СКУД */
  KEYAPISEVENTV1Event_DeviceType_AccessControlPanel = 4,

  /** Камера */
  KEYAPISEVENTV1Event_DeviceType_Videocamera = 5,
};

GPBEnumDescriptor *KEYAPISEVENTV1Event_DeviceType_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 KEYAPISEVENTV1Event_DeviceType_IsValidValue(int32_t value);

#pragma mark - KEYAPISEVENTV1KeyapisEventEventV1Root

/**
 * 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 KEYAPISEVENTV1KeyapisEventEventV1Root : GPBRootObject
@end

#pragma mark - KEYAPISEVENTV1Event

typedef GPB_ENUM(KEYAPISEVENTV1Event_FieldNumber) {
  KEYAPISEVENTV1Event_FieldNumber_Type = 1,
  KEYAPISEVENTV1Event_FieldNumber_RaisedAt = 2,
  KEYAPISEVENTV1Event_FieldNumber_DeviceId = 3,
  KEYAPISEVENTV1Event_FieldNumber_DeviceType = 4,
  KEYAPISEVENTV1Event_FieldNumber_CompanyId = 5,
  KEYAPISEVENTV1Event_FieldNumber_RoomId = 6,
  KEYAPISEVENTV1Event_FieldNumber_Relay = 7,
  KEYAPISEVENTV1Event_FieldNumber_UserId = 8,
  KEYAPISEVENTV1Event_FieldNumber_UserAgent = 9,
  KEYAPISEVENTV1Event_FieldNumber_BuildingId = 10,
  KEYAPISEVENTV1Event_FieldNumber_OrponId = 11,
  KEYAPISEVENTV1Event_FieldNumber_RoomNumber = 12,
  KEYAPISEVENTV1Event_FieldNumber_IvrPhoneNumber = 13,
  KEYAPISEVENTV1Event_FieldNumber_GuestPhoneNumber = 14,
  KEYAPISEVENTV1Event_FieldNumber_Code = 15,
  KEYAPISEVENTV1Event_FieldNumber_Rfid = 16,
  KEYAPISEVENTV1Event_FieldNumber_RequestId = 17,
  KEYAPISEVENTV1Event_FieldNumber_DtmfPhoneNumber = 18,
  KEYAPISEVENTV1Event_FieldNumber_UserKind = 19,
  KEYAPISEVENTV1Event_FieldNumber_Login = 20,
  KEYAPISEVENTV1Event_FieldNumber_Password = 21,
  KEYAPISEVENTV1Event_FieldNumber_Host = 22,
  KEYAPISEVENTV1Event_FieldNumber_DeviceModel = 23,
  KEYAPISEVENTV1Event_FieldNumber_RfidId = 24,
  KEYAPISEVENTV1Event_FieldNumber_CodeId = 25,
  KEYAPISEVENTV1Event_FieldNumber_CarNumber = 26,
  KEYAPISEVENTV1Event_FieldNumber_Os = 27,
  KEYAPISEVENTV1Event_FieldNumber_PushToken = 28,
  KEYAPISEVENTV1Event_FieldNumber_CameraUid = 29,
  KEYAPISEVENTV1Event_FieldNumber_ScreenshotURL = 30,
  KEYAPISEVENTV1Event_FieldNumber_Vehicle = 31,
  KEYAPISEVENTV1Event_FieldNumber_CourierCompanyName = 32,
  KEYAPISEVENTV1Event_FieldNumber_OrderNumber = 33,
  KEYAPISEVENTV1Event_FieldNumber_CourierId = 34,
};

/**
 * Событие
 **/
GPB_FINAL @interface KEYAPISEVENTV1Event : GPBMessage

/**
 * Тип события.
 * Поле event_type
 **/
@property(nonatomic, readwrite) KEYAPISEVENTV1Event_Type type;

/**
 * Дата создания события.
 * # Тип: DateTime
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBTimestamp *raisedAt;
/** Test to see if @c raisedAt has been set. */
@property(nonatomic, readwrite) BOOL hasRaisedAt;

/** Идентификатор устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *deviceId;
/** Test to see if @c deviceId has been set. */
@property(nonatomic, readwrite) BOOL hasDeviceId;

/** Тип устройства на момент события */
@property(nonatomic, readwrite) KEYAPISEVENTV1Event_DeviceType deviceType;

/** Идентификатор компании */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *companyId;
/** Test to see if @c companyId has been set. */
@property(nonatomic, readwrite) BOOL hasCompanyId;

/** Идентификатор квартиры */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *roomId;
/** Test to see if @c roomId has been set. */
@property(nonatomic, readwrite) BOOL hasRoomId;

/** Индекс реле */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *relay;
/** Test to see if @c relay has been set. */
@property(nonatomic, readwrite) BOOL hasRelay;

/** Идентификатор пользователя */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *userId;
/** Test to see if @c userId has been set. */
@property(nonatomic, readwrite) BOOL hasUserId;

/** Юзерагент клиента из которого пользователь выполнял запрос */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *userAgent;
/** Test to see if @c userAgent has been set. */
@property(nonatomic, readwrite) BOOL hasUserAgent;

/** Идентификатор дома */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *buildingId;
/** Test to see if @c buildingId has been set. */
@property(nonatomic, readwrite) BOOL hasBuildingId;

/** ОРПОН */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt64Value *orponId;
/** Test to see if @c orponId has been set. */
@property(nonatomic, readwrite) BOOL hasOrponId;

/** Номер квартиры */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *roomNumber;
/** Test to see if @c roomNumber has been set. */
@property(nonatomic, readwrite) BOOL hasRoomNumber;

/** Телефон ИВР */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *ivrPhoneNumber;
/** Test to see if @c ivrPhoneNumber has been set. */
@property(nonatomic, readwrite) BOOL hasIvrPhoneNumber;

/** Телефон гостя / звонящего */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *guestPhoneNumber;
/** Test to see if @c guestPhoneNumber has been set. */
@property(nonatomic, readwrite) BOOL hasGuestPhoneNumber;

/** Код / пин код при открытии при звонке */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *code;
/** Test to see if @c code has been set. */
@property(nonatomic, readwrite) BOOL hasCode;

/** RFID номер */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *rfid;
/** Test to see if @c rfid has been set. */
@property(nonatomic, readwrite) BOOL hasRfid;

/**
 * ИД запроса.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *requestId;
/** Test to see if @c requestId has been set. */
@property(nonatomic, readwrite) BOOL hasRequestId;

/** Номер телефона с которого было открытие по DTMF коду */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *dtmfPhoneNumber;
/** Test to see if @c dtmfPhoneNumber has been set. */
@property(nonatomic, readwrite) BOOL hasDtmfPhoneNumber;

/**
 * Тип УЗ на устройстве.
 * Поле user_type
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *userKind;
/** Test to see if @c userKind has been set. */
@property(nonatomic, readwrite) BOOL hasUserKind;

/** Логин на устройстве */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *login;
/** Test to see if @c login has been set. */
@property(nonatomic, readwrite) BOOL hasLogin;

/** Пароль на устройстве */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *password;
/** Test to see if @c password has been set. */
@property(nonatomic, readwrite) BOOL hasPassword;

/** ip адрес устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *host;
/** Test to see if @c host has been set. */
@property(nonatomic, readwrite) BOOL hasHost;

/** Модель устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *deviceModel;
/** Test to see if @c deviceModel has been set. */
@property(nonatomic, readwrite) BOOL hasDeviceModel;

/** Идентификатор ключа */
@property(nonatomic, readwrite, strong, null_resettable) GPBInt32Value *rfidId;
/** Test to see if @c rfidId has been set. */
@property(nonatomic, readwrite) BOOL hasRfidId;

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

/** Номер машины */
@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 *os;
/** Test to see if @c os has been set. */
@property(nonatomic, readwrite) BOOL hasOs;

/** Пуш-токен для устройства */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *pushToken;
/** Test to see if @c pushToken has been set. */
@property(nonatomic, readwrite) BOOL hasPushToken;

/**
 * ИД камеры.
 * # Тип: Guid
 **/
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *cameraUid;
/** Test to see if @c cameraUid has been set. */
@property(nonatomic, readwrite) BOOL hasCameraUid;

/** Ссылка на скриншот события */
@property(nonatomic, readwrite, strong, null_resettable) GPBStringValue *screenshotURL;
/** Test to see if @c screenshotURL has been set. */
@property(nonatomic, readwrite) BOOL hasScreenshotURL;

/** Тип ТС */
@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

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

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

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
