{{ toastMensagem }}

Não foi possível carregar

{{ erroCarregamento }}

OH

OwnHub

Gestão Inteligente Para Profissionais em Movimento

{{ authErrorMessage }}
ou com e-mail

Confirme seu E-mail!

Enviamos um link de ativação legítimo para:
{{ authForm.email }}

Para garantir a segurança da sua conta e sincronizar seus dados em qualquer celular ou computador, clique no link enviado para sua caixa de entrada (verifique também o Spam).

Passo {{ onboardingStep }} de 3 {{ onboardingStepTitle }}

Cadastro de Conta & Perfil

Onde você atende seus alunos?

Cadastre as academias para filtrar avisos e organizar sua agenda.

{{ acad }}

Horário Padrão de Trabalho

Isso ajustará os slots da sua agenda semanal.

{{ getTabTitle() }}

{{ dataAtualExtenso }} • OwnHub

Sincronizando... Salvando... Sincronizado na Nuvem Salvo só neste aparelho Modo Demonstração
{{ avisoAssinatura.texto }}

Alunos Ativos

{{ alunos.length }}

Receita Prevista

{{ formatarMoeda(calcularReceitaTotal()) }}

Pagamentos Pendentes

{{ formatarMoeda(calcularPendencias()) }}

Aulas Hoje

{{ aulasHoje.length }}

Reposições Pendentes de Agendamento

{{ reposicoesPendentes.length }} pendente(s)
{{ getAluno(rep.aluno_id).nome }} Falta c/ Reposição

Falta em: {{ formatarData(rep.data) }} às {{ rep.hora }}

Histórico de Reposições Realizadas

{{ historicoReposicoesFiltrado.length }} concluída(s)
{{ getAluno(item.aluno_id).nome }} ✅ Reposta
Falta Original: {{ item.dataFalta ? formatarData(item.dataFalta) + ' às ' + item.horaFalta : 'Falta Avulsa' }}
Reposição Feita: {{ formatarData(item.dataReposicao) }} às {{ item.horaReposicao }}
Nenhuma reposição realizada neste período selecionado.

Aulas Agendadas para Hoje

Sincronizado automaticamente com a data real do seu dispositivo

📅 {{ dataHojeIsoFormatada }}
{{ aula.hora }}
{{ getAluno(aula.aluno_id).nome }} REP

{{ getAcademiaName(getAluno(aula.aluno_id).academia_id) }}

Nenhuma aula agendada para hoje ({{ dataHojeIsoFormatada }}).

Acesse a aba Agenda ou cadastre novos alunos com horários para preencher sua rotina.

🔒Modo somente leitura: você pode consultar a semana atual. Assine para navegar, agendar e marcar presenças.

{{ tituloSemanaAtual }}

☀️

Manhã

(06h - 12h)
{{ getAulasPorTurno(diaSelecionadoIso, 'manha').length }} aula(s)
{{ aula.hora }}
{{ getAluno(aula.aluno_id).nome }}

{{ getAcademiaName(getAluno(aula.aluno_id).academia_id) }}

REP
{{ aula.status === 'agendada' ? '• Agendado' : (aula.status === 'presença' ? '✅ Presença' : '⚠️ Ausente') }}
Nenhuma aula agendada para o período da manhã.
🌤️

Tarde

(12h - 18h)
{{ getAulasPorTurno(diaSelecionadoIso, 'tarde').length }} aula(s)
{{ aula.hora }}
{{ getAluno(aula.aluno_id).nome }}

{{ getAcademiaName(getAluno(aula.aluno_id).academia_id) }}

REP
{{ aula.status === 'agendada' ? '• Agendado' : (aula.status === 'presença' ? '✅ Presença' : '⚠️ Ausente') }}
Nenhuma aula agendada para o período da tarde.
🌙

Noite

(18h - 22h)
{{ getAulasPorTurno(diaSelecionadoIso, 'noite').length }} aula(s)
{{ aula.hora }}
{{ getAluno(aula.aluno_id).nome }}

{{ getAcademiaName(getAluno(aula.aluno_id).academia_id) }}

REP
{{ aula.status === 'agendada' ? '• Agendado' : (aula.status === 'presença' ? '✅ Presença' : '⚠️ Ausente') }}
Nenhuma aula agendada para o período da noite.
Horário
{{ dia.nome }} {{ dia.dataFormatada }}
{{ hora }}
🔒

{{ currentTab === 'financeiro' ? 'Seu financeiro está protegido' : 'Recurso disponível para assinantes' }}

Seus dados continuam salvos. Assine o OwnHub para voltar a ver e editar tudo.

Visão do Mês Atual ({{ mesAnoAtualExtenso }})

1/2
Receita Prevista

{{ formatarMoeda(calcularReceitaTotal()) }}

C/ reajustes e descontos

Já Recebido

{{ formatarMoeda(calcularTotalRecebido()) }}

Baixas efetuadas

Pendente

{{ formatarMoeda(calcularPendencias()) }}

Atrasados e saldos

Total Despesas

{{ formatarMoeda(calcularDespesasTotal()) }}

Inclui despesas recorrentes

Lucro Líquido

{{ formatarMoeda(calcularLucroLiquido()) }}

Receita − Despesas

Projeção do Próximo Mês ({{ proximoMesAnoExtenso }})

2/2

Calculado com base na agenda recorrente e custos fixos

⚡ Recorrência Ativa
Receita Prevista Próximo Mês

{{ formatarMoeda(calcularReceitaProximoMes()) }}

*Ajustado conforme a contabilidade dos dias de {{ proximoMesAnoExtenso }} para hora/aula.

Lucro Líquido Projetado

{{ formatarMoeda(calcularLucroLiquidoProximoMes()) }}

Calculado: Receita − Despesas previstas ({{ formatarMoeda(calcularDespesasProximoMes()) }})

Fechamento das Mensalidades dos Alunos

Cálculo contratual com suporte a pagamentos parciais, baixas e ajustes por férias ou feriados

Aluno Tipo Cobrança Frequência Base Contratual Valor Total Final Status Pagamento Ações
{{ aluno.nome }} {{ getAcademiaName(aluno.academia_id) }} {{ aluno.tipo_cobranca === 'por_aula' ? 'Hora/Aula (' + formatarMoeda(aluno.valor) + ')' : 'Fixo Mensal' }} {{ aluno.frequencia_semanal }}x / sem {{ formatarMoeda(calcularValorMensalCalculado(aluno)) }} {{ aluno.tipo_cobranca === 'por_aula' ? calcularAulasMes(aluno) + ' aulas calc.' : 'Fixo padrão' }}
{{ formatarMoeda(calcularValorMensalAluno(aluno)) }} Editado
Pago: R$
Falta: {{ formatarMoeda(calcularRestanteAluno(aluno)) }}

Nova Despesa / Custo

Cadastre custos fixos ou recorrentes

Esta despesa será computada automaticamente nos meses seguintes sem precisar reescrever.

Despesas Registradas do Mês

Listagem de custos avulsos e recorrentes

{{ formatarMoeda(calcularDespesasTotal()) }} no mês
{{ d.descricao }} {{ d.categoria }} 🔄 Recorrente
Data: {{ formatarData(d.data) }} • {{ getAcademiaName(d.academia_id) }}
- {{ formatarMoeda(d.valor) }}
{{ despesas.length === 0 ? 'Nenhuma despesa registrada. Adicione taxas de academias, transporte ou custos recorrentes ao lado.' : 'Nenhuma despesa neste mês.' }}
Receita Bruta: {{ formatarMoeda(calcularReceitaTotal()) }} − Despesas: {{ formatarMoeda(calcularDespesasTotal()) }}
Lucro Líquido Previsto: {{ formatarMoeda(calcularLucroLiquido()) }}

Quadro de Horários Vagos da Semana

{{ vagasEditadasManualmente ? 'Você personalizou estes horários. Clique em Sincronizar para recalcular pela agenda.' : 'Calculados automaticamente a partir dos horários livres da sua agenda' }}

{{ dia }} {{ vagas.filter(v => v.ativo).length }} vaga(s)
Nenhuma vaga livre no horário.

Preview da Mensagem

{{ gerarTextoVagasWhatsApp() }}

Enviar Comunicado Rápido

Escolha um modelo pré-configurado e selecione os clientes por academia

Pré-visualização da Mensagem

{{ alunosFiltradosPorAviso.length }} aluno(s) selecionado(s)
{{ avisoForm.mensagem || 'Escreva ou escolha um modelo para ver a pré-visualização da mensagem...' }}

Destinatários:

Alunos Cadastrados

Base para o cálculo financeiro mensal e segmentação de comunicados

{{ getIniciais(aluno.nome) }}

{{ aluno.nome }}

Ativo
{{ getAcademiaName(aluno.academia_id) }} • Frequência: {{ aluno.frequencia_semanal }}x / sem • Cobrança: {{ aluno.tipo_cobranca === 'por_aula' ? 'Hora/Aula (R$ ' + aluno.valor + ')' : 'Fixo Mensal (R$ ' + aluno.valor + ')' }} 🔄 {{ formatarData(aluno.data_inicio) }} até {{ formatarData(aluno.data_limite_recorrencia) || 'Ativo' }}
Horários Fixos: {{ hf.dia.substring(0, 3) }} às {{ hf.hora }}

Perfil & Segurança da Conta

Atualize seu nome social, e-mail e senha de acesso

Gerenciar Academias & Locais de Atendimento

Adicione novas academias ou remova locais onde você não atende mais

{{ acad.nome }} {{ getAlunosPorAcademiaCount(acad.id) }} aluno(s)
Nenhuma academia cadastrada. Adicione o primeiro local de atendimento acima.
⚡

Minha Assinatura OwnHub

Situação do seu acesso ao aplicativo

{{ statusAssinaturaTexto }}
Plano {{ ehCortesia ? 'Conta mestre' : (assinatura && assinatura.plano ? nomePlanoAtual : (assinaturaLancada ? 'Período grátis' : 'Acesso liberado')) }}
{{ assinatura && assinatura.plano ? 'Acesso até' : 'Grátis até' }} {{ ehCortesia || !assinaturaLancada ? 'Sem prazo' : formatarDataServidor(assinatura.plano ? assinatura.acesso_ate : assinatura.trial_termina_em) }}
Valor {{ assinatura && assinatura.plano ? formatarPreco(precoDoPlano(assinatura.plano)) + (assinatura.plano === 'anual' ? ' / ano' : ' / mês') : '—' }}
✓ {{ rec }}

Renovação automática: {{ assinatura && assinatura.renovacao_automatica ? 'ligada (cartão)' : 'desligada' }}

Exportar meus dados

Baixe uma planilha (Excel) com seus alunos, agenda, pagamentos e despesas. Seus dados são seus: este botão funciona sempre, mesmo sem assinatura ativa.

Ajustar Valor do Mês

{{ alunoAjusteFinanceiro.nome }} ({{ mesAnoAtualExtenso }})

Valor Base Calculado Contratual: {{ formatarMoeda(calcularValorMensalCalculado(alunoAjusteFinanceiro)) }}

Assine o OwnHub

{{ acessoBloqueado ? 'Seus dados estão salvos. Escolha um plano para voltar a editar.' : 'Preço especial de lançamento' }}

Melhor valor

{{ plano.nome }}

{{ formatarPreco(plano.valor) }} {{ plano.periodo }}

{{ plano.detalhe }}

✓{{ rec }}

💳 Pagamento seguro pelo Mercado Pago. No cartão, a renovação é automática e pode ser cancelada quando quiser. O tempo grátis que ainda resta é mantido.

Assinar {{ planoCartao.nome }}

{{ formatarPreco(planoCartao.valor) }} {{ planoCartao.periodo }} • {{ planoCartao.id === 'anual' ? 'pagamento único em até 12x no cartão de crédito' : 'renovação automática no cartão de crédito' }}

Carregando formulário seguro do Mercado Pago...

Digite o número do cartão acima para ver as opções de parcelamento.

O plano anual não renova sozinho: avisamos você antes de vencer. Ao pagar o anual, a renovação automática do seu plano mensal é desligada e o tempo que você já tem é mantido.
{{ cartaoErro }}

🔒 Os dados do cartão vão direto para o Mercado Pago: o OwnHub não vê nem guarda o número do seu cartão. Não é preciso ter conta no Mercado Pago. O tempo grátis que ainda resta é mantido.

Detalhes do Agendamento

{{ formatarData(selectedAula.data) }} às {{ selectedAula.hora }}

{{ getAluno(selectedAula.aluno_id).nome }} {{ getAcademiaName(getAluno(selectedAula.aluno_id).academia_id) }}
Aula de Reposição Aula Normal

Agendar Nova Aula

{{ alunoEmEdicaoId ? 'Editar Dados do Aluno' : 'Cadastrar Novo Aluno' }}

Excluir Aluno

Tem certeza que deseja excluir {{ alunoParaDeletar.nome }}? Todos os agendamentos deste aluno serão removidos.