# ------------------------------------------------------
# THIS FILE WAS AUTOMATICALLY GENERATED (DO NOT MODIFY)
# ------------------------------------------------------

input AcceptChildOrderInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Подписанное заявление на имущественный паевый взнос"""
  document: AssetContributionStatementSignedDocumentInput!

  """Идентификатор заявки"""
  exchange_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

type Account {
  """
  объект аккаунта в блокчейне содержит системную информацию, такую как публичные ключи доступа, доступные вычислительные ресурсы, информация об установленном смарт-контракте, и т.д. и т.п. Это системный уровень обслуживания, где у каждого пайщика есть аккаунт, но не каждый аккаунт может быть пайщиком в каком-либо кооперативе. Все смарт-контракты устанавливаются и исполняются на этом уровне.
  """
  blockchain_account: BlockchainAccount

  """
  объект пайщика кооператива в таблице блокчейне, который определяет членство пайщика в конкретном кооперативе. Поскольку MONO обслуживает только один кооператив, то в participant_account обычно содержится информация, которая описывает членство пайщика в этом кооперативе. Этот объект обезличен, публичен, и хранится в блокчейне.
  """
  participant_account: ParticipantAccount

  """объект приватных данных пайщика кооператива."""
  private_account: PrivateAccount

  """
  объект аккаунта в системе учёта провайдера, т.е. MONO. Здесь хранится приватная информация о пайщике кооператива, которая содержит его приватные данные. Эти данные не публикуются в блокчейне и не выходят за пределы базы данных провайдера. Они используются для заполнения шаблонов документов при нажатии соответствующих кнопок на платформе. 
  """
  provider_account: MonoAccount

  """
  объект пользователя кооперативной экономики содержит в блокчейне информацию о типе аккаунта пайщика, а также, обезличенные публичные данные (хэши) для верификации пайщиков между кооперативами. Этот уровень предназначен для хранения информации пайщика, которая необходима всем кооперативам, но не относится к какому-либо из них конкретно.
  """
  user_account: UserAccount

  """Имя аккаунта кооператива"""
  username: String!
}

type AccountRamDelta {
  account: String!
  delta: Int!
}

type AccountResourceInfo {
  """Доступные ресурсы"""
  available: String!

  """Текущее использование ресурсов"""
  current_used: String

  """Время последнего обновления использования ресурсов"""
  last_usage_update_time: String

  """Максимальное количество ресурсов"""
  max: String!

  """Использовано ресурсов"""
  used: String!
}

"""Тип аккаунта пользователя в системе"""
enum AccountType {
  Entrepreneur
  Individual
  Organization
}

type AccountsPaginationResult {
  """Текущая страница"""
  currentPage: Int!

  """Элементы текущей страницы"""
  items: [Account!]!

  """Общее количество элементов"""
  totalCount: Int!

  """Общее количество страниц"""
  totalPages: Int!
}

"""
Массив комплексных актов, содержащих полную информацию о сгенерированном и опубликованном документах
"""
type ActDetail {
  action: ExtendedBlockchainAction
  document: GeneratedDocument
}

type ActionAuthorization {
  actor: String!
  permission: String!
}

type ActionReceipt {
  abi_sequence: Int!
  act_digest: String!
  auth_sequence: [AuthSequence!]!
  code_sequence: Int!
  global_sequence: String!
  receiver: String!
  recv_sequence: String!
}

input AddParticipantInput {
  """
  Дата создания аккаунта в строковом формате даты EOSIO по UTC (2024-12-28T06:58:52.500)
  """
  created_at: String!

  """Электронная почта"""
  email: String!

  """Данные индивидуального предпринимателя"""
  entrepreneur_data: CreateEntrepreneurDataInput

  """Данные физического лица"""
  individual_data: CreateIndividualDataInput

  """Вступительный взнос, который был внесён пайщиком"""
  initial: String!

  """Минимальный паевый взнос, который был внесён пайщиком"""
  minimum: String!

  """Данные организации"""
  organization_data: CreateOrganizationDataInput

  """Имя аккаунта реферера"""
  referer: String

  """
  Флаг распределения вступительного взноса в невозвратный фонд вступительных взносов кооператива
  """
  spread_initial: Boolean!

  """Тип аккаунта"""
  type: AccountType!
}

input AddTrustedAccountInput {
  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """
  Имя аккаунта доверонного лица, который уполномачивается председателем кооперативного участка на совершение действий
  """
  trusted: String!
}

type AgendaWithDocuments {
  """Действие, которое привело к появлению вопроса на голосовании"""
  action: BlockchainAction!

  """Пакет документов, включающий разные подсекции"""
  documents: DocumentPackage!

  """Запись в таблице блокчейна о вопросе на голосовании"""
  table: BlockchainDecision!
}

input AgreementInput {
  protocol_day_month_year: String!
  protocol_number: String!
}

type AgreementVar {
  protocol_day_month_year: String!
  protocol_number: String!
}

type AssetContributionActDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: AssetContributionActMetaDocumentOutput!
}

input AssetContributionActGenerateDocumentInput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Имя аккаунта получателя на кооперативном участке"""
  receiver: String!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type AssetContributionActMetaDocumentOutput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """Имя аккаунта получателя на кооперативном участке"""
  receiver: String!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input AssetContributionActSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: AssetContributionActSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input AssetContributionActSignedMetaDocumentInput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """Имя аккаунта получателя на кооперативном участке"""
  receiver: String!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type AssetContributionDecisionDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: AssetContributionDecisionMetaDocumentOutput!
}

input AssetContributionDecisionGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type AssetContributionDecisionMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type AssetContributionStatementDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: AssetContributionStatementMetaDocumentOutput!
}

input AssetContributionStatementGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestInput!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type AssetContributionStatementMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestResponse!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input AssetContributionStatementSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: AssetContributionStatementSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input AssetContributionStatementSignedMetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestInput!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type AuthSequence {
  account: String!
  sequence: String!
}

type Authority {
  """Уровни разрешений"""
  accounts: [PermissionLevelWeight!]!

  """Ключи"""
  keys: [KeyWeight!]!

  """Порог"""
  threshold: Int!

  """Вес ожидания"""
  waits: [WaitWeight!]!
}

type BankAccount {
  """Номер банковского счета"""
  account_number: String!

  """Название банка"""
  bank_name: String!

  """Номер карты"""
  card_number: String

  """Валюта счета"""
  currency: String!

  """Детали счета"""
  details: BankAccountDetails!
}

type BankAccountDetails {
  """БИК банка"""
  bik: String!

  """Корреспондентский счет"""
  corr: String!

  """КПП банка"""
  kpp: String!
}

input BankAccountDetailsInput {
  """БИК банка"""
  bik: String!

  """Корреспондентский счет"""
  corr: String!

  """КПП банка"""
  kpp: String!
}

input BankAccountInput {
  """Номер банковского счета"""
  account_number: String!

  """Название банка"""
  bank_name: String!

  """Номер карты"""
  card_number: String

  """Валюта счета"""
  currency: String!

  """Детали счета"""
  details: BankAccountDetailsInput!
}

type BankPaymentMethod {
  """Дата создания"""
  created_at: DateTime!

  """Данные метода оплаты"""
  data: BankAccount!

  """Флаг основного метода платежа, который отображается в документах"""
  is_default: Boolean!

  """Идентификатор метода оплаты"""
  method_id: String!

  """Тип метода оплаты"""
  method_type: String!

  """Дата обновления"""
  updated_at: DateTime!

  """Имя пользователя, к которому привязан метод оплаты"""
  username: String!
}

type BlockchainAccount {
  """Имя аккаунта"""
  account_name: String!

  """Баланс"""
  core_liquid_balance: String

  """Ограничения CPU"""
  cpu_limit: AccountResourceInfo!

  """Вес CPU"""
  cpu_weight: String!

  """Дата создания"""
  created: String!

  """Номер последнего блока"""
  head_block_num: Int!

  """Время последнего блока"""
  head_block_time: String!

  """Время последнего обновления кода"""
  last_code_update: String!

  """Ограничения сети"""
  net_limit: AccountResourceInfo!

  """Вес сети"""
  net_weight: String!

  """Разрешения"""
  permissions: [Permission!]!

  """Флаг привилегий"""
  privileged: Boolean!

  """Квота RAM"""
  ram_quota: Int!

  """Использование RAM"""
  ram_usage: Int!

  """Запрос на возврат"""
  refund_request: RefundRequest

  """Информация о REX"""
  rex_info: String

  """Делегированные ресурсы"""
  self_delegated_bandwidth: ResourceDelegationDTO

  """Общий обзор ресурсов"""
  total_resources: ResourceOverview

  """Информация о голосовании"""
  voter_info: String
}

"""Объект действия в блокчейне"""
type BlockchainAction {
  account: String!
  account_ram_deltas: [AccountRamDelta!]!
  action_ordinal: Int!
  authorization: [ActionAuthorization!]!
  block_id: String!
  block_num: Int!
  chain_id: String!
  console: String!
  context_free: Boolean!
  creator_action_ordinal: Int!

  """Данные действия в формате JSON"""
  data: JSON!
  elapsed: Int!
  global_sequence: String!
  name: String!
  receipt: ActionReceipt!
  receiver: String!
  transaction_id: String!
}

"""
Запись в таблице блокчейна о процессе принятия решения советом кооператива
"""
type BlockchainDecision {
  approved: Boolean!
  authorization: SignedBlockchainDocument!
  authorized: Boolean!
  authorized_by: String!
  batch_id: Float!
  callback_contract: String!
  confirm_callback: String!
  coopname: String!
  created_at: String!
  decline_callback: String!
  expired_at: String!
  hash: String!
  id: Float!
  meta: String!
  statement: SignedBlockchainDocument!
  type: String!
  username: String!
  validated: Boolean!
  votes_against: [String!]!
  votes_for: [String!]!
}

"""Информация о состоянии блокчейна"""
type BlockchainInfoDTO {
  """Лимит CPU для блока"""
  block_cpu_limit: Int!

  """Лимит сети для блока"""
  block_net_limit: Int!

  """Идентификатор цепочки (chain ID)"""
  chain_id: String!

  """Идентификатор головного блока в форк базе данных"""
  fork_db_head_block_id: String

  """Номер головного блока в форк базе данных"""
  fork_db_head_block_num: Int

  """Идентификатор головного блока"""
  head_block_id: String!

  """Номер головного блока"""
  head_block_num: Int!

  """Прозводитель головного блока"""
  head_block_producer: String!

  """Время головного блока"""
  head_block_time: String!

  """Идентификатор последнего необратимого блока"""
  last_irreversible_block_id: String!

  """Номер последнего необратимого блока"""
  last_irreversible_block_num: Int!

  """Время последнего необратимого блока"""
  last_irreversible_block_time: String

  """Версия сервера"""
  server_version: String!

  """Строковое представление версии сервера"""
  server_version_string: String

  """Виртуальный лимит CPU для блока"""
  virtual_block_cpu_limit: Int!

  """Виртуальный лимит сети для блока"""
  virtual_block_net_limit: Int!
}

type Branch {
  """Банковский счёт"""
  bank_account: BankPaymentMethod!

  """Уникальное имя кооперативного участка"""
  braname: String!

  """Город"""
  city: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Страна"""
  country: String!

  """Детали организации"""
  details: OrganizationDetails!

  """Email"""
  email: String!

  """Фактический адрес"""
  fact_address: String!

  """Полный адрес"""
  full_address: String!

  """Полное название организации"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Представитель организации"""
  represented_by: RepresentedBy!

  """Краткое название организации"""
  short_name: String!

  """Доверенные аккаунты"""
  trusted: [Individual!]!

  """Председатель кооперативного участка"""
  trustee: Individual!

  """Тип организации"""
  type: String!
}

input CancelRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор заявки"""
  exchange_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

input CommonRequestInput {
  currency: String!
  hash: String!
  program_id: Int!
  title: String!
  total_cost: String!
  type: String!
  unit_cost: String!
  unit_of_measurement: String!
  units: Int!
}

type CommonRequestResponse {
  currency: String!
  hash: String!
  program_id: Int!
  title: String!
  total_cost: String!
  type: String!
  unit_cost: String!
  unit_of_measurement: String!
  units: Int!
}

input CompleteRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

"""
Подтвердить получение имущества Уполномоченным лицом от Заказчика по новации и акту приёмки-передачи
"""
input ConfirmReceiveOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """
  Подписанный акт приёмки-передачи имущества Уполномоченным лицом из Кооператива при возврате Заказчику по новации
  """
  document: ReturnByAssetActSignedDocumentInput!

  """Идентификатор обмена"""
  exchange_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

"""
Подтвердить поставку имущества Поставщиком по заявке Заказчика и акту приёма-передачи
"""
input ConfirmSupplyOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Подписанный акт приёма-передачи имущества от Поставщика в Кооператив"""
  document: AssetContributionActSignedDocumentInput!

  """Идентификатор обмена"""
  exchange_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

type ContactsDTO {
  chairman: PublicChairman!
  details: OrganizationDetails!
  email: String!
  full_address: String!
  full_name: String!
  phone: String!
}

type CooperativeOperatorAccount {
  """Объявление кооператива"""
  announce: String!

  """Тип кооператива"""
  coop_type: String!

  """Дата создания"""
  created_at: String!

  """Описание кооператива"""
  description: String!

  """Документ кооператива"""
  document: SignedBlockchainDocument!

  """Начальный взнос"""
  initial: String!

  """Разветвленный ли кооператив"""
  is_branched: Boolean!

  """Является ли это кооперативом"""
  is_cooperative: Boolean!

  """Включен ли кооператив"""
  is_enrolled: Boolean!

  """Метаинформация"""
  meta: String!

  """Минимальный взнос"""
  minimum: String!

  """Начальный взнос организации"""
  org_initial: String!

  """Минимальный взнос организации"""
  org_minimum: String!

  """Регистрационный взнос организации"""
  org_registration: String!

  """Родительское имя аккаунта кооператива"""
  parent_username: String!

  """Реферал кооператива"""
  referer: String!

  """Дата регистрации"""
  registered_at: String!

  """Регистрационный взнос"""
  registration: String!

  """Регистратор кооператива"""
  registrator: String!

  """Статус кооператива"""
  status: String!

  """Список хранилищ"""
  storages: [String!]!

  """Тип учетной записи"""
  type: String!

  """Имя аккаунта кооператива"""
  username: String!

  """Дата регистрации"""
  verifications: [Verification!]!
}

"""Страна регистрации пользователя"""
enum Country {
  Russia
}

input CreateBankAccountInput {
  """Данные для банковского перевода"""
  data: BankAccountInput!

  """Флаг основного метода платежа, который отображается в документах"""
  is_default: Boolean!

  """Имя аккаунта пользователя"""
  username: String!
}

input CreateBranchInput {
  """
  Документ, на основании которого действует Уполномоченный (решение совета №СС-.. от ..)
  """
  based_on: String!

  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Электронная почта"""
  email: String!

  """Фактический адрес"""
  fact_address: String!

  """Полное имя организации кооперативного участка"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Краткое имя организации кооперативного участка"""
  short_name: String!

  """Имя аккаунта уполномоченного (председателя) кооперативного участка"""
  trustee: String!
}

input CreateChildOrderInput {
  """Имя кооператива"""
  coopname: String!

  """Дополнительные данные, специфичные для заявки"""
  data: String!

  """
  Подписанное заявление на возврат паевого взноса имуществом от Заказчика
  """
  document: ReturnByAssetStatementSignedDocumentInput!

  """Метаданные о заявке"""
  meta: String!

  """Идентификатор родительской заявки"""
  parent_id: Float!

  """Время жизни продукта, заявляемое поставщиком (в секундах)"""
  product_lifecycle_secs: Float!

  """Идентификатор программы"""
  program_id: Float!

  """
  Цена за единицу (штуку) товара или результата услуги в формате "10.0000 RUB"
  """
  unit_cost: String!

  """Количество частей (штук) товара или услуги"""
  units: Float!

  """Имя пользователя, инициирующего или обновляющего заявку"""
  username: String!
}

input CreateDepositPaymentInput {
  """Сумма взноса"""
  quantity: String!

  """Имя аккаунта пользователя"""
  username: String!
}

input CreateEntrepreneurDataInput {
  """Банковский счет"""
  bank_account: BankAccountInput!

  """Дата рождения"""
  birthdate: String!

  """Город"""
  city: String!

  """Страна"""
  country: Country!

  """Детали индивидуального предпринимателя"""
  details: EntrepreneurDetailsInput!

  """Имя"""
  first_name: String!

  """Полный адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Телефон"""
  phone: String!
}

input CreateIndividualDataInput {
  """Дата рождения"""
  birthdate: String!

  """Имя"""
  first_name: String!

  """Полный адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Данные паспорта"""
  passport: PassportInput

  """Телефон"""
  phone: String!
}

input CreateInitialPaymentInput {
  """Имя аккаунта пользователя"""
  username: String!
}

input CreateOrganizationDataInput {
  """Банковский счет организации"""
  bank_account: BankAccountInput!

  """Город"""
  city: String!

  """Страна"""
  country: String!

  """Детали организации"""
  details: OrganizationDetailsInput!

  """Фактический адрес"""
  fact_address: String!

  """Полный адрес"""
  full_address: String!

  """Полное наименование организации"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Представитель организации"""
  represented_by: RepresentedByInput!

  """Краткое наименование организации"""
  short_name: String!

  """Тип организации"""
  type: OrganizationType!
}

input CreateParentOfferInput {
  """Имя кооператива"""
  coopname: String!

  """Дополнительные данные, специфичные для заявки"""
  data: String!

  """Метаданные о заявке"""
  meta: String!

  """Идентификатор родительской заявки"""
  parent_id: Float!

  """Время жизни продукта, заявляемое поставщиком (в секундах)"""
  product_lifecycle_secs: Float!

  """Идентификатор программы"""
  program_id: Float!

  """
  Цена за единицу (штуку) товара или услуги в формате "10.0000 RUB"
  """
  unit_cost: String!

  """Количество частей (штук) товара или услуги"""
  units: Float!

  """Имя пользователя, инициирующего или обновляющего заявку"""
  username: String!
}

input CreateProjectFreeDecisionInput {
  """Проект решения, которое предлагается принять"""
  decision: String!

  """Вопрос, который выносится на повестку"""
  question: String!
}

type CreatedProjectFreeDecision {
  """Проект решения, которое предлагается принять"""
  decision: String!

  """Идентификатор проекта свободного решения"""
  id: String!

  """Вопрос, который выносится на повестку"""
  question: String!
}

"""
A date-time string at UTC, such as 2019-12-03T09:54:33Z, compliant with the date-time format.
"""
scalar DateTime

"""
Комплексный объект решения совета, включающий в себя информацию о голосовавших членах совета, расширенное действие, которое привело к появлению решения, и документ самого решения.
"""
type DecisionDetail {
  action: ExtendedBlockchainAction!
  document: DecisionDocumentUnion!
  votes_against: [ExtendedBlockchainAction!]!
  votes_for: [ExtendedBlockchainAction!]!
}

"""Объединение типов документов протоколов решения совета"""
union DecisionDocumentUnion = FreeDecisionDocument | ParticipantApplicationDecisionDocument

input DeclineRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Причина отказа"""
  meta: String!

  """Имя аккаунта пользователя"""
  username: String!
}

input DeleteBranchInput {
  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!
}

input DeletePaymentMethodInput {
  """Идентификатор метода оплаты"""
  method_id: String!

  """Имя пользователя, чей метод оплаты нужно удалить"""
  username: String!
}

input DeleteTrustedAccountInput {
  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """
  Имя аккаунта доверонного лица, у которого отзывается право подписи за председателя кооперативного участка
  """
  trusted: String!
}

input DeliverOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

type Desktop {
  """Имя шаблона рабочих столов"""
  authorizedHome: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Имя шаблона рабочих столов"""
  layout: String!

  """Имя шаблона рабочих столов"""
  nonAuthorizedHome: String!

  """Состав приложений рабочего стола"""
  workspaces: [DesktopWorkspace!]!
}

type DesktopWorkspace {
  """Имя приложения"""
  name: String!

  """Отображаемое название приложения"""
  title: String!
}

input DisputeOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Документ с аргументами спора"""
  document: JSONObject!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

"""
Комплексный объект папки цифрового документа, который включает в себя заявление, решение, акты и связанные документы
"""
type DocumentPackage {
  """Массив объект(ов) актов, относящихся к заявлению"""
  acts: [ActDetail!]!

  """Объект цифрового документа решения"""
  decision: DecisionDetail!

  """Массив связанных документов, извлечённых из мета-данных"""
  links: [GeneratedDocument!]!

  """Объект цифрового документа заявления"""
  statement: StatementDetail!
}

type DocumentsPaginationResult {
  """Текущая страница"""
  currentPage: Int!

  """Элементы текущей страницы"""
  items: [DocumentPackage!]!

  """Общее количество элементов"""
  totalCount: Int!

  """Общее количество страниц"""
  totalPages: Int!
}

input EditBranchInput {
  """
  Документ, на основании которого действует Уполномоченный (решение совета №СС-.. от ..)
  """
  based_on: String!

  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Электронная почта"""
  email: String!

  """Фактический адрес"""
  fact_address: String!

  """Полное имя организации кооперативного участка"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Краткое имя организации кооперативного участка"""
  short_name: String!

  """Имя аккаунта уполномоченного (председателя) кооперативного участка"""
  trustee: String!
}

type Entrepreneur {
  """Дата рождения"""
  birthdate: String!

  """Город"""
  city: String!

  """Страна"""
  country: String!

  """Детали ИП (ИНН, ОГРН)"""
  details: EntrepreneurDetails!

  """Email"""
  email: String!

  """Имя"""
  first_name: String!

  """Юридический адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Телефон"""
  phone: String!

  """Имя аккаунта"""
  username: String!
}

type EntrepreneurDetails {
  """ИНН"""
  inn: String!

  """ОГРН"""
  ogrn: String!
}

input EntrepreneurDetailsInput {
  """ИНН"""
  inn: String!

  """ОГРН"""
  ogrn: String!
}

"""
Расширенное действие блокчейна с персональными данными пользователя, совершившего его.
"""
type ExtendedBlockchainAction {
  account: String!
  account_ram_deltas: [AccountRamDelta!]!
  action_ordinal: Int!
  authorization: [ActionAuthorization!]!
  block_id: String!
  block_num: Int!
  chain_id: String!
  console: String!
  context_free: Boolean!
  creator_action_ordinal: Int!

  """Данные действия в формате JSON"""
  data: JSON!
  elapsed: Int!
  global_sequence: String!
  name: String!
  receipt: ActionReceipt!
  receiver: String!
  transaction_id: String!

  """Доп. данные о пользователе (физ/ИП/организация)"""
  user: UserDataUnion
}

type Extension {
  """Настройки конфигурации для расширения"""
  config: JSON

  """Дата создания расширения"""
  created_at: DateTime!

  """Описание расширения"""
  description: String

  """Показывает, включено ли расширение"""
  enabled: Boolean!

  """Внешняя ссылка на iframe-интерфейс расширения"""
  external_url: String

  """Изображение для расширения"""
  image: String

  """Поле инструкция для установки (INSTALL)"""
  instructions: String!

  """Показывает, доступно ли расширение"""
  is_available: Boolean!

  """Показывает, встроенное ли это расширение"""
  is_builtin: Boolean!

  """Показывает, рабочий стол ли это"""
  is_desktop: Boolean!

  """Показывает, установлено ли расширение"""
  is_installed: Boolean!

  """Показывает, внутреннее ли это расширение"""
  is_internal: Boolean!

  """Уникальное имя расширения"""
  name: String!

  """Поле подробного текстового описания (README)"""
  readme: String!

  """Схема настроек конфигурации для расширения"""
  schema: JSON

  """Массив тегов для расширения"""
  tags: [String!]!

  """Заголовок расширения"""
  title: String

  """Дата последнего обновления расширения"""
  updated_at: DateTime!
}

input ExtensionInput {
  """Объект конфигурации расширения"""
  config: JSON!

  """Дата установки расширения"""
  created_at: DateTime

  """Флаг того, включено ли расширение сейчас"""
  enabled: Boolean!

  """Уникальное имя расширения (является идентификатором)"""
  name: String!

  """Дата обновления расширения"""
  updated_at: DateTime
}

type FreeDecisionDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: FreeDecisionMetaDocumentOutput!
}

input FreeDecisionGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор протокола решения собрания совета"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Идентификатор проекта решения"""
  project_id: String!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type FreeDecisionMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор повестки дня"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """Идентификатор протокола решения собрания совета"""
  project_id: String!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input GenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

input GenerateDocumentOptionsInput {
  """Пропустить сохранение"""
  skip_save: Boolean
}

type GeneratedDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаданные документа"""
  meta: MetaDocument!
}

input GetAccountInput {
  """Имя аккаунта пользователя"""
  username: String!
}

input GetAccountsInput {
  role: String
}

input GetBranchesInput {
  """Фильтр по имени аккаунта кооперативного участка"""
  braname: String

  """Имя аккаунта кооператива"""
  coopname: String!
}

input GetDocumentsFilterInput {
  additionalFilters: JSON
  receiver: String!
}

input GetDocumentsInput {
  filter: GetDocumentsFilterInput!
  limit: Int
  page: Int
  type: String
}

input GetExtensionsInput {
  """Фильтр включенных расширений"""
  enabled: Boolean

  """Фильтр активности"""
  is_available: Boolean

  """Фильтр рабочих столов"""
  is_desktop: Boolean

  """Фильтр установленных расширений"""
  is_installed: Boolean

  """Фильтр по имени"""
  name: String
}

input GetPaymentMethodsInput {
  """Количество элементов на странице"""
  limit: Int! = 10

  """Номер страницы"""
  page: Int! = 1

  """Ключ сортировки (например, "name")"""
  sortBy: String

  """Направление сортировки ("ASC" или "DESC")"""
  sortOrder: String! = "ASC"

  """Имя пользователя для фильтрации методов оплаты"""
  username: String
}

input GetPaymentsInput {
  """Идентификатор платежа в блокчейне"""
  blockchain_id: String

  """Идентификатор платежа во внутренней системе"""
  id: String

  """Статус платежа"""
  status: PaymentStatus

  """Имя пользователя для фильтрации платежей"""
  username: String
}

type Individual {
  """Дата рождения"""
  birthdate: String!

  """Email"""
  email: String!

  """Имя"""
  first_name: String!

  """Полный адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Данные паспорта"""
  passport: Passport

  """Телефон"""
  phone: String!

  """Имя аккаунта"""
  username: String!
}

input Init {
  """
  Объект организации кооператива, которая обслуживает данный экземпляр программного обеспечения MONO
  """
  organization_data: CreateOrganizationDataInput!

  """
  Переменные кооператива, используемые для заполнения шаблонов документов
  """
  vars: VarsInput!
}

input Install {
  soviet: [SovietMemberInput!]!
  wif: String!
}

"""
The `JSON` scalar type represents JSON values as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSON

"""
The `JSONObject` scalar type represents JSON objects as specified by [ECMA-404](http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-404.pdf).
"""
scalar JSONObject

type KeyWeight {
  """Ключ"""
  key: String!

  """Вес"""
  weight: Int!
}

input LoginInput {
  """Электронная почта"""
  email: String!

  """Метка времени в строковом формате ISO"""
  now: String!

  """Цифровая подпись метки времени"""
  signature: String!
}

input LogoutInput {
  """Токен обновления"""
  access_token: String!

  """Токен доступа"""
  refresh_token: String!
}

type MetaDocument {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input MetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input ModerateRequestInput {
  """
  Размер комиссии за отмену в формате "10.0000 RUB"
  """
  cancellation_fee: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

type MonoAccount {
  """Электронная почта пользователя"""
  email: String!

  """Есть ли у пользователя аккаунт"""
  has_account: Boolean!

  """ID начального заказа"""
  initial_order: String

  """Подтверждена ли электронная почта"""
  is_email_verified: Boolean!

  """Зарегистрирован ли пользователь"""
  is_registered: Boolean!

  """Сообщение"""
  message: String

  """Публичный ключ пользователя"""
  public_key: String!

  """Реферер пользователя"""
  referer: String!

  """Роль пользователя"""
  role: String!

  """Статус пользователя"""
  status: UserStatus!

  """Тип пользователя"""
  type: String!

  """Имя пользователя"""
  username: String!
}

type Mutation {
  """Подтвердить поставку имущества на заявку"""
  acceptChildOrder(data: AcceptChildOrderInput!): Transaction!

  """
  Добавить активного пайщика, который вступил в кооператив, не используя платформу (заполнив заявление собственноручно, оплатив вступительный и минимальный паевый взносы, и получив протокол решения совета)
  """
  addParticipant(data: AddParticipantInput!): Account!

  """Добавить доверенное лицо кооперативного участка"""
  addTrustedAccount(data: AddTrustedAccountInput!): Branch!

  """Отменить заявку"""
  cancelRequest(data: CancelRequestInput!): Transaction!

  """Завершить заявку по истечению гарантийного срока"""
  completeRequest(data: CompleteRequestInput!): Transaction!

  """
  Подтвердить получение имущества Уполномоченным лицом от Заказчика по новации и акту приёмки-передачи
  """
  confirmReceiveOnRequest(data: ConfirmReceiveOnRequestInput!): Transaction!

  """
  Подтвердить поставку имущества Поставщиком по заявке Заказчика и акту приёма-передачи
  """
  confirmSupplyOnRequest(data: ConfirmSupplyOnRequestInput!): Transaction!

  """Добавить метод оплаты"""
  createBankAccount(data: CreateBankAccountInput!): PaymentMethod!

  """Создать кооперативный участок"""
  createBranch(data: CreateBranchInput!): Branch!

  """Создать заявку на поставку имущества по предложению Поставщика"""
  createChildOrder(data: CreateChildOrderInput!): Transaction!

  """
  Создание объекта паевого платежа производится мутацией CreateDeposit. Выполнение мутации возвращает идентификатор платежа и данные для его совершения в зависимости от выбранного платежного провайдера.
  """
  createDepositPayment(data: CreateDepositPaymentInput!): Payment!

  """
  Создание объекта регистрационного платежа производится мутацией CreateInitial. Выполнение мутации возвращает идентификатор платежа и данные для его совершения в зависимости от выбранного платежного провайдера.
  """
  createInitialPayment(data: CreateInitialPaymentInput!): Payment!

  """Создать предложение на поставку имущества"""
  createParentOffer(data: CreateParentOfferInput!): Transaction!

  """
  Создать повестку дня и проект решения, и сохранить в хранилище для дальнейшей генерации документа и его публикации
  """
  createProjectOfFreeDecision(data: CreateProjectFreeDecisionInput!): CreatedProjectFreeDecision!

  """Отклонить заявку"""
  declineRequest(data: DeclineRequestInput!): Transaction!

  """Удалить кооперативный участок"""
  deleteBranch(data: DeleteBranchInput!): Boolean!

  """Удалить метод оплаты"""
  deletePaymentMethod(data: DeletePaymentMethodInput!): Boolean!

  """Удалить доверенное лицо кооперативного участка"""
  deleteTrustedAccount(data: DeleteTrustedAccountInput!): Branch!

  """Подтвердить доставку имущества Заказчику по заявке"""
  deliverOnRequest(data: DeliverOnRequestInput!): Transaction!

  """Открыть спор по заявке"""
  disputeOnRequest(data: DisputeOnRequestInput!): Transaction!

  """Изменить кооперативный участок"""
  editBranch(data: EditBranchInput!): Branch!

  """Сгенерировать документ акта приема-передачи."""
  generateAssetContributionAct(data: AssetContributionActGenerateDocumentInput!, options: GenerateDocumentOptionsInput): AssetContributionActDocument!

  """Сгенерировать документ решения о вступлении в кооператив."""
  generateAssetContributionDecision(data: AssetContributionDecisionGenerateDocumentInput!, options: GenerateDocumentOptionsInput): AssetContributionDecisionDocument!

  """Сгенерировать документ заявления о вступлении в кооператив."""
  generateAssetContributionStatement(data: AssetContributionStatementGenerateDocumentInput!, options: GenerateDocumentOptionsInput): AssetContributionStatementDocument!

  """Сгенерировать протокол решения по предложенной повестке"""
  generateFreeDecision(data: FreeDecisionGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ProjectFreeDecisionDocument!

  """Сгенерировать документ заявления о вступлении в кооператив."""
  generateParticipantApplication(data: ParticipantApplicationGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ParticipantApplicationDocument!

  """Сгенерировать документ протокол решения собрания совета"""
  generateParticipantApplicationDecision(data: ParticipantApplicationDecisionGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ParticipantApplicationDecisionDocument!

  """Сгенерировать документ согласия с политикой конфиденциальности."""
  generatePrivacyAgreement(data: GenerateDocumentInput!, options: GenerateDocumentOptionsInput): GeneratedDocument!

  """Сгенерировать документ проекта свободного решения"""
  generateProjectOfFreeDecision(data: ProjectFreeDecisionGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ProjectFreeDecisionDocument!

  """Сгенерировать документ акта возврата имущества."""
  generateReturnByAssetAct(data: ReturnByAssetActGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ReturnByAssetActDocument!

  """Сгенерировать документ решения о возврате имущества."""
  generateReturnByAssetDecision(data: ReturnByAssetDecisionGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ReturnByAssetDecisionDocument!

  """Сгенерировать документ заявления о возврате имущества."""
  generateReturnByAssetStatement(data: ReturnByAssetStatementGenerateDocumentInput!, options: GenerateDocumentOptionsInput): ReturnByAssetStatementDocument!

  """Сгенерировать документ, подтверждающий выбор кооперативного участка"""
  generateSelectBranchDocument(data: SelectBranchGenerateDocumentInput!, options: GenerateDocumentOptionsInput): SelectBranchDocument!

  """
  Сгенерировать документ соглашения о порядка и правилах использования простой электронной подписи.
  """
  generateSignatureAgreement(data: GenerateDocumentInput!, options: GenerateDocumentOptionsInput): GeneratedDocument!

  """Сгенерировать документ пользовательского соглашения."""
  generateUserAgreement(data: GenerateDocumentInput!, options: GenerateDocumentOptionsInput): GeneratedDocument!

  """
  Сгенерировать документ соглашения о целевой потребительской программе "Цифровой Кошелёк"
  """
  generateWalletAgreement(data: GenerateDocumentInput!, options: GenerateDocumentOptionsInput): GeneratedDocument!

  """
  Произвести инициализацию программного обеспечения перед установкой совета методом install
  """
  initSystem(data: Init!): SystemInfo!

  """Установить расширение"""
  installExtension(data: ExtensionInput!): Extension!

  """Произвести установку членов совета перед началом работы"""
  installSystem(data: Install!): SystemInfo!

  """
  Войти в систему с помощью цифровой подписи и получить JWT-токены доступа
  """
  login(data: LoginInput!): RegisteredAccount!

  """Выйти из системы и заблокировать JWT-токены"""
  logout(data: LogoutInput!): Boolean!

  """Модерировать заявку"""
  moderateRequest(data: ModerateRequestInput!): Transaction!

  """Отклонить модерацию по заявке"""
  prohibitRequest(data: ProhibitRequestInput!): Transaction!

  """
  Опубликовать предложенную повестку и проект решения для дальнейшего голосования совета по нему
  """
  publishProjectOfFreeDecision(data: PublishProjectFreeDecisionInput!): Boolean!

  """Опубликовать заявку"""
  publishRequest(data: PublishRequestInput!): Transaction!

  """
  Подтвердить получение имущества Уполномоченным лицом от Заказчика по акту приёмки-передачи
  """
  receiveOnRequest(data: ReceiveOnRequestInput!): Transaction!

  """Обновить токен доступа аккаунта"""
  refresh(data: RefreshInput!): RegisteredAccount!

  """Зарегистрировать аккаунт пользователя в системе"""
  registerAccount(data: RegisterAccountInput!): RegisteredAccount!

  """
  Зарегистрировать заявление и подписанные положения, подготовив пакет документов к отправке в совет на голосование после поступления оплаты.
  """
  registerParticipant(data: RegisterParticipantInput!): Account!

  """Заменить приватный ключ аккаунта"""
  resetKey(data: ResetKeyInput!): Boolean!

  """Выбрать кооперативный участок"""
  selectBranch(data: SelectBranchInput!): Boolean!

  """
  Управление статусом платежа осущствляется мутацией setPaymentStatus. При переходе платежа в статус PAID вызывается эффект в блокчейне, который завершает операцию автоматическим переводом платежа в статус COMPLETED. При установке статуса REFUNDED запускается процесс отмены платежа в блокчейне. Остальные статусы не приводят к эффектам в блокчейне.
  """
  setPaymentStatus(data: SetPaymentStatusInput!): Payment!

  """Сохранить приватный ключ в зашифрованном серверном хранилище"""
  setWif(data: SetWifInput!): Boolean!

  """
  Выслать токен для замены приватного ключа аккаунта на электронную почту
  """
  startResetKey(data: StartResetKeyInput!): Boolean!

  """
  Подтвердить поставку имущества Поставщиком по заявке Заказчика и акту приёма-передачи
  """
  supplyOnRequest(data: SupplyOnRequestInput!): Transaction!

  """Удалить расширение"""
  uninstallExtension(data: UninstallExtensionInput!): Boolean!

  """Снять с публикации заявку"""
  unpublishRequest(data: UnpublishRequestInput!): Transaction!

  """
  Обновить аккаунт в системе провайдера. Обновление аккаунта пользователя производится по username. Мутация позволяет изменить приватные данные пользователя, а также, адрес электронной почты в MONO. Использовать мутацию может только председатель совета.
  """
  updateAccount(data: UpdateAccountInput!): Account!

  """Обновить банковский счёт"""
  updateBankAccount(data: UpdateBankAccountInput!): PaymentMethod!

  """Обновить расширение"""
  updateExtension(data: ExtensionInput!): Extension!

  """Обновить заявку"""
  updateRequest(data: UpdateRequestInput!): Transaction!

  """Обновить параметры системы"""
  updateSystem(data: Update!): SystemInfo!
}

type Organization {
  """Город"""
  city: String!

  """Страна"""
  country: String!

  """Детали организации"""
  details: OrganizationDetails!

  """Email"""
  email: String!

  """Фактический адрес"""
  fact_address: String!

  """Юридический адрес"""
  full_address: String!

  """Полное название"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Представитель организации"""
  represented_by: RepresentedBy!

  """Краткое название"""
  short_name: String!

  """Тип организации"""
  type: String!

  """Имя аккаунта организации"""
  username: String!
}

type OrganizationDetails {
  """ИНН"""
  inn: String!

  """КПП"""
  kpp: String!

  """ОГРН"""
  ogrn: String!
}

input OrganizationDetailsInput {
  inn: String!
  kpp: String!
  ogrn: String!
}

"""Тип юридического лица"""
enum OrganizationType {
  AO
  COOP
  OAO
  OOO
  PAO
  PRODCOOP
  ZAO
}

input PaginationInput {
  """Количество элементов на странице"""
  limit: Int! = 10

  """Номер страницы"""
  page: Int! = 1

  """Ключ сортировки (например, "name")"""
  sortBy: String

  """Направление сортировки ("ASC" или "DESC")"""
  sortOrder: String! = "ASC"
}

type ParticipantAccount {
  """Имя кооперативного участка"""
  braname: String

  """Время создания записи о члене"""
  created_at: DateTime!

  """LEGACY Флаг, имеет ли член право голоса"""
  has_vote: Boolean!

  """Сумма вступительного взноса"""
  initial_amount: String

  """LEGACY Флаг, внесен ли регистрационный взнос"""
  is_initial: Boolean!

  """LEGACY Флаг, внесен ли минимальный паевый взнос"""
  is_minimum: Boolean!

  """Время последнего минимального платежа"""
  last_min_pay: DateTime!

  """Время последнего обновления информации о члене"""
  last_update: DateTime!

  """Сумма минимального паевого взноса"""
  minimum_amount: String

  """Статус члена кооператива (accepted | blocked)"""
  status: String!

  """Тип участника (individual | entrepreneur | organization)"""
  type: String

  """Уникальное имя члена кооператива"""
  username: String!
}

type ParticipantApplicationDecisionDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ParticipantApplicationDecisionMetaDocumentOutput!
}

input ParticipantApplicationDecisionGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор протокола решения собрания совета"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ParticipantApplicationDecisionMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор протокола решения собрания совета"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type ParticipantApplicationDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ParticipantApplicationMetaDocumentOutput!
}

input ParticipantApplicationGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Изображение собственноручной подписи (base-64)"""
  signature: String!

  """
  Флаг пропуска сохранения документа (используется для предварительной генерации и демонстрации пользователю)
  """
  skip_save: Boolean!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ParticipantApplicationMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input ParticipantApplicationSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ParticipantApplicationSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input ParticipantApplicationSignedMetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Изображение собственноручной подписи (base-64)"""
  signature: String!

  """
  Флаг пропуска сохранения документа (используется для предварительной генерации и демонстрации пользователю)
  """
  skip_save: Boolean!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type Passport {
  """Код подразделения"""
  code: String!

  """Дата выдачи"""
  issued_at: String!

  """Кем выдан"""
  issued_by: String!

  """Номер паспорта"""
  number: Int!

  """Серия паспорта"""
  series: Int!
}

input PassportInput {
  code: String!
  issued_at: String!
  issued_by: String!
  number: Float!
  series: Float!
}

type Payment {
  """Сумма платежа"""
  amount: Float!

  """Идентификационный номер платежа в блокчейне"""
  blockchain_id: Float!

  """Дата создания платежа"""
  created_at: DateTime!

  """Детали платежа"""
  details: PaymentDetails!

  """Дата истечения срока давности платежа"""
  expired_at: DateTime!

  """Идентификатор платежа во внутренней системе учёта"""
  id: String!

  """Содержит сервисное сообщение провайдера об ошибке обработки платежа"""
  message: String!

  """
  Идентификатор наименования провайдера платежа, ответственного за обработку
  """
  provider: String!

  """
  Идентификатор номера платежа, который отображается пользователю в платежных документах
  """
  status: PaymentStatus!

  """Символ тикера валюты платежа"""
  symbol: String!

  """Дата обновления платежа"""
  updated_at: DateTime!

  """Имя аккаунта пользователя, совершающего платеж"""
  username: String!
}

type PaymentDetails {
  """Сумма платежа с учетом комиссии"""
  amount_plus_fee: String!

  """Сумма платежа без учета комиссии"""
  amount_without_fee: String!

  """Строка с данными платежа"""
  data: String!

  """Фактический процент комиссии"""
  fact_fee_percent: Float!

  """Размер комиссии в абсолютных значениях"""
  fee_amount: String!

  """Процент комиссии"""
  fee_percent: Float!

  """Допустимый процент отклонения"""
  tolerance_percent: Float!
}

type PaymentMethod {
  """Дата создания"""
  created_at: DateTime!

  """Данные метода оплаты"""
  data: PaymentMethodData!

  """Флаг основного метода платежа, который отображается в документах"""
  is_default: Boolean!

  """Идентификатор метода оплаты"""
  method_id: String!

  """Тип метода оплаты (например, sbp, bank_transfer)"""
  method_type: String!

  """Дата обновления"""
  updated_at: DateTime!

  """Имя пользователя, к которому привязан метод оплаты"""
  username: String!
}

union PaymentMethodData = BankAccount | SbpAccount

type PaymentMethodPaginationResult {
  """Текущая страница"""
  currentPage: Int!

  """Элементы текущей страницы"""
  items: [PaymentMethod!]!

  """Общее количество элементов"""
  totalCount: Int!

  """Общее количество страниц"""
  totalPages: Int!
}

type PaymentPaginationResult {
  """Текущая страница"""
  currentPage: Int!

  """Элементы текущей страницы"""
  items: [Payment!]!

  """Общее количество элементов"""
  totalCount: Int!

  """Общее количество страниц"""
  totalPages: Int!
}

"""Статус платежа"""
enum PaymentStatus {
  COMPLETED
  EXPIRED
  FAILED
  PAID
  PENDING
  REFUNDED
}

type Permission {
  """Родительское разрешение"""
  parent: String!

  """Имя разрешения"""
  perm_name: String!

  """Требуемые разрешения"""
  required_auth: Authority!
}

type PermissionLevel {
  """Актор"""
  actor: String!

  """Разрешение"""
  permission: String!
}

type PermissionLevelWeight {
  """Уровень разрешения"""
  permission: PermissionLevel!

  """Вес"""
  weight: Int!
}

type PrivateAccount {
  entrepreneur_data: Entrepreneur
  individual_data: Individual
  organization_data: Organization

  """Тип аккаунта"""
  type: AccountType!
}

input ProhibitRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Дополнительная информация о отклоненной модерации"""
  meta: String!

  """Имя аккаунта пользователя"""
  username: String!
}

type ProjectFreeDecisionDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ProjectFreeDecisionMetaDocumentOutput!
}

input ProjectFreeDecisionGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Идентификатор проекта решения"""
  project_id: String!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ProjectFreeDecisionMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """Идентификатор проекта решения"""
  project_id: String!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input ProjectFreeDecisionSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ProjectFreeDecisionSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input ProjectFreeDecisionSignedMetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """Идентификатор проекта решения"""
  project_id: String!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type PublicChairman {
  first_name: String!
  last_name: String!
  middle_name: String!
}

input PublishProjectFreeDecisionInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Подписанный электронный документ (generateProjectOfFreeDecision)"""
  document: ProjectFreeDecisionSignedDocumentInput!

  """Строка мета-информации"""
  meta: String!

  """Имя аккаунта пользователя"""
  username: String!
}

input PublishRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор заявки"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

type Query {
  """Получить сводную информацию о аккаунте"""
  getAccount(data: GetAccountInput!): Account!

  """Получить сводную информацию о аккаунтах системы"""
  getAccounts(data: GetAccountsInput, options: PaginationInput): AccountsPaginationResult!

  """Получить список вопросов совета кооператива для голосования"""
  getAgenda: [AgendaWithDocuments!]!

  """Получить список кооперативных участков"""
  getBranches(data: GetBranchesInput!): [Branch!]!

  """Получить состав приложений рабочего стола"""
  getDesktop: Desktop!
  getDocuments(data: GetDocumentsInput!): DocumentsPaginationResult!

  """Получить список расширений"""
  getExtensions(data: GetExtensionsInput): [Extension!]!

  """Получить список методов оплаты"""
  getPaymentMethods(data: GetPaymentMethodsInput): PaymentMethodPaginationResult!

  """Получить список платежей"""
  getPayments(data: GetPaymentsInput, options: PaginationInput): PaymentPaginationResult!

  """Получить сводную публичную информацию о системе"""
  getSystemInfo: SystemInfo!
}

input ReceiveOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """
  Подписанный Заказчиком акт приёмки-передачи имущества из Кооператива по новации
  """
  document: ReturnByAssetActSignedDocumentInput!

  """Идентификатор заявки"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

input RefreshInput {
  """Токен доступа"""
  access_token: String!

  """Токен обновления"""
  refresh_token: String!
}

type RefundRequest {
  """Сумма CPU"""
  cpu_amount: String!

  """Сумма сети"""
  net_amount: String!

  """Владелец"""
  owner: String!

  """Время запроса"""
  request_time: String!
}

input RegisterAccountInput {
  """Электронная почта"""
  email: String!

  """Данные индивидуального предпринимателя"""
  entrepreneur_data: CreateEntrepreneurDataInput

  """Данные физического лица"""
  individual_data: CreateIndividualDataInput

  """Данные организации"""
  organization_data: CreateOrganizationDataInput

  """Публичный ключ"""
  public_key: String

  """Имя аккаунта реферера"""
  referer: String

  """Тип аккаунта"""
  type: AccountType!

  """Имя пользователя"""
  username: String!
}

input RegisterParticipantInput {
  """Подписанный документ политики конфиденциальности от пайщика"""
  privacy_agreement: SignedDigitalDocumentInput!

  """Подписанный документ положения о цифровой подписи от пайщика"""
  signature_agreement: SignedDigitalDocumentInput!

  """Подписанный документ заявления на вступление в кооператив от пайщика"""
  statement: ParticipantApplicationSignedDocumentInput!

  """Подписанный документ пользовательского соглашения от пайщика"""
  user_agreement: SignedDigitalDocumentInput!

  """Имя аккаунта пайщика"""
  username: String!

  """
  Подписанный документ положения целевой потребительской программы "Цифровой Кошелёк" от пайщика
  """
  wallet_agreement: SignedDigitalDocumentInput!
}

type RegisteredAccount {
  """Информация об зарегистрированном аккаунте"""
  account: Account!

  """Токены доступа и обновления"""
  tokens: Tokens!
}

type RepresentedBy {
  """На основании чего действует"""
  based_on: String!

  """Имя"""
  first_name: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Должность"""
  position: String!
}

input RepresentedByInput {
  based_on: String!
  first_name: String!
  last_name: String!
  middle_name: String!
  position: String!
}

input ResetKeyInput {
  """Публичный ключ для замены"""
  public_key: String!

  """Токен авторизации для замены ключа, полученный по email"""
  token: String!
}

type ResourceDelegationDTO {
  """Вес CPU"""
  cpu_weight: String!

  """Отправитель"""
  from: String!

  """Вес сети"""
  net_weight: String!

  """Получатель"""
  to: String!
}

type ResourceOverview {
  """Вес CPU"""
  cpu_weight: String!

  """Вес сети"""
  net_weight: String!

  """Владелец"""
  owner: String!

  """Используемая RAM"""
  ram_bytes: Int!
}

type ReturnByAssetActDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ReturnByAssetActMetaDocumentOutput!
}

input ReturnByAssetActGenerateDocumentInput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя аккаунта получателя на кооперативном участке"""
  transmitter: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ReturnByAssetActMetaDocumentOutput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя аккаунта получателя на кооперативном участке"""
  transmitter: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input ReturnByAssetActSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ReturnByAssetActSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input ReturnByAssetActSignedMetaDocumentInput {
  """Идентификатор акта"""
  act_id: String!

  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Имя аккаунта кооперативного участка"""
  braname: String

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя аккаунта получателя на кооперативном участке"""
  transmitter: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type ReturnByAssetDecisionDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ReturnByAssetDecisionMetaDocumentOutput!
}

input ReturnByAssetDecisionGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ReturnByAssetDecisionMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Идентификатор решения"""
  decision_id: Float!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Идентификатор заявки"""
  request_id: Float!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type ReturnByAssetStatementDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ReturnByAssetStatementMetaDocumentOutput!
}

input ReturnByAssetStatementGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestInput!

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

type ReturnByAssetStatementMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestResponse!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input ReturnByAssetStatementSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для создания проекта свободного решения"""
  meta: ReturnByAssetStatementSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input ReturnByAssetStatementSignedMetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Запрос на внесение имущественного паевого взноса"""
  request: CommonRequestInput!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

type SbpAccount {
  """Мобильный телефон получателя"""
  phone: String!
}

type SelectBranchDocument {
  """Бинарное содержимое документа (base64)"""
  binary: String!

  """Полное название документа"""
  full_title: String!

  """Хэш документа"""
  hash: String!

  """HTML содержимое документа"""
  html: String!

  """Метаинформация для документа выбора кооперативного участка"""
  meta: SelectBranchMetaDocumentOutput!
}

input SelectBranchGenerateDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int

  """Идентификатор имени аккаунта кооперативного участка"""
  braname: String!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String

  """Имя генератора, использованного для создания документа"""
  generator: String

  """Язык документа"""
  lang: String

  """Ссылки, связанные с документом"""
  links: [String!]

  """Часовой пояс, в котором был создан документ"""
  timezone: String

  """Название документа"""
  title: String

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String
}

input SelectBranchInput {
  """Имя аккаунта кооперативного участка"""
  braname: String!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Подписанный электронный документ (generateSelectBranchDocument)"""
  document: SelectBranchSignedDocumentInput!

  """Имя аккаунта пользователя"""
  username: String!
}

type SelectBranchMetaDocumentOutput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Идентификатор имени аккаунта кооперативного участка"""
  braname: String!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input SelectBranchSignedDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация для документа выбора кооперативного участка"""
  meta: SelectBranchSignedMetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input SelectBranchSignedMetaDocumentInput {
  """Номер блока, на котором был создан документ"""
  block_num: Int!

  """Идентификатор имени аккаунта кооперативного участка"""
  braname: String!

  """Название кооператива, связанное с документом"""
  coopname: String!

  """Дата и время создания документа"""
  created_at: String!

  """Имя генератора, использованного для создания документа"""
  generator: String!

  """Язык документа"""
  lang: String!

  """Ссылки, связанные с документом"""
  links: [String!]!

  """ID документа в реестре"""
  registry_id: Int!

  """Часовой пояс, в котором был создан документ"""
  timezone: String!

  """Название документа"""
  title: String!

  """Имя пользователя, создавшего документ"""
  username: String!

  """Версия генератора, использованного для создания документа"""
  version: String!
}

input SetPaymentStatusInput {
  """Идентификатор платежа, для которого устанавливается статус"""
  id: String!

  """Новый статус платежа"""
  status: PaymentStatus!
}

input SetWifInput {
  """Тип разрешения ключа"""
  permission: String! = "active"

  """Имя пользователя, чей ключ"""
  username: String!

  """Приватный ключ"""
  wif: String!
}

type SignedBlockchainDocument {
  """Хеш документа"""
  hash: String!

  """Метаинформация документа"""
  meta: String!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input SignedDigitalDocumentInput {
  """Хэш документа"""
  hash: String!

  """Метаинформация документа"""
  meta: MetaDocumentInput!

  """Публичный ключ документа"""
  public_key: String!

  """Подпись документа"""
  signature: String!
}

input SovietMemberInput {
  individual_data: CreateIndividualDataInput!
  role: String!
}

input StartResetKeyInput {
  """Электронная почта"""
  email: String!
}

"""
Комплексный объект цифрового документа заявления (или другого ведущего документа для цепочки принятия решений совета)
"""
type StatementDetail {
  action: ExtendedBlockchainAction!
  document: StatementDocumentUnion!
}

"""
Объединение типов документов заявлений, или других документов, за которыми следует появление протокола решения совета
"""
union StatementDocumentUnion = ParticipantApplicationDocument | ProjectFreeDecisionDocument

input SupplyOnRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Подписанный Поставщиком акт приёма-передачи имущества в кооператив"""
  document: AssetContributionActSignedDocumentInput!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

type SystemInfo {
  """Объект системного аккаунта кооператива в блокчейне"""
  blockchain_account: BlockchainAccount!

  """Набор данных с информацией о состоянии блокчейна"""
  blockchain_info: BlockchainInfoDTO!

  """Контакты кооператива"""
  contacts: ContactsDTO

  """Объект аккаунта кооператива у оператора"""
  cooperator_account: CooperativeOperatorAccount!

  """Имя аккаунта кооператива"""
  coopname: String!

  """Статус контроллера кооператива"""
  system_status: SystemStatus!

  """Переменные кооператива"""
  vars: Vars
}

"""Состояние контроллера кооператива"""
enum SystemStatus {
  active
  install
  maintenance
}

type Token {
  """Дата истечения токена доступа"""
  expires: DateTime!

  """Токен доступа"""
  token: String!
}

type Tokens {
  """Токен доступа"""
  access: Token!

  """Токен обновления"""
  refresh: Token!
}

type Transaction {
  """Блокчейн, который использовался"""
  chain: JSONObject!

  """Запрос на подписание транзакции"""
  request: JSONObject!

  """Разрешенный запрос на подписание транзакции"""
  resolved: JSONObject

  """Ответ от API после отправки транзакции (если был выполнен бродкаст)"""
  response: JSONObject

  """Возвращаемые значения после выполнения транзакции"""
  returns: JSONObject!

  """Ревизии транзакции, измененные плагинами в ESR формате"""
  revisions: JSONObject!

  """Подписи транзакции"""
  signatures: JSONObject!

  """Авторизованный подписант"""
  signer: JSONObject!

  """Итоговая транзакция"""
  transaction: JSONObject
}

input UninstallExtensionInput {
  """Фильтр по имени"""
  name: String!
}

input UnpublishRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Имя аккаунта пользователя"""
  username: String!
}

input Update {
  """Собственные данные кооператива, обслуживающего экземпляр платформы"""
  organization_data: UpdateOrganizationDataInput

  """
  Переменные кооператива, используемые для заполнения шаблонов документов
  """
  vars: VarsInput
}

input UpdateAccountInput {
  """Данные индивидуального предпринимателя"""
  entrepreneur_data: UpdateEntrepreneurDataInput

  """Данные физического лица"""
  individual_data: UpdateIndividualDataInput

  """Данные организации"""
  organization_data: UpdateOrganizationDataInput

  """Публичный ключ"""
  public_key: String

  """Имя аккаунта реферера"""
  referer: String

  """Имя пользователя"""
  username: String!
}

input UpdateBankAccountInput {
  """Данные банковского счёта"""
  data: BankAccountInput!

  """Флаг основного метода платежа, который отображается в документах"""
  is_default: Boolean!

  """Идентификатор платежного метода"""
  method_id: String!

  """Имя аккаунта пользователя"""
  username: String!
}

input UpdateEntrepreneurDataInput {
  """Дата рождения"""
  birthdate: String!

  """Город"""
  city: String!

  """Страна"""
  country: Country!

  """Детали индивидуального предпринимателя"""
  details: EntrepreneurDetailsInput!

  """Электронная почта"""
  email: String!

  """Имя"""
  first_name: String!

  """Полный адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Телефон"""
  phone: String!

  """Имя пользователя"""
  username: String!
}

input UpdateIndividualDataInput {
  """Дата рождения"""
  birthdate: String!

  """Электронная почта"""
  email: String!

  """Имя"""
  first_name: String!

  """Полный адрес"""
  full_address: String!

  """Фамилия"""
  last_name: String!

  """Отчество"""
  middle_name: String!

  """Данные паспорта"""
  passport: PassportInput

  """Телефон"""
  phone: String!

  """Имя пользователя"""
  username: String!
}

input UpdateOrganizationDataInput {
  """Город"""
  city: String!

  """Страна"""
  country: String!

  """Детали организации"""
  details: OrganizationDetailsInput!

  """Электронная почта"""
  email: String!

  """Фактический адрес"""
  fact_address: String!

  """Полный адрес"""
  full_address: String!

  """Полное наименование организации"""
  full_name: String!

  """Телефон"""
  phone: String!

  """Представитель организации"""
  represented_by: RepresentedByInput!

  """Краткое наименование организации"""
  short_name: String!

  """Тип организации"""
  type: String!

  """Имя пользователя"""
  username: String!
}

input UpdateRequestInput {
  """Имя аккаунта кооператива"""
  coopname: String!

  """Дополнительные данные"""
  data: String!

  """Идентификатор обмена"""
  exchange_id: Float!

  """Дополнительная информация"""
  meta: String!

  """Оставшееся количество единиц"""
  remain_units: String!

  """
  Стоимость за единицу в формате "10.0000 RUB"
  """
  unit_cost: String!

  """Имя аккаунта пользователя"""
  username: String!
}

type UserAccount {
  """Метаинформация"""
  meta: String!

  """Реферал"""
  referer: String!

  """Дата регистрации"""
  registered_at: String!

  """Регистратор"""
  registrator: String!

  """Статус аккаунта"""
  status: String!

  """Список хранилищ"""
  storages: [String!]!

  """Тип учетной записи"""
  type: String!

  """Имя аккаунта"""
  username: String!

  """Дата регистрации"""
  verifications: [Verification!]!
}

"""Объединение информации о пользователях"""
union UserDataUnion = Entrepreneur | Individual | Organization

"""Статус пользователя"""
enum UserStatus {
  Active
  Blocked
  Created
  Failed
  Joined
  Payed
  Refunded
  Registered
}

type Vars {
  confidential_email: String!
  confidential_link: String!
  contact_email: String!
  coopenomics_agreement: AgreementVar
  coopname: String!
  full_abbr: String!
  full_abbr_dative: String!
  full_abbr_genitive: String!
  name: String!
  participant_application: AgreementVar!
  passport_request: String!
  privacy_agreement: AgreementVar!
  short_abbr: String!
  signature_agreement: AgreementVar!
  user_agreement: AgreementVar!
  wallet_agreement: AgreementVar!
  website: String!
}

input VarsInput {
  confidential_email: String!
  confidential_link: String!
  contact_email: String!
  coopenomics_agreement: AgreementInput
  coopname: String!
  full_abbr: String!
  full_abbr_dative: String!
  full_abbr_genitive: String!
  name: String!
  participant_application: AgreementInput!
  passport_request: String!
  privacy_agreement: AgreementInput!
  short_abbr: String!
  signature_agreement: AgreementInput!
  user_agreement: AgreementInput!
  wallet_agreement: AgreementInput!
  website: String!
}

type Verification {
  """Дата создания верификации"""
  created_at: String!

  """Флаг верификации"""
  is_verified: Boolean!

  """Дата последнего обновления верификации"""
  last_update: String!

  """Заметка верификации"""
  notice: String!

  """Процедура верификации"""
  procedure: String!

  """Имя верификатора"""
  verificator: String!
}

type WaitWeight {
  """Время ожидания в секундах"""
  wait_sec: Int!

  """Вес"""
  weight: Int!
}