Aprenda a planejar e construir um app web para salões multi‑local: agendamento, rotação de equipe, permissões e análises de receita com passos práticos.

Antes de desenhar telas ou escolher ferramentas, seja específico sobre o que “melhor” significa para seus salões. Um app multi‑local pode resolver muitos problemas, mas se os objetivos não estiverem claros, você vai entregar recursos que ninguém usa.
Escolha 3–5 resultados e anexe números a eles. Exemplos comuns para salões incluem:
Esses objetivos viram critérios de aceitação para o seu MVP: se o app não mover essas métricas, não está pronto.
Operações multi‑local normalmente envolvem papéis distintos:
Para cada papel, descreva o que fazem diariamente — e o que não devem poder alterar.
Documente tanto o “caminho feliz” quanto a realidade bagunçada:
Multi‑local não é só “adicionar um campo de local”. Decida desde o início:
Responder a essas perguntas cedo evita reescritas dolorosas depois — especialmente nas regras de agendamento e nos relatórios.
Antes de desenhar calendários ou dashboards, você precisa de uma “fonte de verdade” compartilhada sobre o negócio: onde opera, quem trabalha, o que vende e quem atende. Dados centrais fortes mantêm o agendamento, rotação e relatórios consistentes.
Cada unidade deve armazenar detalhes operacionais práticos:
Dica: modele “recursos” explicitamente (Cadeira 1, Sala de Cor) em vez de notas. É a forma mais simples de evitar overbooking depois.
Um perfil de colaborador deve incluir mais que nome e telefone. Para suportar planejamento de rotação e agendamento correto:
Escolha de design: armazene habilidades como tags estruturadas (com níveis) para que serviços possam requerer “Habilidade: Cor Nível 2+” e o motor de agendamento filtre a equipe elegível.
Crie um registro de cliente único que funcione entre unidades. Inclua:
Isso evita registros duplicados quando alguém agenda em uma nova filial e mantém relatórios (taxa de retorno, valor vitalício) precisos.
Defina serviços como itens agendáveis com:
Se você tratar serviços como um catálogo — e não texto livre — terá agendamentos mais limpos, menos erros no balcão e análises confiáveis.
Seu motor de agendamento é a “fonte de verdade” para disponibilidade entre unidades, equipe, salas e regras de serviço. Trate a UI do calendário como uma visão sobre esse motor, não como o motor em si.
Agendamento online e pelo balcão devem usar a mesma API e regras. Caso contrário, você vai acabar com dois calendários que discordam.
No mínimo, a disponibilidade deve considerar:
Defina regras de conflito claramente e aplique‑as de forma consistente:
Para manter os calendários precisos em tempo real, use concorrência otimista (números de versão) ou retenções de curto prazo (ex.: uma vaga “pendente” de 5–10 minutos durante o checkout). Isso reduz condições de corrida quando duas pessoas miram o mesmo horário.
Buffers (preparo/limpeza), pausas e almoço devem ser blocos de agendamento de primeira classe — não notas. Pacotes de serviço (ex.: corte + coloração) devem ser uma única reserva que se expande em múltiplos segmentos temporais, possivelmente exigindo recursos diferentes.
Evite hard‑coding de políticas. Armazene‑as como configurações por unidade (e às vezes por serviço), como:
Quando as políticas são dirigidas por dados, você ajusta rapidamente sem mudar código — e mantém comportamento consistente entre web, mobile e balcão.
Rotação é onde operações multi‑local ou ficam justas e previsíveis — ou desorganizadas e políticas. Trate a escala como um conjunto de regras claras mais uma forma segura de lidar com exceções.
A maioria dos salões se beneficia de suportar múltiplos “templates” de rotação, porque uma unidade pode ser previsível enquanto outra é dirigida por demanda.
Uma abordagem prática é armazenar padrões como escalas reutilizáveis (ex.: “Centro Semana A”), então gerar turnos para um intervalo de datas em vez de construir manualmente cada semana.
Justiça não é “todo mundo tem os mesmos turnos”. É “as regras são visíveis e consistentes”. Decida como distribuir:
Incorpore isso na lógica de escala como metas suaves (preferências) versus regras rígidas (restrições). Ex.: “Cada estilista deve ter pelo menos um slot privilegiado por semana” (meta) versus “Colorista sênior deve estar presente aos sábados” (regra).
Seu escalador só é tão inteligente quanto as restrições que entende. Restrições comuns incluem:
Modele isso como dados estruturados, não notas, para que o sistema alerte antes de publicar um conflito.
Mesmo o melhor plano precisa de exceções. Forneça ferramentas para:
Isso mantém a escala flexível sem perder responsabilidade — crítico quando surgem disputas, dúvidas de folha ou verificações de conformidade.
Quando você opera várias unidades, “quem pode fazer o quê” torna‑se tão importante quanto recursos como agendamento. Permissões protegem privacidade do cliente, reduzem erros custosos e tornam mais fácil confiar nos números — especialmente quando gerentes, recepção e estilistas usam o mesmo sistema.
Comece decidindo o que cada papel pode ver e editar:
Depois adicione regras cross‑unit. Ex.: um recepcionista pode agendar apenas para sua unidade, enquanto um gerente regional vê calendários de todas as unidades, mas não edita folha.
Em vez de uma permissão grande “admin”, divida por recurso para ser específico:
Isso mantém o dia a dia fluido enquanto limita ações sensíveis às pessoas certas.
Aprovações evitam perda silenciosa de margem e caos na escala. Gatilhos comuns:
Faça aprovações rápidas: mostre o motivo, o impacto (valor, agendamento afetado) e quem precisa aprovar.
Um log de auditoria deve responder: o que mudou, quem mudou, quando e de onde. Rastreie edições em agendamentos, ajustes de pagamentos/comissões, reembolsos e mudanças de inventário. Adicione filtros pesquisáveis por unidade, colaborador e data para que proprietários resolvam disputas sem vasculhar mensagens.
Checkout é onde agendamento vira receita — precisa ser rápido no balcão e preciso nos relatórios.
Comece com um resumo de “serviços entregues” puxado do agendamento: serviços, duração, profissional(es) e unidade. Depois permita que a recepção adicione itens de última hora sem sair da tela: add‑ons, produtos de varejo, descontos (código ou manual), gorjetas e impostos.
Mantenha a matemática previsível definindo uma ordem de operação cedo (ex.: desconto aplica‑se aos serviços, imposto após desconto, gorjeta pós‑imposto). Seja consistente entre unidades para que relatórios sejam comparáveis.
Decida o que permitir:
Também defina comportamento de pagamento parcial: uma fatura pode ficar com saldo aberto, ou todo atendimento deve ser liquidado no mesmo dia? Se permitir saldos, especifique quando o serviço é considerado “pago” para fins de comissão e relatório de receita.
Reembolsos e estornos devem exigir motivo (dropdown + notas opcionais), registrar quem realizou a ação e manter trilha de auditoria. Distinga claramente:
Coloque ações sensíveis atrás de papéis (veja /blog/permissions-and-audit-logs) para que a equipe não viole regras casualmente.
Escolha provedores de pagamento e entrega de recibo (email/SMS) cedo — eles influenciam seu modelo de dados. Mesmo sem integrar contabilidade no dia 1, armazene registros financeiros limpos: fatura, itens, tentativas de pagamento, pagamentos bem‑sucedidos, gorjetas, impostos e reembolsos. Essa estrutura facilita integrações futuras e um dashboard confiável de receita.
Sua análise deve responder rapidamente: “Quanto ganhamos?” e “Por que mudou?”. Comece com um conjunto pequeno e consistente de métricas para que cada unidade reporte da mesma forma.
No mínimo, padronize:
Decida o tratamento de casos de borda (pagamentos divididos, reembolsos parciais, vales, depósitos) e documente‑o para que dashboards não virem motivo de debate.
Facilite comparar por:
Um padrão prático: linha superior com tiles (vendas líquidas, agendamentos, ticket médio), seguido por tabelas que permitem clicar em uma unidade ou colaborador para ver detalhes.
Receita é o resultado; operações são as alavancas. Inclua:
Esses KPIs ajudam a explicar “por quê” sem análises complicadas.
Mantenha filtros simples e sempre visíveis: intervalo de datas, unidade, colaborador, serviço. Evite esconder itens essenciais em “configurações avançadas”.
Cada relatório deve ser exportável para CSV com as mesmas colunas que a tabela na tela (mais IDs e timestamps). Isso facilita compartilhar com contadores, folha ou uma ferramenta de BI depois — sem reconstruir o app.
Comissões são onde a confiança se ganha ou se perde. A equipe quer números claros, gerentes precisam de aprovações rápidas, e proprietários querem totais prontos para folha sem planilhas caóticas.
Comece suportando as regras mais comuns e tornando‑as visíveis na configuração do serviço:
Para equipes multi‑local, permita que planos de comissão sejam atribuídos por unidade, papel ou indivíduo. Um estilista cobrindo outra filial pode ser pago pelo plano da sua unidade de origem — ou pelo plano da filial — então o app deve suportar ambas políticas.
Mantenha entradas para folha simples, porém flexíveis:
Aqui também é o lugar de definir se a comissão é calculada sobre bruto (antes dos descontos) ou líquido (após descontos), e como reembolsos são tratados.
A vida real gera exceções: refazimento de serviço, chargebacks, descontos de cortesia e bônus manuais. Adicione um tipo de entrada Ajuste que exija:
Essa trilha reduz disputas e facilita explicar totais depois.
Gere um extrato que reflita como a equipe pensa sobre seu trabalho:
Gerentes devem ter visão consolidada por unidade, com opções de exportação para ferramentas de folha. Se planeja integração POS, alinhe categorias do extrato com sua configuração de checkout para facilitar a reconciliação (veja /blog/build-salon-pos-payments).
Inventário é opcional para alguns salões, mas se você vende varejo (ou quer controle sobre consumíveis como cor, revelador, luvas), rastrear estoque evita faltas e deixa a receita mais limpa.
Comece com um catálogo simples que suporte múltiplas unidades. Cada item deve ter: SKU/código de barras (opcional), nome, categoria (varejo vs consumível), custo, preço e quantidade em estoque por unidade. Para consumíveis, considere uma flag “não à venda” para uso interno.
Salões multi‑local precisam de transferências. Mantenha leve: selecione “De”, “Para” e quantidades — depois gere um registro de transferência para atualizar ambas as unidades corretamente.
Para contagens, suporte contagens cíclicas rápidas (subconjunto) e contagens completas (fim de mês). Armazene ajustes com motivo (contagem, danificado, vencido) para identificar padrões.
Alertas de baixo estoque devem ser por unidade. Permita que a equipe defina um limite de reordem e opcionalmente anexe fornecedor preferido e tamanho de embalagem. Evite transformar isso em um sistema completo de compras — a maioria dos salões só precisa saber “o que está baixo e onde”.
Produtos de varejo devem ser vendidos no mesmo fluxo de checkout que serviços para manter estoque e receita consistentes. Ao adicionar um produto a um ticket, o sistema deve:
Isso mantém relatórios alinhados com a realidade sem passos extras no balcão.
Um app de salão vive ou morre pela velocidade no balcão e clareza no celular. Mire em um conjunto pequeno de telas essenciais que carreguem rápido, funcionem bem em toque e mantenham a equipe focada no próximo cliente.
Projete a navegação ao redor do que acontece a cada hora:
Deixe o resto a um toque, não no fluxo principal.
A equipe do balcão deve conseguir três ações em menos de 10 segundos:
O calendário deve abrir em visão diária com alvos grandes de toque e pouco scroll. Use um cabeçalho fixo (data, unidade, filtro) para que a equipe não “se perca”.
Status devem comunicar o próximo passo, não só o estado. Um conjunto prático:
Cor ajuda, mas sempre inclua rótulos de texto para acessibilidade.
Equipes ocupadas erram toques. Adicione proteções gentis:
Se for planejar um MVP, priorize esses fluxos centrais antes de configurações e relatórios avançados. Para uma sequência limpa de rollout, veja /blog/rollout-plan-mvp-pilot-training.
Um app de salão vive da confiabilidade: agendamentos não podem demorar, a equipe não pode perder acesso em turno e proprietários precisam confiar nos números. Comece escolhendo ferramentas estáveis que sua equipe mantenha.
A maioria dos apps de gestão multi‑local funciona bem com uma configuração clássica:
Se processar pagamentos, escolha um provedor com boa documentação e webhooks (ex.: Stripe) e projete o sistema para que eventos de pagamento possam ser reenviados com segurança.
Se quiser acelerar a versão inicial (calendário + checkout + dashboards), uma abordagem de baixa‑codificação pode ajudar. Por exemplo, Koder.ai permite gerar um app React com backend em Go e PostgreSQL a partir de um chat estruturado, usar modo de planejamento antes de construir e exportar código quando quiser assumir a engenharia internamente.
Rode três ambientes desde o início. Staging deve espelhar produção para testar mudanças de agendamento e POS sem arriscar dados ao vivo.
Planeje para:
Se usar uma plataforma com fluxo (incluindo Koder.ai), priorize snapshots e rollback para que mudanças em horários e pagamentos possam ser revertidas rápido em horários de pico.
Use TLS em tudo, encripte dados sensíveis em repouso e armazene segredos em um cofre gerenciado (não no código). Aplique princípio do menor privilégio com permissões baseadas em papéis, e prefira MFA para admins e proprietários. Adicione logs de auditoria para ações como reembolsos, edições de agenda e mudanças de permissão.
Assuma picos de tráfego no almoço e à noite. Use cache para views de leitura (dashboards), filas para tarefas lentas e isole workloads de relatório para que analytics não deixe lento o agendamento e checkout.
Lançar um app de gestão multi‑local é menos sobre um “grande lançamento” e mais sobre um rollout controlado que protege o balcão e mantém proprietários confiantes nos números.
Seu primeiro release deve cobrir o loop diário de ponta a ponta:
O objetivo do MVP é rapidez e precisão no balcão — não automação perfeita. Se o calendário for instantâneo e os totais coincidirem com o caixa, as pessoas adotam.
Se estiver com prazo curto, considere prototipar o MVP em Koder.ai primeiro e iterar com stakeholders em ciclos curtos. Possibilidade de deploy rápido, domínio customizado e rollback seguro são úteis em pilotos.
Faça um piloto com um gerente “campeão” e um pequeno grupo de recepcionistas e estilistas. Mantenha curto (2–4 semanas) e defina métricas de sucesso:
Evite mudar regras centrais no meio da semana. Registre problemas e agrupe atualizações.
Ofereça treinamento por papel: recepção, gerentes, estilistas e proprietários. Use checklists curtos e prática por cenário (walk‑in, cliente atrasado, mover para outro profissional). Um guia de uma página “O que fazer quando…” dentro do app (ex.: /help/front-desk) reduz pânico em horários de pico.
Colete feedback semanal: velocidade do balcão, clareza da escala e utilidade dos relatórios. Priorize melhorias em um roadmap visível:
Esse ritmo melhora o app sem interromper operações diárias. Se publicar aprendizados, note que plataformas como Koder.ai oferecem programas de créditos para criação de conteúdo ou recomendações — útil se documentar a construção publicamente enquanto itera o produto.
Comece com 3–5 resultados mensuráveis e coloque números neles (por exemplo: no‑shows de 12% → 7%). Use essas métricas como critérios de aceitação para o MVP.
Metas práticas de salão frequentemente incluem:
Liste cada papel e suas tarefas diárias, depois defina o que eles não devem poder alterar.
Papéis típicos:
Trate multi‑local como regras de negócio, não apenas como um campo “local”.
Decida cedo:
Essas escolhas determinam a lógica de agendamento e a estrutura de relatórios; mudá‑las depois costuma ser caro.
Modele entidades centrais como dados estruturados (não texto livre) para que agendamento e relatórios permaneçam confiáveis:
Construa um único motor de disponibilidade e faça todos os canais (recepção + agendamento online) usarem ele.
No mínimo, a disponibilidade deve considerar:
Para evitar condições de corrida, use (5–10 minutos) ou ao salvar agendamentos.
Suporte templates de rotação reutilizáveis e gere turnos para um intervalo de datas, permitindo exceções controladas.
Padrões úteis:
Mantenha overrides seguros com aprovações e um histórico de auditoria para trocas e mudanças de última hora.
Use permissões baseadas em papéis por unidade e por funcionalidade, depois adicione aprovações para ações de alto impacto.
Gatilhos comuns de aprovação:
Também mantenha logs de auditoria pesquisáveis (quem/o quê/quando/de onde) para reembolsos, edições de agenda e mudanças que impactam folha. Para orientação relacionada, veja /blog/permissions-and-audit-logs.
Projete o checkout em torno de uma fatura previsível construída a partir do agendamento, e permita adicionamentos rápidos:
Defina cedo regras para pagamentos parciais (são permitidos?) e para o comportamento de estorno vs reembolso, exigindo motivo e checagens de permissão.
Padronize definições primeiro para que todas as unidades reportem da mesma forma.
Métricas mínimas consistentes:
Depois inclua KPIs operacionais que expliquem mudanças:
Deixe as regras de comissão explícitas e auditáveis, alinhadas com os cálculos de checkout.
Modelos comuns a suportar:
Para equipes multi‑local, permita planos por , ou , e defina se a comissão é calculada sobre (após descontos) e como reembolsos afetam os pagamentos. Forneça extratos de equipe com ajustes que exijam motivo e aprovação.
Faça cada relatório exportável para CSV com colunas estáveis (mais IDs e timestamps).