{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/itau-unibanco/main/json-schema/itau-unibanco-response-personal-accounts-schema.json",
  "title": "ResponsePersonalAccounts",
  "x-generated": "2026-10-18",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/itau-unibanco-open-finance-opendata-accounts-openapi.yml#/components/schemas/ResponsePersonalAccounts",
  "type": "object",
  "required": [
    "data",
    "links",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "array",
      "minItems": 1,
      "description": "Conjunto de informações referente ao produto Contas.",
      "items": {
        "$ref": "#/$defs/PersonalData"
      }
    },
    "links": {
      "$ref": "#/$defs/Links"
    },
    "meta": {
      "$ref": "#/$defs/Meta"
    }
  },
  "$defs": {
    "AccountFee": {
      "type": "object",
      "description": "Objeto que reúne informações de tarifas de serviços.",
      "x-regulatory-required": [
        "priorityServices"
      ],
      "properties": {
        "priorityServices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AccountPriorityService"
          },
          "minItems": 1,
          "maxItems": 40,
          "description": "Lista das tarifas cobradas sobre serviços prioritários. \n\n[Restrição] Obrigatório quando \"type\" for igual \"CONTA_DEPOSITO_A_VISTA\" ou \"CONTA_POUPANCA\"\n"
        },
        "otherServices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/AccountOtherService"
          },
          "minItems": 1,
          "maxItems": 100,
          "description": "Lista das Tarifas cobradas sobre outros Serviços, que não prioritários"
        }
      }
    },
    "AccountOtherService": {
      "type": "object",
      "required": [
        "name",
        "code",
        "chargingTriggerInfo",
        "prices",
        "minimum",
        "maximum"
      ],
      "x-regulatory-required": [
        "name",
        "code",
        "chargingTriggerInfo",
        "prices",
        "minimum",
        "maximum"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 250,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Nome do Serviço que incide sobre tipo de conta (Campo Livre)"
        },
        "code": {
          "type": "string",
          "maxLength": 100,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Siglas de identificação do Serviço (Campo Livre)"
        },
        "chargingTriggerInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Fatos geradores de cobrança que incidem sobre outros serviços para pessoa natural. (Campo Livre)"
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/Price"
          },
          "minItems": 4,
          "maxItems": 4,
          "description": "Lista distribuição preços tarifas de serviços"
        },
        "minimum": {
          "$ref": "#/$defs/MinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/MaximumPrice"
        }
      }
    },
    "AccountPriorityService": {
      "type": "object",
      "required": [
        "name",
        "code",
        "chargingTriggerInfo",
        "prices",
        "minimum",
        "maximum"
      ],
      "x-regulatory-required": [
        "name",
        "code",
        "chargingTriggerInfo",
        "prices",
        "minimum",
        "maximum"
      ],
      "properties": {
        "name": {
          "$ref": "#/$defs/PriorityServiceName"
        },
        "code": {
          "$ref": "#/$defs/AccountPriorityServiceCode"
        },
        "chargingTriggerInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Fatos geradores de cobrança que incidem sobre os serviços prioritários, segundo Resolução 3.919 do Bacen, para pessoa natural."
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PersonalAccountPriorityServicePrice"
          },
          "minItems": 4,
          "maxItems": 4,
          "description": "Lista distribuição preços tarifas de serviços"
        },
        "minimum": {
          "$ref": "#/$defs/PriorityServiceMinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/PriorityServiceMaximumPrice"
        }
      }
    },
    "AccountPriorityServiceCode": {
      "type": "string",
      "description": "Lista das Siglas de identificação do Serviço Prioritário, segundo Resolução 3.919 do Bacen.",
      "enum": [
        "CADASTRO",
        "2_VIA_CARTAO_DEBITO",
        "2_VIA_CARTAO_POUPANCA",
        "EXCLUSAO_CCF",
        "SUSTACAO_REVOGACAO",
        "FOLHA_CHEQUE",
        "CHEQUE_ADMINISTRATIVO",
        "CHEQUE_VISADO",
        "SAQUE_PESSOAL",
        "SAQUE_TERMINAL",
        "SAQUE_CORRESPONDENTE",
        "DEPOSITO_IDENTIFICADO",
        "EXTRATO_MES_P",
        "EXTRATO_MES_E",
        "EXTRATO_MES_C",
        "EXTRATO_MOVIMENTO_P",
        "EXTRATO_MOVIMENTO_E",
        "EXTRATO_MOVIMENTO_C",
        "MICROFILME",
        "DOC_PESSOAL",
        "DOC_ELETRONICO",
        "DOC_INTERNET",
        "TED_PESSOAL",
        "TED_ELETRONICO",
        "TED_INTERNET",
        "DOC_TED_AGENDADO_P",
        "DOC_TED_AGENDADO_E",
        "DOC_TED_AGENDADO_I",
        "TRANSF_RECURSO_P",
        "TRANSF_RECURSO_E",
        "ORDEM_PAGAMENTO",
        "ANUIDADE_NACIONAL",
        "ANUIDADE_INTERNACIONAL",
        "ANUIDADE_DIFERENCIADA",
        "SAQUE_CARTAO_BRASIL",
        "SAQUE_CARTAO_EXTERIOR",
        "AVALIACAO_EMERGENCIAL_CREDITO",
        "EMISSAO_SEGUNDA_VIA",
        "TARIFA_PAGAMENTO_CONTAS",
        "SMS"
      ]
    },
    "AccountType": {
      "type": "string",
      "enum": [
        "CONTA_DEPOSITO_A_VISTA",
        "CONTA_POUPANCA",
        "CONTA_PAGAMENTO_PRE_PAGA"
      ],
      "description": "Tipos de contas ofertadas para pessoa natural ou jurídica, p.ex. 'CONTA_DEPOSITO_A_VISTA'.\nConta de depósito à vista ou Conta corrente - é o tipo mais comum. Nela, o dinheiro fica à sua disposição para ser sacado a qualquer momento. Essa conta não gera rendimentos para o depositante\nConta poupança - foi criada para estimular as pessoas a pouparem. O dinheiro que ficar na conta por trinta dias passa a gerar rendimentos, com isenção de imposto de renda para quem declara. Ou seja, o dinheiro “cresce” (rende) enquanto ficar guardado na conta. Cada depósito terá rendimentos de mês em mês, sempre no dia do mês em que o dinheiro tiver sido depositado\nConta de pagamento pré-paga: segundo CIRCULAR Nº 3.680, BCB de  2013, é a 'destinada à execução de transações de pagamento em moeda eletrônica realizadas com base em fundos denominados em reais previamente aportados'\n"
    },
    "AccountsIncomeRate": {
      "type": "object",
      "x-regulatory-required": [
        "savingAccount",
        "prepaidPaymentAccount"
      ],
      "properties": {
        "savingAccount": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Descrição da Remuneração especificamente para Conta de Poupança. Deve ser preenchido com a determinação legal vigente. \n\n[Restrição] Obrigatório quando \"type\" for igual \"CONTA_POUPANCA\".\n"
        },
        "prepaidPaymentAccount": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Campo Livre. Deve explicitar o Percentual em favor do titular da conta de pagamento pré-paga."
        }
      }
    },
    "AccountsTermsConditions": {
      "type": "object",
      "description": "Objeto que reúne informações relativas a Termos e Condições para as modalidades tratadas",
      "required": [
        "minimumBalance",
        "elegibilityCriteriaInfo",
        "closingProcessInfo"
      ],
      "x-regulatory-required": [
        "minimumBalance",
        "elegibilityCriteriaInfo",
        "closingProcessInfo"
      ],
      "properties": {
        "minimumBalance": {
          "$ref": "#/$defs/MinimumBalance"
        },
        "elegibilityCriteriaInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Critérios de qualificação do cliente com a finalidade de definir sua elegibilidade para a aquisição do tipo de conta. Campo Aberto"
        },
        "closingProcessInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Procedimentos de encerramento para o tipo de conta tratado. Possibilidade de inscrição da URL. Endereço eletrônico de acesso ao canal. p.ex. 'https://example.com/mobile-banking' "
        }
      }
    },
    "Currency": {
      "type": "string",
      "pattern": "^(\\w{3}){1}$",
      "minLength": 3,
      "maxLength": 3,
      "x-cds-type": "CurrencyString",
      "description": "Moeda referente ao valor mínimo da Tarifa, segundo modelo ISO-4217"
    },
    "Customer": {
      "type": "object",
      "description": "Informações relevantes para o cliente.",
      "required": [
        "rate"
      ],
      "x-regulatory-required": [
        "rate"
      ],
      "properties": {
        "rate": {
          "type": "string",
          "description": "Percentual de clientes em cada faixa.\n",
          "pattern": "^\\d{1}\\.\\d{6}$",
          "minLength": 8,
          "maxLength": 8
        }
      }
    },
    "Links": {
      "type": "object",
      "description": "Referências para outros recursos da API requisitada",
      "properties": {
        "self": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da página atualmente requisitada"
        },
        "first": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da primeira página de registros"
        },
        "prev": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da página anterior de registros"
        },
        "next": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da próxima página de registros"
        },
        "last": {
          "type": "string",
          "format": "url",
          "minLength": 5,
          "maxLength": 2000,
          "description": "URL da última página de registros"
        }
      }
    },
    "MaximumPrice": {
      "type": "object",
      "required": [
        "value",
        "currency"
      ],
      "x-regulatory-required": [
        "value",
        "currency"
      ],
      "properties": {
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor máximo apurado para a tarifa de serviços sobre a base de clientes no mês de referência.\n\nObservação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, \ndevem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "Meta": {
      "type": "object",
      "description": "Meta informações referente à API requisitada",
      "properties": {
        "totalRecords": {
          "type": "integer",
          "description": "Total de registros encontrados"
        },
        "totalPages": {
          "type": "integer",
          "description": "Total de páginas para os registros encontrados"
        }
      },
      "required": [
        "totalRecords",
        "totalPages"
      ]
    },
    "MinimumBalance": {
      "type": "object",
      "required": [
        "value",
        "currency"
      ],
      "x-regulatory-required": [
        "value",
        "currency"
      ],
      "properties": {
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "description": "Saldo mínimo exigido nos Termos e condições contratuais, que regem as contas comercializadas."
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "MinimumPrice": {
      "type": "object",
      "required": [
        "value",
        "currency"
      ],
      "x-regulatory-required": [
        "value",
        "currency"
      ],
      "properties": {
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor mínimo apurado para a tarifa de serviços sobre a base de clientes no mês de referência.\n\nObservação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, \ndevem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "MonthlyPrice": {
      "type": "object",
      "required": [
        "interval",
        "monthlyFee",
        "currency",
        "customers"
      ],
      "x-regulatory-required": [
        "interval",
        "monthlyFee",
        "currency",
        "customers"
      ],
      "properties": {
        "interval": {
          "$ref": "#/$defs/PriceIntervals"
        },
        "monthlyFee": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. ''45.00''\n(representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. \nO único separador presente deve ser o ''.'' (ponto) para indicar a casa decimal. Não deve haver separador de milhar).\n\nObservação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, \ndevem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        },
        "customers": {
          "$ref": "#/$defs/Customer"
        }
      }
    },
    "OpeningClosingChannels": {
      "type": "string",
      "enum": [
        "DEPENDENCIAS_PROPRIAS",
        "CORRESPONDENTES_BANCARIOS",
        "INTERNET_BANKING",
        "MOBILE_BANKING",
        "CENTRAL_TELEFONICA",
        "CHAT",
        "OUTROS"
      ],
      "description": "Canais disponíveis para abertura e encerramento de contas, p.ex. 'DEPENDENCIAS_PROPRIAS'"
    },
    "PersonalAccountPriorityServicePrice": {
      "type": "object",
      "required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "x-regulatory-required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "properties": {
        "interval": {
          "$ref": "#/$defs/PriceIntervals"
        },
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. '45.00' (representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. O único separador presente deve ser o '.' (ponto) para indicar a casa decimal. Não deve haver separador de milhar)\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        },
        "customers": {
          "$ref": "#/$defs/Customer"
        }
      }
    },
    "PersonalData": {
      "type": "object",
      "required": [
        "participant",
        "type",
        "openingClosingChannels",
        "transactionMethods",
        "termsConditions"
      ],
      "x-regulatory-required": [
        "type",
        "fees",
        "openingClosingChannels",
        "openingClosingChannelsAdditionalInfo",
        "transactionMethods"
      ],
      "properties": {
        "participant": {
          "type": "object",
          "description": "Conjunto de informações relativas ao participante do Open Finance que oferta este produto.",
          "required": [
            "brand",
            "name",
            "cnpjNumber"
          ],
          "x-regulatory-required": [
            "brand",
            "name",
            "cnpjNumber",
            "urlComplementaryList"
          ],
          "properties": {
            "brand": {
              "type": "string",
              "maxLength": 80,
              "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
              "description": "Nome da Marca reportada pelo participante do Open Finance. O conceito a que se refere a 'marca' é em essência uma promessa da empresa em fornecer uma série específica de atributos, benefícios e serviços uniformes aos clientes"
            },
            "name": {
              "type": "string",
              "description": "Nome da Instituição, pertencente à marca, responsável pela modalidade de Empréstimos. p.ex.'Empresa da Organização A'",
              "maxLength": 80,
              "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$"
            },
            "cnpjNumber": {
              "type": "string",
              "pattern": "^\\d{14}$",
              "minLength": 14,
              "maxLength": 14,
              "description": "CNPJ"
            },
            "urlComplementaryList": {
              "type": "string",
              "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
              "maxLength": 1024,
              "description": "URL do link que conterá a lista complementar com os nomes e CNPJs agrupados sob o mesmo cnpjNumber. Os contidos nessa lista possuem as mesmas características para produtos e serviços. Endereço eletrônico de acesso ao canal. Será obrigatoriamente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada.\nRestrição: Será obrigatorimente preenchido se houver lista complementar com os nomes e CNPJs a ser disponibilizada\n"
            }
          }
        },
        "type": {
          "$ref": "#/$defs/AccountType"
        },
        "fees": {
          "$ref": "#/$defs/AccountFee"
        },
        "serviceBundles": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ServiceBundle"
          },
          "minItems": 1,
          "maxItems": 200,
          "description": "Lista dos pacotes de serviços de contas com serviços essenciais padronizados e regulados pela Resolução BC 3919, de 25/11/2010\n\n[Restrição]\n- Obrigatório quando \"type\" for igual \"CONTA_DEPOSITO_A_VISTA\" (conta corrente) ou \"CONTA_POUPANCA\", porque existem hoje pacotes passíveis de cobrança diferentes dos serviços essenciais (que não são cobrados);\n\n- Opcional quando \"type\" for igual \"CONTA_PAGAMENTO_PRE_PAGA\" ficando condicionado caso a instituição tenha pacote de serviço atrelado a este tipo de conta.\n"
        },
        "openingClosingChannels": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/OpeningClosingChannels"
          },
          "minItems": 1,
          "maxItems": 7,
          "description": "Lista dos canais para aberturas e encerramento"
        },
        "openingClosingChannelsAdditionalInfo": {
          "type": "string",
          "maxLength": 140,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Campo livre para preenchimento das informações adicionais referente ao \"openingClosingChannels\". \n\n[Restrição] Obrigatório quando \"openingClosingChannels\" for igual 'OUTROS'.\n"
        },
        "transactionMethods": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/TransactionMethods"
          },
          "minItems": 1,
          "maxItems": 4,
          "description": "Lista de formas de movimentação"
        },
        "termsConditions": {
          "$ref": "#/$defs/AccountsTermsConditions"
        },
        "incomeRate": {
          "$ref": "#/$defs/AccountsIncomeRate"
        }
      }
    },
    "Price": {
      "type": "object",
      "required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "x-regulatory-required": [
        "interval",
        "value",
        "currency",
        "customers"
      ],
      "properties": {
        "interval": {
          "$ref": "#/$defs/PriceIntervals"
        },
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor da mediana de cada faixa relativa ao serviço ofertado, informado no período, conforme Res nº 32 BCB, 2020. p.ex. '45.00' \n(representa um valor monetário. p.ex: 1547368.92. Este valor, considerando que a moeda seja BRL, significa R$ 1.547.368,92. \nO único separador presente deve ser o '.' (ponto) para indicar a casa decimal. Não deve haver separador de milhar).\n\nObservação: Para efeito de comparação de taxas dos produtos, as instituições participantes, quando não cobram tarifas, \ndevem enviar o valor 0.00 sinalizando que para aquela taxa não há cobrança pelo serviço.\n"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        },
        "customers": {
          "$ref": "#/$defs/Customer"
        }
      }
    },
    "PriceIntervals": {
      "type": "string",
      "enum": [
        "1_FAIXA",
        "2_FAIXA",
        "3_FAIXA",
        "4_FAIXA"
      ],
      "description": "Segundo Normativa nº 32, BCB, de 2020: Distribuição de frequência relativa dos valores de tarifas cobradas dos clientes, de que trata o § 2º do art. 3º da Circular nº 4.015, de 2020, deve dar-se com base em quatro faixas de igual tamanho, com explicitação dos valores sobre a mediana em cada uma dessas faixas. Informando: 1ª faixa, 2ª faixa, 3ª faixa e 4ª faixa\n"
    },
    "PriorityServiceMaximumPrice": {
      "type": "object",
      "required": [
        "value",
        "currency"
      ],
      "x-regulatory-required": [
        "value",
        "currency"
      ],
      "properties": {
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor máximo apurado para a tarifa de serviços sobre a base de clientes no mês de referência"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "PriorityServiceMinimumPrice": {
      "type": "object",
      "required": [
        "value",
        "currency"
      ],
      "x-regulatory-required": [
        "value",
        "currency"
      ],
      "properties": {
        "value": {
          "type": "string",
          "pattern": "^(\\d{1,9}\\.\\d{2}){1}$",
          "minLength": 4,
          "maxLength": 12,
          "x-cds-type": "AmountString",
          "description": "Valor mínimo apurado para a tarifa de serviços sobre a base de clientes no mês de referência"
        },
        "currency": {
          "$ref": "#/$defs/Currency"
        }
      }
    },
    "PriorityServiceName": {
      "type": "string",
      "enum": [
        "CONFECCAO_CADASTRO_INICIO_RELACIONAMENTO",
        "FORNECIMENTO_2_VIA_CARTAO_FUNCAO_DEBITO",
        "FORNECIMENTO_2_VIA_CARTAO_FUNCAO_MOVIMENTACAO_CONTA_POUPANCA",
        "EXCLUSAO_CADASTRO_EMITENTES_CHEQUES_SEM_FUNDO_CCF",
        "CONTRA_ORDEM_REVOGACAO_E_OPOSICAO_OU_SUSTACAO_PAGAMENTO_CHEQUE",
        "FORNECIMENTO_FOLHAS_CHEQUE",
        "CHEQUE_ADMINISTRATIVO",
        "CHEQUE_VISADO",
        "SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_PRESENCIAL_OU_PESSOAL",
        "SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_TERMINAL_AUTOATENDIMENTO",
        "SAQUE_CONTA_DEPOSITO_A_VISTA_POUPANCA_CORRESPONDENTES_PAIS",
        "DEPOSITO_IDENTIFICADO",
        "FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_PRESENCIAL_OU_PESSOAL",
        "FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_TERMINAL_AUTOATENDIMENTO",
        "FORNECIMENTO_EXTRATO_MENSAL_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_CORRESPONDENTES_PAIS",
        "FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_PRESENCIAL_OU_PESSOAL",
        "FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_TERMINAL_AUTOATENDIMENTO",
        "FORNECIMENTO_EXTRATO_DE_UM_PERIODO_CONTA_DEPOSITOS_A_VISTA_E_POUPANCA_CORRESPONDENTES_PAIS",
        "FORNECIMENTO_COPIA_MICROFILME_MICROFICHA_ASSEMELHADO",
        "TRANSFERENCIA_DOC_PESSOAL_OU_PRESENCIAL",
        "TRANSFERENCIA_DOC_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS",
        "TRANSFERENCIA_DOC_INTERNET",
        "TRANSFERENCIA_TED_PESSOAL_OU_PRESENCIAL",
        "TRANSFERENCIA_TED_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS",
        "TRANSFERENCIA_TED_INTERNET",
        "TRANSFERENCIA_DOC_TED_PESSOAL_OU_PRESENCIAL",
        "TRANSFERENCIA_DOC_TED_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS",
        "TRANSFERENCIA_DOC_TED_INTERNET",
        "TRANSFERENCIA_ENTRE_CONTAS_PROPRIA_INSTITUICAO_PESSOAL_OU_PRESENCIAL",
        "TRANSFERENCIA_ENTRE_CONTAS_PROPRIA_INSTITUICAO_TERMINAL_AUTOATENDIMENTO_OUTROS_MEIOS_ELETRONICOS_INCLUSIVE_INTERNET",
        "ORDEM_PAGAMENTO",
        "ANUIDADE_CARTAO_BASICO_NACIONAL",
        "ANUIDADE_CARTAO_BASICO_INTERNACIONAL",
        "ANUIDADE_DIFERENCIADA",
        "UTILIZACAO_CANAIS_ATENDIMENTO_RETIRADA_ESPECIE_BRASIL",
        "UTILIZACAO_CANAIS_ATENDIMENTO_RETIRADA_ESPECIE_EXTERIOR",
        "AVALIACAO_EMERGENCIAL_CREDITO",
        "FORNECIMENTO_SEGUNDA_VIA_FUNCAO_CREDITO",
        "PAGAMENTO_CONTAS_UTILIZANDO_FUNCAO_CREDITO",
        "SMS"
      ],
      "description": "Nome dos Serviços prioritários, segundo Resolução 3.919 do Bacen, para pessoa natural."
    },
    "ServiceBundle": {
      "type": "object",
      "required": [
        "name",
        "services",
        "prices",
        "minimum",
        "maximum"
      ],
      "x-regulatory-required": [
        "name"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 250,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Nome do Pacote de Serviços dado pela instituição."
        },
        "services": {
          "type": "array",
          "minItems": 1,
          "maxItems": 100,
          "items": {
            "$ref": "#/$defs/ServiceBundleServiceDetail"
          },
          "description": "Lista dos serviços que compõe o pacote de serviços"
        },
        "prices": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/MonthlyPrice"
          },
          "minItems": 4,
          "maxItems": 4,
          "description": "Lista distribuição preços tarifas de serviços"
        },
        "minimum": {
          "$ref": "#/$defs/MinimumPrice"
        },
        "maximum": {
          "$ref": "#/$defs/MaximumPrice"
        }
      }
    },
    "ServiceBundleServiceDetail": {
      "type": "object",
      "required": [
        "code",
        "chargingTriggerInfo",
        "eventLimitQuantity",
        "freeEventQuantity"
      ],
      "x-regulatory-required": [
        "code",
        "chargingTriggerInfo",
        "eventLimitQuantity",
        "freeEventQuantity"
      ],
      "properties": {
        "code": {
          "type": "string",
          "maxLength": 100,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Código que identifica o Serviço que compõe o Pacote de Serviços, podendo ser da lista de Serviços Prioritários ou Outros Serviços. p.ex. segundo Resolução 3.919 do Bacen: 'SAQUE_TERMINAL'.\n"
        },
        "chargingTriggerInfo": {
          "type": "string",
          "maxLength": 2000,
          "pattern": "^(?!\\s)[\\w\\W\\s]*[^\\s]$",
          "description": "Fatos geradores de cobrança que incidem sobre serviço que compõe o Pacote de Serviços.\n"
        },
        "eventLimitQuantity": {
          "type": "string",
          "pattern": "^(\\d{1,6}){1}$",
          "minLength": 1,
          "maxLength": 6,
          "description": "Segundo Resolução  4196, BCB, de 2013: Quantidade de eventos previstos no Pacote de Serviços (Número de eventos incluídos no mês) p.ex.'2'. No caso de quantidade ilimitada, reportar 999999\n"
        },
        "freeEventQuantity": {
          "type": "string",
          "pattern": "^(\\d{1,6}){1}$",
          "minLength": 1,
          "maxLength": 6,
          "description": "Segundo Resolução  4196, BCB, de 2013: Quantidade de eventos previstos no Pacote de Serviços com isenção de Tarifa.p.ex.'1'  No caso de quantidade ilimitada, reportar 999999\n"
        }
      }
    },
    "TransactionMethods": {
      "type": "string",
      "enum": [
        "MOVIMENTACAO_ELETRONICA",
        "MOVIMENTACAO_CHEQUE",
        "MOVIMENTACAO_CARTAO",
        "MOVIMENTACAO_PRESENCIAL"
      ],
      "description": "Lista de formas de movimentação possíveis para a conta"
    }
  }
}