{
  "config": {
    "step": {
      "user": {
        "title": "Bem-vindo ao TaskMate!",
        "description": "Configure o seu sistema de gestão de tarefas familiar. Pode personalizar a moeda de pontos que as crianças vão ganhar.",
        "data": {
          "points_name": "Nome da moeda de pontos (ex: Estrelas, Moedas, Pontos)",
          "points_icon": "Ícone dos pontos"
        }
      }
    },
    "error": {
      "name_required": "O nome é obrigatório"
    },
    "abort": {
      "already_configured": "O TaskMate já está configurado"
    }
  },
  "selector": {
    "chore_action": {
      "options": {
        "save": "Guardar alterações",
        "re_enable": "Reativar tarefa",
        "disable": "Desativar tarefa",
        "delete": "Eliminar esta tarefa"
      }
    },
    "reward_action": {
      "options": {
        "save": "Guardar alterações",
        "delete": "Eliminar recompensa"
      }
    },
    "time_category": {
      "options": {
        "morning": "Manhã",
        "afternoon": "Tarde",
        "evening": "Fim da tarde",
        "night": "Noite",
        "anytime": "Qualquer hora"
      }
    },
    "schedule_mode": {
      "options": {
        "specific_days": "Dias específicos da semana",
        "recurring": "Recorrente (a cada N dias/semanas/meses)",
        "one_shot": "Tarefa única (um dia)"
      }
    },
    "due_days_option": {
      "options": {
        "monday": "Segunda-feira",
        "tuesday": "Terça-feira",
        "wednesday": "Quarta-feira",
        "thursday": "Quinta-feira",
        "friday": "Sexta-feira",
        "saturday": "Sábado",
        "sunday": "Domingo"
      }
    },
    "recurrence": {
      "options": {
        "every_2_days": "A cada 2 dias",
        "weekly": "Semanal",
        "every_2_weeks": "A cada 2 semanas",
        "monthly": "Mensal",
        "every_3_months": "A cada 3 meses",
        "every_6_months": "A cada 6 meses"
      }
    },
    "recurrence_day_option": {
      "options": {
        "monday": "Segunda-feira",
        "tuesday": "Terça-feira",
        "wednesday": "Quarta-feira",
        "thursday": "Quinta-feira",
        "friday": "Sexta-feira",
        "saturday": "Sábado",
        "sunday": "Domingo",
        "any_day": "Qualquer dia"
      }
    },
    "first_occurrence_mode": {
      "options": {
        "available_immediately": "Disponível imediatamente",
        "wait_for_first_occurrence": "Aguardar primeira ocorrência agendada"
      }
    },
    "streak_reset_mode": {
      "options": {
        "reset": "Reiniciar — sequência volta a 0 num dia falhado",
        "pause": "Pausar — sequência preservada até próxima conclusão"
      }
    },
    "visibility_operator": {
      "options": {
        "none": "Sem filtro — Sempre mostrar a tarefa",
        "equals": "Igual — Mostrar quando o estado da entidade corresponde exatamente",
        "not_equals": "Não igual — Mostrar quando o estado da entidade não corresponde",
        "gte": "Maior ou igual (≥) — Mostrar quando valor numérico é ≥ alvo",
        "lte": "Menor ou igual (≤) — Mostrar quando valor numérico é ≤ alvo",
        "gt": "Maior que (>) — Mostrar quando valor numérico é > alvo",
        "lt": "Menor que (<) — Mostrar quando valor numérico é < alvo"
      }
    },
    "assignment_mode": {
      "options": {
        "everyone": "Todos — todas as crianças atribuídas veem a tarefa",
        "alternating": "Alternado — alterna entre as crianças atribuídas, uma por dia",
        "random": "Aleatório — escolhe aleatoriamente uma criança atribuída por dia",
        "balanced": "Equilibrado — divide as tarefas equilibradas do dia igualmente entre as crianças atribuídas",
        "first_come": "Quem chega primeiro — a primeira criança a concluir ganha; some para as demais",
        "unassigned": "Não atribuído — nenhuma criança vê esta tarefa"
      }
    },
    "task_group_policy": {
      "options": {
        "sticky": "Sticky — mesma criança para todas as tarefas do grupo",
        "spread": "Spread — crianças diferentes no grupo hoje"
      }
    },
    "task_group_action": {
      "options": {
        "save": "Salvar alterações",
        "delete": "Excluir grupo"
      }
    }
  },
  "services": {
    "complete_chore": {
      "name": "Concluir tarefa",
      "description": "Marcar uma tarefa como concluída por uma criança",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa a concluir"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que conclui a tarefa"
        }
      }
    },
    "complete_bonus_subtask": {
      "name": "Concluir subtarefa bônus",
      "description": "Concluir uma subtarefa bônus depois que a tarefa principal for concluída",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa principal"
        },
        "bonus_subtask_id": {
          "name": "ID da subtarefa bônus",
          "description": "O ID da subtarefa bônus a concluir"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que conclui a subtarefa bônus"
        }
      }
    },
    "approve_chore": {
      "name": "Aprovar tarefa",
      "description": "Aprovar uma tarefa concluída e atribuir pontos",
      "fields": {
        "completion_id": {
          "name": "ID de conclusão",
          "description": "O ID da conclusão da tarefa a aprovar"
        }
      }
    },
    "approve_all_chores": {
      "name": "Aprovar todas as tarefas",
      "description": "Aprovar todas as conclusões de tarefas pendentes (ou um conjunto específico) e atribuir pontos",
      "fields": {
        "completion_ids": {
          "name": "IDs de conclusão",
          "description": "IDs de conclusão específicos para aprovar; omita para aprovar todas as pendentes"
        }
      }
    },
    "reject_chore": {
      "name": "Rejeitar tarefa",
      "description": "Rejeitar uma tarefa concluída",
      "fields": {
        "completion_id": {
          "name": "ID de conclusão",
          "description": "O ID da conclusão da tarefa a rejeitar"
        }
      }
    },
    "undo_chore_approval": {
      "name": "Desfazer aprovação de tarefa",
      "description": "Desfazer a aprovação acidental de uma tarefa — remove os pontos concedidos e retorna a conclusão para pendente para que possa ser aprovada novamente.",
      "fields": {
        "completion_id": {
          "name": "ID de conclusão",
          "description": "O ID da conclusão de tarefa aprovada a retornar para pendente"
        }
      }
    },
    "undo_transaction": {
      "name": "Desfazer transação",
      "description": "Desfazer uma transação de pontos pelo seu ID — penalidades, bônus, ajustes manuais (adicionar/remover) e presentes (ambos os lados). Transações automáticas (bônus de fim de semana/sequência/semana perfeita, movimentações do cofrinho, desvalorização, juros) não podem ser desfeitas.",
      "fields": {
        "transaction_id": {
          "name": "ID da transação",
          "description": "O ID da transação de pontos a reverter"
        }
      }
    },
    "claim_reward": {
      "name": "Reclamar recompensa",
      "description": "A criança reclama uma recompensa usando os seus pontos",
      "fields": {
        "reward_id": {
          "name": "ID da recompensa",
          "description": "O ID da recompensa a reclamar"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que reclama a recompensa"
        }
      }
    },
    "approve_reward": {
      "name": "Aprovar recompensa",
      "description": "Aprovar um pedido de recompensa",
      "fields": {
        "claim_id": {
          "name": "ID do pedido",
          "description": "O ID do pedido de recompensa a aprovar"
        }
      }
    },
    "allocate_points_to_pool": {
      "name": "Alocar pontos ao cofrinho",
      "description": "Mover pontos do saldo disponível de uma criança para o cofrinho de uma recompensa (bloqueado).",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que faz a alocação"
        },
        "reward_id": {
          "name": "ID da recompensa",
          "description": "O ID do cofrinho da recompensa onde depositar"
        },
        "points": {
          "name": "Pontos",
          "description": "Número de pontos a alocar (limitado pela capacidade do cofrinho e pelo saldo disponível)"
        }
      }
    },
    "add_points": {
      "name": "Adicionar pontos",
      "description": "Adicionar pontos de bónus a uma criança",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança a quem adicionar pontos"
        },
        "points": {
          "name": "Pontos",
          "description": "O número de pontos a adicionar"
        },
        "reason": {
          "name": "Motivo",
          "description": "Motivo opcional para o bónus"
        }
      }
    },
    "remove_points": {
      "name": "Remover pontos",
      "description": "Remover pontos de uma criança (penalização)",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança a quem remover pontos"
        },
        "points": {
          "name": "Pontos",
          "description": "O número de pontos a remover"
        },
        "reason": {
          "name": "Motivo",
          "description": "Motivo opcional para a penalização"
        }
      }
    },
    "reject_reward": {
      "name": "Rejeitar recompensa",
      "description": "Rejeitar um pedido de recompensa",
      "fields": {
        "claim_id": {
          "name": "ID do pedido",
          "description": "O ID do pedido de recompensa a rejeitar"
        }
      }
    },
    "preview_sound": {
      "name": "Pré-visualizar som",
      "description": "Pré-visualizar um efeito sonoro de conclusão no navegador",
      "fields": {
        "sound": {
          "name": "Som",
          "description": "O som a pré-visualizar"
        }
      }
    },
    "set_chore_order": {
      "name": "Definir ordem das tarefas",
      "description": "Definir a ordem de apresentação das tarefas para uma criança",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança para definir a ordem das tarefas"
        },
        "chore_order": {
          "name": "Ordem das tarefas",
          "description": "Lista ordenada de IDs de tarefas"
        }
      }
    },
    "add_penalty": {
      "name": "Adicionar penalização",
      "description": "Criar uma nova definição de penalização",
      "fields": {
        "name": {
          "name": "Nome",
          "description": "O nome da penalização"
        },
        "points": {
          "name": "Pontos",
          "description": "O número de pontos a deduzir quando aplicada"
        },
        "description": {
          "name": "Descrição",
          "description": "Descrição opcional da penalização"
        },
        "icon": {
          "name": "Ícone",
          "description": "Ícone MDI para a penalização"
        },
        "assigned_to": {
          "name": "Atribuída a",
          "description": "Lista de IDs de crianças a quem esta penalização se aplica"
        }
      }
    },
    "update_penalty": {
      "name": "Atualizar penalização",
      "description": "Atualizar uma definição de penalização existente",
      "fields": {
        "penalty_id": {
          "name": "ID da penalização",
          "description": "O ID da penalização a atualizar"
        },
        "name": {
          "name": "Nome",
          "description": "Novo nome para a penalização"
        },
        "points": {
          "name": "Pontos",
          "description": "Novo valor de pontos"
        },
        "description": {
          "name": "Descrição",
          "description": "Nova descrição"
        },
        "icon": {
          "name": "Ícone",
          "description": "Novo ícone"
        },
        "assigned_to": {
          "name": "Atribuída a",
          "description": "Nova lista de IDs de crianças"
        }
      }
    },
    "remove_penalty": {
      "name": "Remover penalização",
      "description": "Remover uma definição de penalização",
      "fields": {
        "penalty_id": {
          "name": "ID da penalização",
          "description": "O ID da penalização a remover"
        }
      }
    },
    "apply_penalty": {
      "name": "Aplicar penalização",
      "description": "Aplicar uma penalização a uma criança, deduzindo pontos",
      "fields": {
        "penalty_id": {
          "name": "ID da penalização",
          "description": "O ID da penalização a aplicar"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança a quem aplicar a penalização"
        }
      }
    },
    "add_bonus": {
      "name": "Adicionar bônus",
      "description": "Criar uma nova definição de bônus",
      "fields": {
        "name": {
          "name": "Nome",
          "description": "O nome do bônus"
        },
        "points": {
          "name": "Pontos",
          "description": "O número de pontos a conceder quando aplicado"
        },
        "description": {
          "name": "Descrição",
          "description": "Descrição opcional do bônus"
        },
        "icon": {
          "name": "Ícone",
          "description": "Ícone MDI para o bônus"
        },
        "assigned_to": {
          "name": "Atribuído a",
          "description": "Lista de IDs de crianças a que este bônus se aplica"
        }
      }
    },
    "update_bonus": {
      "name": "Atualizar bônus",
      "description": "Atualizar uma definição de bônus existente",
      "fields": {
        "bonus_id": {
          "name": "ID do bônus",
          "description": "O ID do bônus a atualizar"
        },
        "name": {
          "name": "Nome",
          "description": "Novo nome para o bônus"
        },
        "points": {
          "name": "Pontos",
          "description": "Novo valor de pontos"
        },
        "description": {
          "name": "Descrição",
          "description": "Nova descrição"
        },
        "icon": {
          "name": "Ícone",
          "description": "Novo ícone"
        },
        "assigned_to": {
          "name": "Atribuído a",
          "description": "Nova lista de IDs de crianças"
        }
      }
    },
    "remove_bonus": {
      "name": "Remover bônus",
      "description": "Remover uma definição de bônus",
      "fields": {
        "bonus_id": {
          "name": "ID do bônus",
          "description": "O ID do bônus a remover"
        }
      }
    },
    "apply_bonus": {
      "name": "Aplicar bônus",
      "description": "Aplicar um bônus a uma criança, concedendo pontos",
      "fields": {
        "bonus_id": {
          "name": "ID do bônus",
          "description": "O ID do bônus a aplicar"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança a quem aplicar o bônus"
        }
      }
    },
    "add_chore": {
      "name": "Adicionar tarefa",
      "description": "Criar uma nova tarefa dinamicamente, normalmente a partir de uma automação ou script",
      "fields": {
        "name": {
          "name": "Nome",
          "description": "O nome da tarefa"
        },
        "description": {
          "name": "Descrição",
          "description": "Descrição opcional da tarefa"
        },
        "points": {
          "name": "Pontos",
          "description": "Pontos concedidos quando esta tarefa é concluída"
        },
        "assigned_to": {
          "name": "Atribuída a",
          "description": "Lista de IDs de crianças para atribuir esta tarefa. Deixe em branco para atribuir a todas as crianças"
        },
        "time_category": {
          "name": "Categoria de tempo",
          "description": "Quando esta tarefa deve ser concluída: morning, afternoon, evening, night ou anytime"
        },
        "one_shot": {
          "name": "Única",
          "description": "Se verdadeiro, é uma tarefa única que expira após a conclusão ou no final do dia"
        },
        "requires_approval": {
          "name": "Requer aprovação",
          "description": "Se verdadeiro, um pai/mãe deve aprovar a conclusão antes de os pontos serem concedidos"
        }
      }
    },
    "skip_chore": {
      "name": "Skip Chore",
      "description": "Advance today's rotation past the current assignee. Ephemeral — tomorrow's rotation resumes as normal.",
      "fields": {
        "chore_id": {
          "name": "Chore ID",
          "description": "The ID of the chore to skip"
        }
      }
    },
    "set_chore_manual_start": {
      "name": "Set Manual Start Child",
      "description": "Set which child starts a rotating chore. For alternating mode this reorders the pool; for random/balanced it only overrides today's assignee.",
      "fields": {
        "chore_id": {
          "name": "Chore ID",
          "description": "The ID of the chore to update"
        },
        "child_id": {
          "name": "Child ID",
          "description": "The ID of the child who should start the rotation"
        }
      }
    },
    "add_task_group": {
      "name": "Add Task Group",
      "description": "Create a task group (sticky = same child, spread = different children).",
      "fields": {
        "name": {
          "name": "Name",
          "description": "Display name for the group"
        },
        "policy": {
          "name": "Policy",
          "description": "sticky (same child) or spread (different children)"
        },
        "chore_ids": {
          "name": "Chore IDs",
          "description": "List of chore IDs in the group. For sticky, the first chore is the leader."
        }
      }
    },
    "update_task_group": {
      "name": "Update Task Group",
      "description": "Update a task group's name, policy, or membership.",
      "fields": {
        "group_id": {
          "name": "Group ID",
          "description": "The ID of the group to update"
        },
        "name": {
          "name": "Name",
          "description": "New display name"
        },
        "policy": {
          "name": "Policy",
          "description": "New policy (sticky or spread)"
        },
        "chore_ids": {
          "name": "Chore IDs",
          "description": "Replacement chore ID list. For sticky, the first chore is the leader."
        }
      }
    },
    "remove_task_group": {
      "name": "Remove Task Group",
      "description": "Delete a task group. Member chores are not affected.",
      "fields": {
        "group_id": {
          "name": "Group ID",
          "description": "The ID of the group to delete"
        }
      }
    },
    "start_timed_task": {
      "name": "Iniciar tarefa cronometrada",
      "description": "Iniciar ou retomar o cronômetro de uma tarefa cronometrada",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa cronometrada"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que inicia o cronômetro"
        }
      }
    },
    "pause_timed_task": {
      "name": "Pausar tarefa cronometrada",
      "description": "Pausar o cronômetro de uma tarefa cronometrada em andamento",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa cronometrada"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que pausa o cronômetro"
        }
      }
    },
    "stop_timed_task": {
      "name": "Parar tarefa cronometrada",
      "description": "Parar o cronômetro de uma tarefa cronometrada e enviar para aprovação",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa cronometrada"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que para o cronômetro"
        }
      }
    },
    "add_badge": {
      "name": "Adicionar conquista",
      "description": "Criar uma conquista personalizada.",
      "fields": {
        "name": {
          "name": "Nome",
          "description": "O nome de exibição da conquista"
        },
        "description": {
          "name": "Descrição",
          "description": "Descrição de como a conquista é ganha"
        },
        "icon": {
          "name": "Ícone",
          "description": "Ícone da conquista (ex.: mdi:beach)"
        },
        "tier": {
          "name": "Nível",
          "description": "Nível da conquista: bronze, prata, ouro ou platina"
        },
        "point_bonus": {
          "name": "Bônus de pontos",
          "description": "Pontos creditados à criança quando a conquista é ganha"
        },
        "criteria": {
          "name": "Critérios",
          "description": "Lista de dicionários metric / operator / value. Vazio = apenas atribuição manual."
        },
        "assigned_to": {
          "name": "Atribuída a",
          "description": "Lista de IDs de crianças (vazio = todas)"
        },
        "notify_on_earn": {
          "name": "Notificar ao ganhar",
          "description": "Enviar uma notificação quando a conquista é ganha"
        }
      }
    },
    "update_badge": {
      "name": "Atualizar conquista",
      "description": "Atualizar uma conquista existente. Para as integradas, apenas point_bonus, tier, assigned_to, enabled e notify_on_earn são editáveis.",
      "fields": {
        "badge_id": {
          "name": "ID da conquista",
          "description": "O ID da conquista a atualizar"
        },
        "name": {
          "name": "Nome",
          "description": "Novo nome de exibição da conquista"
        },
        "description": {
          "name": "Descrição",
          "description": "Nova descrição da conquista"
        },
        "icon": {
          "name": "Ícone",
          "description": "Novo ícone da conquista"
        },
        "tier": {
          "name": "Nível",
          "description": "Nível da conquista: bronze, prata, ouro ou platina"
        },
        "point_bonus": {
          "name": "Bônus de pontos",
          "description": "Pontos creditados à criança quando a conquista é ganha"
        },
        "criteria": {
          "name": "Critérios",
          "description": "Lista de dicionários metric / operator / value. Vazio = apenas atribuição manual."
        },
        "assigned_to": {
          "name": "Atribuída a",
          "description": "Lista de IDs de crianças (vazio = todas)"
        },
        "enabled": {
          "name": "Ativada",
          "description": "Se a conquista está ativa"
        },
        "notify_on_earn": {
          "name": "Notificar ao ganhar",
          "description": "Enviar uma notificação quando a conquista é ganha"
        }
      }
    },
    "remove_badge": {
      "name": "Remover conquista",
      "description": "Remover uma conquista personalizada. As integradas não podem ser removidas.",
      "fields": {
        "badge_id": {
          "name": "ID da conquista",
          "description": "O ID da conquista a remover"
        }
      }
    },
    "award_badge_manually": {
      "name": "Atribuir conquista manualmente",
      "description": "Atribuir manualmente uma conquista a uma criança.",
      "fields": {
        "badge_id": {
          "name": "ID da conquista",
          "description": "O ID da conquista a atribuir"
        },
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que recebe a conquista"
        }
      }
    },
    "revoke_badge": {
      "name": "Revogar conquista",
      "description": "Revogar uma conquista atribuída. Se um bônus de pontos foi creditado, ele é revertido.",
      "fields": {
        "awarded_badge_id": {
          "name": "ID da conquista atribuída",
          "description": "O ID da conquista atribuída a revogar"
        }
      }
    },
    "rebuild_badges": {
      "name": "Reconstruir conquistas",
      "description": "Reavaliar todas as conquistas de todas as crianças silenciosamente (sem notificações nem bônus de pontos)."
    },
    "apply_mandatory_penalty": {
      "name": "Aplicar penalidade obrigatória",
      "description": "Deduz os pontos de penalidade configurados por uma tarefa obrigatória perdida e remove o item de revisão.",
      "fields": {
        "miss_id": {
          "name": "ID da falha",
          "description": "O ID do item de revisão da tarefa obrigatória perdida"
        }
      }
    },
    "choose_avatar": {
      "name": "Escolher avatar",
      "description": "Uma criança muda para um avatar que desbloqueou.",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança"
        },
        "icon": {
          "name": "Ícone do avatar",
          "description": "O ícone mdi de um avatar do catálogo desbloqueado (ex.: mdi:rocket-launch)."
        }
      }
    },
    "dismiss_mandatory_chore": {
      "name": "Dispensar tarefa obrigatória",
      "description": "Remove o item de revisão de uma tarefa obrigatória perdida sem penalidade.",
      "fields": {
        "miss_id": {
          "name": "ID da falha",
          "description": "O ID do item de revisão da tarefa obrigatória perdida"
        }
      }
    },
    "gift_points": {
      "name": "Presentear pontos",
      "description": "Transfere pontos disponíveis de uma criança para outra (controlado pelos pais).",
      "fields": {
        "from_child_id": {
          "name": "ID da criança de origem",
          "description": "O ID da criança que envia os pontos"
        },
        "to_child_id": {
          "name": "ID da criança de destino",
          "description": "O ID da criança que recebe os pontos"
        },
        "points": {
          "name": "Pontos",
          "description": "O número de pontos a transferir"
        }
      }
    },
    "postpone_mandatory_chore": {
      "name": "Adiar tarefa obrigatória",
      "description": "Dá a uma tarefa obrigatória perdida outro período (ou amanhã) sem penalidade e remove o item de revisão.",
      "fields": {
        "miss_id": {
          "name": "ID da falha",
          "description": "O ID do item de revisão da tarefa obrigatória perdida"
        }
      }
    },
    "request_swap": {
      "name": "Solicitar troca de tarefa",
      "description": "Uma criança pede para assumir a atribuição de rodízio de hoje de uma tarefa (sujeito a aprovação dos pais).",
      "fields": {
        "chore_id": {
          "name": "ID da tarefa",
          "description": "O ID da tarefa a assumir"
        },
        "requester_id": {
          "name": "ID da criança solicitante",
          "description": "O ID da criança que pede a troca"
        }
      }
    },
    "test_notification": {
      "name": "Notificação de teste",
      "description": "Envia uma notificação de exemplo do tipo indicado aos destinatários ativados (ignora o interruptor principal para que o roteamento possa ser verificado).",
      "fields": {
        "type_id": {
          "name": "Tipo de notificação",
          "description": "ID do tipo de notificação, ex.: pending_chore_approval, badge_earned, streak_milestone"
        }
      }
    },
    "record_allowance_payout": {
      "name": "Registrar pagamento de mesada",
      "description": "Deduzir pontos e registrar um pagamento de mesada real no histórico (taxa de conversão fixa; controlado pelos pais).",
      "fields": {
        "child_id": {
          "name": "ID da criança",
          "description": "O ID da criança que recebe o pagamento"
        },
        "points": {
          "name": "Pontos",
          "description": "Pontos a converter em dinheiro e deduzir"
        }
      }
    }
  },
  "entity": {
    "sensor": {
      "child_stats": {
        "unit_of_measurement": "tarefas"
      },
      "child_badges": {
        "unit_of_measurement": "medalhas"
      }
    },
    "number": {
      "weekend_multiplier": {
        "name": "Multiplicador de fim de semana"
      },
      "perfect_week_bonus": {
        "name": "Bônus de semana perfeita"
      }
    },
    "select": {
      "streak_reset_mode": {
        "name": "Modo de redefinição de sequência"
      },
      "card_design": {
        "name": "Design do cartão"
      }
    }
  }
}
