Plantão Lar BH

Plantões, cuidado e confiança.

Belo Horizonte e Região Metropolitana

Encontre o cuidado certo.
Encontre o plantão certo.

Cuidado quando você precisa. Profissionais quando você procura. Uma forma simples de aproximar contratantes e profissionais de cuidado, com informação clara e uma experiência feita para o celular.

Começar agora
ESCOLHA SEU CAMINHO

Como você quer usar o Plantão Lar BH?

Escolha um caminho e vá direto ao que precisa.

CONTRATANTES

Preciso de um profissional

Publique um plantão e encontre profissionais disponíveis para o cuidado que você precisa.

PROFISSIONAIS

Quero encontrar plantões

Veja oportunidades, encontre plantões compatíveis e demonstre seu interesse.

BENEFÍCIOS

BH e região

Plantões na sua região com foco local

Informação clara

Perfis mais completos e etapas objetivas

Tudo pelo celular

Experiência mobile-first simples e ágil

Quer entender melhor a plataforma?

Conheça nossa proposta, valores, segurança e privacidade.

Essa escolha será usada somente para apresentar corretamente o seu título no perfil.
| | contato@plantaolarbh.com.br
Olá 👋

Encontre um plantão para hoje.

Compare oportunidades, avaliações e confiabilidade antes de aceitar.

Oportunidades

BH e RMBH

Buscar plantões

Filtros

Meus plantões

Próximos compromissos

Carregando seus plantões...

Publicar plantão

Contratante
Para quem é este plantão?

Carregando assistidos...

Passagem / transporte

Meus plantões

Propostas

Nenhum plantão publicado.

Relatório do Plantão

Privado
Plantão
Selecione um plantão para visualizar ou preencher o relatório.
RASCUNHO

Central de Segurança

Proteção bilateral
Plantão ativo
Savassi · 19h às 07h
ATIVO

Não substitui polícia, SAMU, bombeiros ou outros serviços de emergência.

Evidências aceitas

📷 Foto 🎥 Vídeo 🎙 Áudio 📄 PDF / BO
AM
Usuário
Perfil
ID: PLBH-U-0001842
Bairro não informado
✓ Identidade verificada
HISTÓRICO

Histórico de plantões

Atendimentos concluídos com confirmação bilateral
Plantões concluídos—
Horas efetivamente trabalhadas—
Página 1
FINANCEIRO
CONTROLE PESSOAL

Central Financeira

Organize o que foi combinado, declarado como recebido e gasto no transporte.

Informação importante

Recebimentos são declarações suas e não pagamentos verificados pela plataforma. O saldo é apenas informativo.

Demonstrativos

Gere uma versão local para salvar como PDF no seu dispositivo.

Lançamentos

Ativos e invalidados, para consulta e rastreabilidade.

Página 1

Registrar recebimento

Registrar transporte

RELATÓRIOS DE CUIDADO

Relatórios dos Assistidos

Acompanhe todos os relatórios de cuidado finalizados pelos profissionais responsáveis.

Carregando relatórios...

ASSISTIDOS

Assistidos

Organize as pessoas que recebem os cuidados dos seus plantões.

Protótipo navegável — Alternativa 2 aprovada como referência visual. Os nomes, datas e valores desta demonstração são fictícios. Este arquivo não acessa o Supabase e não grava lançamentos.
⌂
Central de Gastos
Plantão Lar BH · Área do contratante
Organização financeira

Central de Gastos

Acompanhe pagamentos declarados e despesas de cuidado em um só lugar.

Jan/2025 Dados ilustrativos
◇
Valor combinado
Total acordado no período
R$ 6.000,00
▤
Pagamentos declarados
Valores registrados
R$ 5.700,00
♡
Despesas de cuidado
Gastos registrados
R$ 892,50
▥
Total realizado
Informativo · pagamentos + despesas
R$ 6.592,50
ⓘ Total realizado informativo = pagamentos declarados válidos + despesas de cuidado válidas. O valor combinado é exibido separadamente e não é somado novamente.

Lançamentos recentes

Refinar consulta

Filtros

Escolha o período e a pessoa assistida que deseja consultar.

Período

O período personalizado tem limite de 366 dias por consulta.

Assistido

Despesas compartilhadas ou não atribuídas aparecem somente na visão consolidada de todos os assistidos. Não há divisão automática entre pessoas.

ⓘ Os períodos e assistidos disponíveis na aplicação real devem ser carregados dos dados do contratante autenticado. Os nomes desta demonstração são fictícios.
Histórico financeiro

Lançamentos

Consulte pagamentos e despesas declarados no período selecionado.

Lançamentos (5) Jan/2025
ⓘ Despesas compartilhadas ou não atribuídas aparecem apenas na visão consolidada. Os registros corrigidos e anulados permanecem identificados no histórico.
Histórico do lançamento

Detalhe do lançamento

Consulte os dados e o status do registro selecionado.

ⓘ Correções e anulações devem preservar o histórico e exigir justificativa. A plataforma não transforma uma declaração em comprovante bancário ou fiscal.
Novo registro

Registrar pagamento

Declare um pagamento referente a um plantão específico.

ⓘ Todo pagamento precisa estar vinculado a um plantão. O assistido e o profissional são identificados pelo vínculo do plantão.
R$

Não informe chave PIX, dados bancários, número de cartão ou senhas.

Novo registro

Registrar despesa

Registre um gasto relacionado ao cuidado, com ou sem vínculo a um plantão.

R$

Se não houver assistido específico, o lançamento será compartilhado/não atribuído e aparecerá apenas no consolidado.

Ao vincular um plantão, a relação com o assistido deve respeitar os dados daquele plantão.

Protótipo visual · Não conectado ao banco de dados · Valores fictícios
// PROTÓTIPO INTERATIVO: dados e ações são demonstrativos. // Na aplicação real, substituir os dados locais pelas RPCs oficiais da migration 041. const demoEntries = [ {id:"e1",type:"payment",title:"Pagamento de cuidador",date:"15/01/2025",assisted:"maria",assistedLabel:"Maria",value:3000,status:"valid",shift:"Plantão com Ana Souza",method:"PIX",note:"Pagamento referente ao plantão.",category:""}, {id:"e2",type:"expense",title:"Medicamentos",date:"20/01/2025",assisted:"jose",assistedLabel:"José",value:120,status:"valid",shift:"Sem vínculo com plantão",method:"",note:"Compra de itens para o cuidado.",category:"Outro"}, {id:"e3",type:"payment",title:"Pagamento de cuidador",date:"31/01/2025",assisted:"jose",assistedLabel:"José",value:2700,status:"corrected",shift:"Plantão com Carla Lima",method:"Transferência",note:"Registro substituído por correção.",category:""}, {id:"e4",type:"expense",title:"Insumos de higiene",date:"05/02/2025",assisted:"shared",assistedLabel:"Compartilhado / Não atribuído",value:320.90,status:"valid",shift:"Sem vínculo com plantão",method:"",note:"Despesa compartilhada.",category:"Material de cuidado"}, {id:"e5",type:"expense",title:"Consulta domiciliar",date:"18/02/2025",assisted:"maria",assistedLabel:"Maria",value:451.60,status:"void",shift:"Sem vínculo com plantão",method:"",note:"Lançamento anulado em demonstração.",category:"Outro"} ]; let entries = demoEntries.map(x=>({...x})); let currentPage = "summary"; let previousPage = "summary"; let selectedEntryId = "e1"; let selectedPeriod = "monthly"; let selectedAssisted = "all"; let selectedMethod = ""; let correctionTarget = null; const $ = (id)=>document.getElementById(id); const money = (n)=>new Intl.NumberFormat("pt-BR",{style:"currency",currency:"BRL"}).format(n); const statusText = (s)=>({valid:"Válido",corrected:"Corrigido",void:"Anulado"}[s]||s); const statusClass = (s)=>({valid:"valid",corrected:"corrected",void:"void"}[s]||"valid"); const periodNames = {weekly:"Semanal",monthly:"Mensal",annual:"Anual",custom:"Personalizado"}; const assistedNames = {all:"Todos os assistidos",maria:"Maria",jose:"José",shared:"Compartilhado / Não atribuído"}; function showPage(name){ currentPage=name; document.querySelectorAll(".page").forEach(p=>p.classList.toggle("active",p.dataset.page===name)); const titles={summary:"Central de Gastos",filters:"Filtros",entries:"Lançamentos",detail:"Detalhe do lançamento",payment:"Registrar pagamento",expense:"Registrar despesa"}; $("topTitle").textContent=titles[name]||"Central de Gastos"; $("backButton").style.visibility=(name==="summary")?"hidden":"visible"; if(name==="entries") renderEntries(); if(name==="summary") renderRecent(); if(name==="detail") renderDetail(); window.scrollTo({top:0,behavior:"smooth"}); } function goBack(){ const map={filters:"summary",entries:"summary",detail:"entries",payment:"summary",expense:"summary"}; showPage(map[currentPage]||"summary"); } function openModal(title,body){ $("modalTitle").textContent=title; $("modalBody").innerHTML=body; $("modalBackdrop").classList.add("open"); } function closeModal(){$("modalBackdrop").classList.remove("open")} let toastTimer; function toast(message){ const el=$("toast");el.textContent=message;el.classList.add("show"); clearTimeout(toastTimer);toastTimer=setTimeout(()=>el.classList.remove("show"),2800); } function entryMarkup(e){ const isPayment=e.type==="payment"; const icon=isPayment?"▤":"♡"; return ``; } function escapeHtml(s){ return String(s??"").replace(/[&<>"']/g,c=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[c])); } function filteredEntries(){ return entries.filter(e=>{ if(selectedAssisted==="all") return true; return e.assisted===selectedAssisted; }); } function renderRecent(){ $("recentEntries").innerHTML=filteredEntries().slice(0,3).map(entryMarkup).join("") || `
▤
Nenhum lançamento neste filtro.
`; bindEntryButtons(); } function renderEntries(){ const list=filteredEntries(); $("entriesCount").textContent=`Lançamentos (${list.length})`; $("entriesPeriod").textContent=$("periodLabel").textContent; $("entriesAssisted").value=selectedAssisted; $("allEntries").innerHTML=list.length?list.map(entryMarkup).join(""):`
▤
Nenhum lançamento encontrado
Experimente alterar o período ou o assistido selecionado.
`; bindEntryButtons(); } function bindEntryButtons(){ document.querySelectorAll("[data-entry]").forEach(btn=>btn.addEventListener("click",()=>{ selectedEntryId=btn.dataset.entry;showPage("detail"); })); } function renderDetail(){ const e=entries.find(x=>x.id===selectedEntryId); if(!e){$("detailContent").innerHTML="

Lançamento não encontrado.

";$("detailActions").style.display="none";return} $("detailActions").style.display=e.status==="void"?"none":"grid"; const type=e.type==="payment"?"Pagamento":"Despesa"; $("detailContent").innerHTML=`
${type} ${statusText(e.status)}
${escapeHtml(e.title)}
Data do lançamento${escapeHtml(e.date)}
Assistido${escapeHtml(e.assistedLabel)}
Valor${money(e.value)}
${e.type==="payment"?`
Plantão${escapeHtml(e.shift)}
Forma${escapeHtml(e.method||"Não informada")}
`:`
Categoria${escapeHtml(e.category||"Outro")}
Plantão${escapeHtml(e.shift)}
`}
Observação${escapeHtml(e.note||"Não informada")}
`; } function updatePeriodLabel(){ const p=selectedPeriod; const label={weekly:"Semana de 13/01/2025 a 19/01/2025",monthly:"Jan/2025",annual:"2025",custom:"01/01/2025 a 31/01/2025"}; $("periodLabel").textContent=label[p]||"Jan/2025"; document.querySelectorAll("[data-period]").forEach(b=>b.classList.toggle("active",b.dataset.period===p)); $("filterPeriod").value=p; } function syncAssistedChips(){ document.querySelectorAll("[data-assisted]").forEach(b=>b.classList.toggle("active",b.dataset.assisted===selectedAssisted)); $("summaryAssisted").value=selectedAssisted; $("entriesAssisted").value=selectedAssisted; } function openFilters(){ $("filterPeriod").value=selectedPeriod; $("dateFrom").value="2025-01-01";$("dateTo").value="2025-01-31"; syncAssistedChips();updateCustomDateVisibility();showPage("filters"); } function updateCustomDateVisibility(){ $("customDates").style.display=$("filterPeriod").value==="custom"?"block":"none"; } function applyFilters(){ selectedPeriod=$("filterPeriod").value; const from=$("dateFrom").value,to=$("dateTo").value; if(selectedPeriod==="custom"){ if(!from||!to||to366){toast("O período personalizado não pode ultrapassar 366 dias.");return} } updatePeriodLabel();syncAssistedChips();showPage("summary");toast("Filtros demonstrativos aplicados."); } function openPayment(){selectedMethod="";document.querySelectorAll(".method").forEach(b=>b.classList.remove("active"));$("paymentForm").reset();showPage("payment")} function openExpense(){$("expenseForm").reset();showPage("expense")} function demoAdd(type,fields){ const id="demo-"+Date.now(); entries.unshift({...fields,id,status:"valid",type}); selectedEntryId=id; showPage("detail"); toast("Registro demonstrativo adicionado. Nenhum dado foi enviado ao servidor."); } $("backButton").addEventListener("click",goBack); document.querySelectorAll("[data-go]").forEach(b=>b.addEventListener("click",()=>showPage(b.dataset.go))); $("openFilters").addEventListener("click",openFilters); $("openFiltersFromEntries").addEventListener("click",openFilters); $("viewAll").addEventListener("click",()=>showPage("entries")); $("newPayment").addEventListener("click",openPayment); $("newPaymentFromEntries").addEventListener("click",openPayment); $("newExpense").addEventListener("click",openExpense); $("newExpenseFromEntries").addEventListener("click",openExpense); $("summaryAssisted").addEventListener("change",e=>{selectedAssisted=e.target.value;syncAssistedChips();renderRecent()}); $("entriesAssisted").addEventListener("change",e=>{selectedAssisted=e.target.value;syncAssistedChips();renderEntries()}); document.querySelectorAll("[data-period]").forEach(b=>b.addEventListener("click",()=>{ selectedPeriod=b.dataset.period;updatePeriodLabel(); if(selectedPeriod==="custom"){openFilters();return} toast("Período demonstrativo alterado."); })); $("filterPeriod").addEventListener("change",updateCustomDateVisibility); document.querySelectorAll("[data-assisted]").forEach(b=>b.addEventListener("click",()=>{ selectedAssisted=b.dataset.assisted;syncAssistedChips(); })); $("applyFilters").addEventListener("click",applyFilters); $("clearFilters").addEventListener("click",()=>{ selectedPeriod="monthly";selectedAssisted="all";$("filterPeriod").value="monthly"; $("dateFrom").value="2025-01-01";$("dateTo").value="2025-01-31"; updatePeriodLabel();syncAssistedChips();updateCustomDateVisibility(); }); $("paymentMethods").querySelectorAll(".method").forEach(b=>b.addEventListener("click",()=>{ selectedMethod=b.dataset.method; $("paymentMethods").querySelectorAll(".method").forEach(x=>x.classList.toggle("active",x===b)); })); $("paymentForm").addEventListener("submit",e=>{ e.preventDefault(); const shift=$("paymentShift").value; const amount=Number($("paymentAmount").value); const date=$("paymentDate").value; if(!shift||!amount||amount<=0||!date){toast("Preencha os campos obrigatórios.");return} const map={"shift-maria":{assisted:"maria",assistedLabel:"Maria",shift:"Plantão com Ana Souza"},"shift-jose":{assisted:"jose",assistedLabel:"José",shift:"Plantão com Carla Lima"}}; const relation=map[shift]; const methodLabels={pix:"PIX",cash:"Dinheiro",bank_transfer:"Transferência",card:"Cartão",other:"Outro"}; demoAdd("payment",{title:"Pagamento declarado",date:date.split("-").reverse().join("/"),assisted:relation.assisted,assistedLabel:relation.assistedLabel,value:amount,shift:relation.shift,method:methodLabels[selectedMethod]||"",note:$("paymentNote").value,category:""}); }); $("expenseShift").addEventListener("change",()=>{ const value=$("expenseShift").value; if(value==="shift-maria"){$("expenseAssisted").value="maria";$("expenseAssisted").disabled=true} else if(value==="shift-jose"){$("expenseAssisted").value="jose";$("expenseAssisted").disabled=true} else{$("expenseAssisted").disabled=false} }); $("expenseForm").addEventListener("submit",e=>{ e.preventDefault(); const category=$("expenseCategory").value,amount=Number($("expenseAmount").value),date=$("expenseDate").value; if(!category||!amount||amount<=0||!date){toast("Preencha os campos obrigatórios.");return} const categoryLabels={transport:"Transporte",meal:"Alimentação",care_material:"Material de cuidado",other:"Outro"}; const shift=$("expenseShift").value; let assisted=$("expenseAssisted").value; if(shift==="shift-maria")assisted="maria"; if(shift==="shift-jose")assisted="jose"; const assistedLabel=assisted==="maria"?"Maria":assisted==="jose"?"José":"Compartilhado / Não atribuído"; demoAdd("expense",{title:categoryLabels[category],date:date.split("-").reverse().join("/"),assisted,assistedLabel,value:amount,shift:shift==="shift-maria"?"Plantão com Ana Souza":shift==="shift-jose"?"Plantão com Carla Lima":"Sem vínculo com plantão",method:"",note:$("expenseNote").value,category:categoryLabels[category]}); $("expenseAssisted").disabled=false; }); $("correctEntry").addEventListener("click",()=>{ const e=entries.find(x=>x.id===selectedEntryId);if(!e)return; correctionTarget=e; openModal("Corrigir lançamento",`

A correção deve preservar o registro anterior, registrar o motivo e criar o lançamento substituto pela operação oficial.

`); $("saveCorrection").addEventListener("click",()=>{ const amount=Number($("correctionAmount").value),reason=$("correctionReason").value.trim(); if(!amount||amount<=0||!reason){toast("Informe um valor e o motivo da correção.");return} correctionTarget.status="corrected"; const replacement={...correctionTarget,id:"demo-"+Date.now(),value:amount,status:"valid",note:`Correção demonstrativa: ${reason}`}; entries.unshift(replacement);selectedEntryId=replacement.id;closeModal();showPage("detail"); toast("Correção demonstrativa registrada sem alterar o histórico anterior."); }); }); $("voidEntry").addEventListener("click",()=>{ const e=entries.find(x=>x.id===selectedEntryId);if(!e)return; openModal("Anular lançamento",`

A anulação exige justificativa e deve manter o histórico do lançamento.

`); $("confirmVoid").addEventListener("click",()=>{ const reason=$("voidReason").value.trim(); if(!reason){toast("Informe o motivo da anulação.");return} e.status="void";e.note=`Anulado na demonstração: ${reason}`; closeModal();renderDetail();toast("Anulação demonstrativa registrada. Histórico preservado."); }); }); $("infoButton").addEventListener("click",()=>openModal("Sobre a Central de Gastos",`
ⓘEste recurso organiza valores declarados pelo contratante. O registro não confirma que o pagamento foi efetivamente recebido pelo profissional.

O total realizado informativo soma somente pagamentos declarados válidos e despesas de cuidado válidas. O valor combinado aparece separadamente.

Este demonstrativo não é recibo fiscal, comprovante oficial de pagamento, informe oficial de rendimentos, documento contábil ou cálculo definitivo de tributos.

`)); $("closeModal").addEventListener("click",closeModal); $("modalBackdrop").addEventListener("click",e=>{if(e.target===$("modalBackdrop"))closeModal()}); // Datas demonstrativas. Na implementação real, usar a data civil local e validações do backend. const today=new Date();const todayIso=[today.getFullYear(),String(today.getMonth()+1).padStart(2,"0"),String(today.getDate()).padStart(2,"0")].join("-"); $("paymentDate").value="2025-01-15";$("paymentDate").max=todayIso; $("expenseDate").value="2025-01-20";$("expenseDate").max=todayIso; updatePeriodLabel();syncAssistedChips();renderRecent();
ASSISTIDO

Assistido

Ativo

Resumo

Próximos plantões

Nenhum próximo plantão agendado.

Histórico de plantões

O histórico aparecerá aqui após os primeiros plantões.

Relatórios de cuidado

Ainda não há relatórios de cuidado finalizados para este assistido.

AJUDA

Precisa de ajuda?

Entre em contato conosco pelo e-mail oficial: contato@plantaolarbh.com.br

CONHEÇA

Conheça o Plantão Lar BH

Uma forma simples de entender nossa proposta, nossos valores e como pensamos confiança e privacidade.

PROPOSTA

Cuidado conecta pessoas.

O Plantão Lar BH foi pensado para tornar mais simples a conexão entre quem precisa de cuidado e quem está disponível para cuidar. A proposta é organizar essa jornada com clareza, respeito e uma experiência fácil de usar.

💡
Aproximação justa e sem ruído

Facilitamos o encontro de cuidadores de idosos, auxiliares, técnicos e enfermeiros com famílias e pacientes que necessitam de suporte domiciliar confiável.

PILAR INSTITUCIONAL

Nossos valores fundamentais

❤ Cuidado

Pessoas estão no centro de cada plantão.

🤝 Respeito

Relações profissionais precisam ser tratadas com dignidade.

🔍 Transparência

Informações claras ajudam melhores decisões.

🛡 Privacidade

Dados pessoais devem ser tratados com responsabilidade.

🌱 Confiança

Construída com informação, histórico e boas práticas.

FLUXO DO PLANTÃO

Como funciona a plataforma

🏡 Para contratantes
  1. 1. Publique o plantão: Defina data, horário, local e cuidados necessários.
  2. 2. Veja interessados: Receba e consulte profissionais disponíveis.
  3. 3. Escolha o profissional: Selecione o profissional compatível com a necessidade.
  4. 4. Aguarde confirmação: O profissional confirma a vaga e o plantão é reservado.
🩺 Para profissionais
  1. 1. Encontre plantões: Explore oportunidades abertas em sua região.
  2. 2. Demonstre interesse: Candidate-se com um toque aos plantões desejados.
  3. 3. Aguarde a seleção: O contratante analisa sua candidatura com critério.
  4. 4. Confirme o plantão: Confirme sua presença e execute o atendimento.
SEGURANÇA ATUAL

Mais segurança em cada etapa

👤 Identidade e credenciais

Cadastro individualizado com dados de contato e identificação verificados.

⭐ Avaliações e reputação

Histórico construído com base em atendimentos reais e transparência mútua.

🔒 Privacidade rigorosa

Endereço protegido e informações sensíveis não expostas nas listagens públicas.

🤝 Confirmação mútua

O contratante seleciona e o profissional confirma o plantão para maior clareza.

Segurança em evolução PLANEJADO · EM DESENVOLVIMENTO
QR Code / PIN Em desenvolvimento

Planejado para apoiar confirmações presenciais de etapas do plantão.

Início e encerramento guiados Em desenvolvimento

Planejado para registrar o início e a conclusão do plantão presencialmente.

Timer Em desenvolvimento

Planejado para acompanhar o tempo previsto e o tempo adicional.

ISOLAMENTO DE DADOS

Sua privacidade tratada com rigor

🔒 Dados pessoais

Informações privadas possuem controles rigorosos de acesso por perfil.

📁 Documentos

Credenciais profissionais ficam em armazenamento protegido e restrito.

🏡 Endereço

O endereço completo não aparece nas listagens públicas de plantões.

🛡 Acesso

A plataforma limita o acesso conforme o perfil e a etapa do fluxo.

LOCALIZAÇÃO

Começando por BH e região

Foco inicial nas cidades com maior densidade de cuidado da Região Metropolitana de Belo Horizonte.

📍 Belo Horizonte 📍 Contagem 📍 Betim 📍 Vespasiano
TERMOS DE USO
PRIVACIDADE