Modelo de Backend de Perfil de Cliente de Barbearia
Clientes, Barbeiros, Histórico de Cortes de Cabelo, Preferências de Produtos e Notas de Agendamento
Um backend de perfil de cliente de barbearia pronto para produção na Back4app com Cliente, Barbeiro, Histórico de Cortes de Cabelo, Preferência de Produto, Agendamento e Nota de Agendamento. Inclui diagrama ER, guia de campos, esquema JSON, sandbox de API e um prompt de Agente de IA para bootstrap rápido.
Principais Conclusões
Este template fornece um perfil de cliente de barbeiro backend com <strong>Cliente</strong>, <strong>Barbeiro</strong>, <strong>HistóricoDeCorte</strong>, <strong>PreferênciaDeProduto</strong>, <strong>Agendamento</strong> e <strong>NotasDeAgendamento</strong> para que as equipes de recepção, barbeiros e proprietários de loja possam trabalhar a partir da mesma visualização de cliente.
- Perfis de clientes permanecem vinculados à cadeira — Modelos <strong>Cliente</strong> e <strong>Barbeiro</strong> para que a equipe possa revisar o <strong>barbeiroPreferido</strong>, <strong>notas</strong> e serviços anteriores de um cliente antes da próxima visita.
- O histórico de cortes segue o rastro do serviço — Armazene <strong>HistóricoDeCorte</strong> com os campos <strong>cliente</strong>, <strong>barbeiro</strong>, <strong>agendamento</strong>, <strong>tipoDeServiço</strong>, <strong>fadeGuard</strong>, <strong>comprimentoDoCorte</strong> e <strong>finalizadoEm</strong> para preservar cada corte.
- Preferências de produtos seguem com o cliente — Use <strong>PreferênciaDeProduto</strong> para <strong>nomeDoProduto</strong>, <strong>categoriaDoProduto</strong>, <strong>nívelDeFixação</strong>, <strong>fragrância</strong>, <strong>sensibilidadeDaPele</strong> e <strong>notas</strong> para que as recomendações de estilo correspondam ao perfil.
Visão Geral: Perfil de Cliente da Barbearia
Se a captação do perfil de cliente da barbearia for desorganizada, tudo a montante sofre — uma captura limpa na porta da frente economiza horas de reconstrução depois. Raramante é um único erro — é uma deriva. Modele as entidades principais no Back4app para gerenciar questões de perfil de cliente da barbearia com uma propriedade mais clara, menos tarefas não concluídas e um histórico pronto para o cliente. O esquema cobre <strong>Cliente</strong> (<strong>primeiroNome</strong>, <strong>sobrenome</strong>, <strong>telefone</strong>, <strong>email</strong>, <strong>barbeiroPreferido</strong>, <strong>notas</strong>), <strong>Barbeiro</strong> (<strong>nomeExibido</strong>, <strong>númeroLicença</strong>, <strong>labelEstação</strong>, <strong>especialidades</strong>), <strong>Agendamento</strong> (<strong>cliente</strong>, <strong>barbeiro</strong>, <strong>horaInicio</strong>, <strong>horaFim</strong>, <strong>tipoServiço</strong>, <strong>status</strong>, <strong>códigoCheckIn</strong>), <strong>HistóricoCorte</strong> (<strong>cliente</strong>, <strong>barbeiro</strong>, <strong>agendamento</strong>, <strong>tipoServiço</strong>, <strong>fadeGuard</strong>, <strong>comprimentoCorte</strong>, <strong>finalizadoEm</strong>), <strong>PreferenciaProduto</strong> (<strong>cliente</strong>, <strong>nomeProduto</strong>, <strong>categoriaProduto</strong>, <strong>nivelFixação</strong>, <strong>fragrância</strong>, <strong>sensibilidadePele</strong>, <strong>notas</strong>), e <strong>NotaAgendamento</strong> (<strong>cliente</strong>, <strong>agendamento</strong>, <strong>autor</strong>, <strong>tipoNota</strong>, <strong>conteúdo</strong>, <strong>prioridade</strong>, <strong>seguimentoNecessário</strong>) com regras de acesso amigáveis para autenticação e loja. Conecte seu frontend preferido e envie mais rápido.
Melhor para:
O que você recebe no modelo de Perfil de Cliente da Barbearia
Quando os contratos de perfil de cliente da barbearia ficam mais rigorosos, os compradores pedem recibos — não heroísmo. É quando fluxos de trabalho com carimbo de data e hora compensam.
Seja você enviar para web ou mobile, a gestão do perfil do cliente, o rastreamento do histórico de cortes de cabelo e os registros de preferência de produtos continuam sendo a espinha dorsal — esta página é a maneira mais rápida de alinhar as partes interessadas.
Recursos Principais do Perfil do Cliente
Cada cartão de tecnologia nesse hub utiliza o mesmo esquema de perfil de cliente de barbearia com <strong>Cliente</strong>, <strong>Barbeiro</strong>, <strong>HistóricoDeCorteDeCabelo</strong>, <strong>PreferênciaDeProduto</strong>, <strong>Consulta</strong> e <strong>NotaDeConsulta</strong>.
Gerenciamento de perfil do cliente
O cliente armazena firstName, lastName, phoneNumber, email, preferredBarber e notes.
Registro de histórico de cortes de cabelo
O histórico de cortes de cabelo vincula cliente, barbeiro, compromisso, tipo de serviço, fadeGuard, comprimento do corte e finishedAt.
Registros de preferência de produtos
ProductPreference armazena productName, productCategory, holdLevel, scent, skinSensitivity e notes.
Agendamento de consultas e status
A consulta mantém cliente, barbeiro, hora de início, hora de término, tipo de serviço, status e código de check-in.
Captura de nota de consulta
AppointmentNote anexa tipoDeNota, conteúdo, prioridade e acompanhamentoNecessário a cada consulta.
Por que construir o backend do perfil de cliente da sua barbearia com Back4app?
Back4app fornece ao seu salão uma camada de dados limpa para perfis de <strong>Cliente</strong>, <strong>Histórico de Cortes de Cabelo</strong>, <strong>Preferência de Produto</strong> e <strong>Nota de Agendamento</strong>, para que os barbeiros e a equipe de recepção gastem menos tempo procurando detalhes.
- •Registros de perfil e cortes permanecem conectados: As classes <strong>Cliente</strong> e <strong>Histórico de Cortes de Cabelo</strong> mantêm o próximo serviço vinculado ao último <strong>tipoDeServiço</strong>, <strong>fadeGuard</strong>, <strong>comprimentoDoCorte</strong> e campos <strong>finalizadoEm</strong>.
- •Os campos ProductPreference são fáceis de consultar: Procure <strong>productName</strong>, <strong>productCategory</strong>, <strong>holdLevel</strong>, <strong>scent</strong> e <strong>skinSensitivity</strong> antes de misturar produtos ou fazer uma recomendação.
- •Consultas e notas podem se mover juntas: <strong>Consulta</strong> e registros de <strong>Nota de Consulta</strong> permitem que a equipe da recepção confirme o <strong>status</strong> enquanto os barbeiros adicionam contexto à visita no mesmo backend.
Mantenha o histórico de clientes, anotações sobre a cadeira e preferências de produtos em um único contrato de backend em todas as plataformas.
Benefícios Principais
Um backend de perfil de cliente de barbeiro que ajuda a barbearia a funcionar mais rápido, mantendo os detalhes do serviço fáceis de encontrar.
Preparação mais rápida ao lado da cadeira
Puxe os registros de <strong>Cliente</strong> e <strong>HistóricoDeCorte</strong> antes do corte para que os barbeiros possam ver o último <strong>tipoDeServiço</strong>, <strong>protetorDeDesvanecimento</strong> e <strong>notas</strong> sem pedir que o cliente os repita.
Melhores recomendações de produtos
Use as linhas de <strong>PreferênciaDeProduto</strong> para combinar <strong>nomeDoProduto</strong>, <strong>categoriaDoProduto</strong>, <strong>nívelDeFixação</strong> e <strong>fragrância</strong> com o serviço que está sendo realizado.
Transferência de agendamento mais limpa
Os dados de <strong>Agendamento</strong> e <strong>NotaDeAgendamento</strong> fornecem ao balcão e ao barbeiro o mesmo <strong>status</strong>, <strong>tipoDeNota</strong> e contexto da visita.
Colaboração simples entre a equipe
As relações entre <strong>Barbeiro</strong>, <strong>Cliente</strong> e <strong>Agendamento</strong> tornam óbvio quem realizou o serviço e quem adicionou a nota.
Histórico de serviços pesquisável
Consulta <strong>terminadoEm</strong>, <strong>tipoDeServiço</strong> e <strong>conteúdo</strong> quando um cliente retorna para o mesmo desvanecimento, aparo de barba ou alinhamento.
Configuração assistida por IA
Gere a estrutura de backend, regras de classe e dados de perfil de exemplo com um prompt estruturado.
Pronto para lançar seu aplicativo de perfil de cliente de barbearia?
Deixe o agente de IA da Back4app estruturar o backend da sua barbearia e gerar dados de <strong>Cliente</strong>, <strong>Barbeiro</strong>, <strong>HistóricoDeCorte</strong>, <strong>PreferênciaDeProduto</strong>, <strong>Compromisso</strong> e <strong>NotaDeCompromisso</strong> a partir de um prompt.
Gratuito para começar — 50 prompts de Agente de IA/mês, sem necessidade de cartão de crédito
Stack do Backend da Barbearia
Tudo incluído neste modelo de perfil de cliente para barbearia.
Mapa de Relacionamento Cliente-Agendamento
Modelo de relacionamento de entidade para o esquema de perfil de cliente da barbearia.
Esquema abrangendo clientes, barbeiros, agendamentos, histórico de cortes, preferências de produtos e notas de agendamento.
Ver fonte de relacionamento
erDiagram
Client ||--o{ Appointment : "books"
Barber ||--o{ Appointment : "assigned to"
Client ||--o{ HaircutHistory : "has"
Barber ||--o{ HaircutHistory : "performs"
Appointment ||--o{ HaircutHistory : "results in"
Client ||--o{ ProductPreference : "prefers"
Client ||--o{ AppointmentNote : "has"
Appointment ||--o{ AppointmentNote : "captures"
Barber ||--o{ AppointmentNote : "writes"
Client {
String objectId PK
String firstName
String lastName
String phoneNumber
String email
String preferredBarberId FK
String notes
Date createdAt
Date updatedAt
}
Barber {
String objectId PK
String displayName
String licenseNumber
String stationLabel
Array specialties
Date createdAt
Date updatedAt
}
Appointment {
String objectId PK
String clientId FK
String barberId FK
Date startTime
Date endTime
String serviceType
String status
String checkInCode
Date createdAt
Date updatedAt
}
HaircutHistory {
String objectId PK
String clientId FK
String barberId FK
String appointmentId FK
String serviceType
String fadeGuard
String cutLength
Date finishedAt
Date createdAt
Date updatedAt
}
ProductPreference {
String objectId PK
String clientId FK
String productName
String productCategory
String holdLevel
String scent
Boolean skinSensitivity
String notes
Date createdAt
Date updatedAt
}
AppointmentNote {
String objectId PK
String clientId FK
String appointmentId FK
String authorId FK
String noteType
String content
String priority
Boolean followUpNeeded
Date createdAt
Date updatedAt
}
Fluxo de Sincronização do Cliente
Fluxo de execução típico para login, busca de cliente, revisão do histórico de cortes de cabelo, anotações de compromissos e atualizações de perfil.
Ver fonte de sincronização
sequenceDiagram
participant Client as Client
participant App as Barber Shop Client Profile App
participant Back4app as Back4app Cloud
Client->>App: Sign in to view profile
App->>Back4app: POST /login
Back4app-->>App: Session token
Client->>App: Open haircut history
App->>Back4app: GET /classes/HaircutHistory?include=barber,appointment&order=-finishedAt
Back4app-->>App: HaircutHistory rows with barber and appointment
Client->>App: Review product preferences
App->>Back4app: GET /classes/ProductPreference?order=productCategory
Back4app-->>App: ProductPreference rows
Staff->>App: Add appointment note
App->>Back4app: POST /classes/AppointmentNote
Back4app-->>App: AppointmentNote objectId
App->>Back4app: Subscribe to Appointment updates
Back4app-->>App: LiveQuery event for status changeGuia de Campo
Referência completa de nível de campo para cada classe no esquema de perfil de cliente do salão de barbeiro.
| Campo | Tipo | Descrição | Obrigatório |
|---|---|---|---|
| objectId | String | Auto-generated unique identifier | Automático |
| firstName | String | Client first name | |
| lastName | String | Client last name | |
| phoneNumber | String | Primary phone number for booking updates | |
| String | Client email address | ||
| preferredBarber | Pointer<Barber> | Barber the client prefers to book with | — |
| notes | String | High-level profile notes for the client | — |
| createdAt | Date | Auto-generated creation timestamp | Automático |
| updatedAt | Date | Auto-generated last-update timestamp | Automático |
9 campos em Client
Acesso e Permissões
Como a estratégia ACL e CLP protege perfis de clientes, histórico de cortes de cabelo, preferências de produtos e notas de agendamento.
Controles de consentimento do cliente
Use notas de cliente e regras de perfil para que a loja armazene um perfil somente quando o cliente concorda em manter registros de <strong>Cliente</strong>, <strong>HistóricoDeCortesDeCabelo</strong> e <strong>PreferênciaDeProduto</strong>.
Acesso de barbeiro com escopo
Limitar escritas de <strong>Barbeiro</strong>, <strong>HistóricoDeCortesDeCabelo</strong> e <strong>NotaDeAgendamento</strong> aos membros da equipe designados para a consulta ou o perfil do cliente.
Detalhes do serviço privado
Mantenha notas de corte de cabelo, preferências de produtos e anotações de agendamento legíveis apenas para a equipe autorizada da loja e o registro correspondente do cliente.
Esquema JSON
Definição de esquema JSON bruto pronta para copiar para Back4app ou usar como referência de implementação.
{
"classes": [
{
"className": "Client",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"firstName": {
"type": "String",
"required": true
},
"lastName": {
"type": "String",
"required": true
},
"phoneNumber": {
"type": "String",
"required": true
},
"email": {
"type": "String",
"required": true
},
"preferredBarber": {
"type": "Pointer",
"required": false,
"targetClass": "Barber"
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Barber",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"displayName": {
"type": "String",
"required": true
},
"licenseNumber": {
"type": "String",
"required": false
},
"stationLabel": {
"type": "String",
"required": false
},
"specialties": {
"type": "Array",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "Appointment",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "Client"
},
"barber": {
"type": "Pointer",
"required": true,
"targetClass": "Barber"
},
"startTime": {
"type": "Date",
"required": true
},
"endTime": {
"type": "Date",
"required": false
},
"serviceType": {
"type": "String",
"required": true
},
"status": {
"type": "String",
"required": true
},
"checkInCode": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "HaircutHistory",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "Client"
},
"barber": {
"type": "Pointer",
"required": true,
"targetClass": "Barber"
},
"appointment": {
"type": "Pointer",
"required": false,
"targetClass": "Appointment"
},
"serviceType": {
"type": "String",
"required": true
},
"fadeGuard": {
"type": "String",
"required": false
},
"cutLength": {
"type": "String",
"required": false
},
"finishedAt": {
"type": "Date",
"required": true
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "ProductPreference",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "Client"
},
"productName": {
"type": "String",
"required": true
},
"productCategory": {
"type": "String",
"required": true
},
"holdLevel": {
"type": "String",
"required": false
},
"scent": {
"type": "String",
"required": false
},
"skinSensitivity": {
"type": "Boolean",
"required": false
},
"notes": {
"type": "String",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
},
{
"className": "AppointmentNote",
"fields": {
"objectId": {
"type": "String",
"required": false
},
"client": {
"type": "Pointer",
"required": true,
"targetClass": "Client"
},
"appointment": {
"type": "Pointer",
"required": true,
"targetClass": "Appointment"
},
"author": {
"type": "Pointer",
"required": true,
"targetClass": "Barber"
},
"noteType": {
"type": "String",
"required": true
},
"content": {
"type": "String",
"required": true
},
"priority": {
"type": "String",
"required": false
},
"followUpNeeded": {
"type": "Boolean",
"required": false
},
"createdAt": {
"type": "Date",
"required": false
},
"updatedAt": {
"type": "Date",
"required": false
}
}
}
]
}Gerar com Agente de IA
Use o Agente de IA Back4app para gerar um aplicativo de perfil de cliente de barbearia real a partir deste modelo, incluindo frontend, backend, autenticação, e fluxos de corte de cabelo, preferência de produto e anotações de agendamento.
Crie um backend de aplicativo de perfil de cliente para barbearia na Back4app com este exato esquema e comportamento. Esquema: 1. Cliente: primeiroNome (String, obrigatório), sobrenome (String, obrigatório), telefone (String, obrigatório), email (String, obrigatório), barbeiroPreferido (Ponteiro para Barbeiro), notas (String); objectId, createdAt, updatedAt (sistema). 2. Barbeiro: nomeExibicao (String, obrigatório), numeroLicenca (String), etiquetaEstacao (String), especialidades (Array<String>); objectId, createdAt, updatedAt (sistema). 3. Compromisso: cliente (Ponteiro para Cliente, obrigatório), barbeiro (Ponteiro para Barbeiro, obrigatório), horarioInicio (Data, obrigatório), horarioFim (Data), tipoServico (String, obrigatório), status (String, obrigatório), codigoCheckIn (String); objectId, createdAt, updatedAt (sistema). 4. HistoricoCorte: cliente (Ponteiro para Cliente, obrigatório), barbeiro (Ponteiro para Barbeiro, obrigatório), compromisso (Ponteiro para Compromisso), tipoServico (String, obrigatório), protecaoFade (String), comprimentoCorte (String), finalizadoEm (Data, obrigatório); objectId, createdAt, updatedAt (sistema). 5. PreferenciaProduto: cliente (Ponteiro para Cliente, obrigatório), nomeProduto (String, obrigatório), categoriaProduto (String, obrigatório), nivelRetencao (String), fragrancia (String), sensibilidadePele (Boolean), notas (String); objectId, createdAt, updatedAt (sistema). 6. NotaCompromisso: cliente (Ponteiro para Cliente, obrigatório), compromisso (Ponteiro para Compromisso, obrigatório), autor (Ponteiro para Barbeiro, obrigatório), tipoNota (String, obrigatório), conteudo (String, obrigatório), prioridade (String), seguimentoNecessario (Boolean); objectId, createdAt, updatedAt (sistema). Segurança: - Apenas funcionários autorizados podem criar ou editar perfis de barbeiros, cortes de cabelo, preferências de produtos, compromissos e notas de compromissos. Use Cloud Code para validação. - Proteja notas e detalhes de perfil do cliente com ACL/CLP. Auth: - Cadastro, login, logout. Comportamento: - Listar clientes, revisar histórico de cortes de cabelo, atualizar preferências de produtos, adicionar notas de compromissos e gerenciar status de compromissos. Entrega: - Aplicativo Back4app com esquema, ACLs, CLPs; frontend para perfis de clientes, histórico de cortes de cabelo, preferências de produtos, compromissos e notas.
Pressione o botão abaixo para abrir o Agente com este prompt de modelo preenchido.
Este é o prompt base sem um sufixo tecnológico. Você pode adaptar a pilha de front-end gerada depois.
API Sandbox
Experimente os endpoints REST e GraphQL contra o esquema de perfil de cliente da barbearia. As respostas usam dados simulados e não requerem uma conta Back4app.
Usa o mesmo esquema que este template.
Selecione Sua Tecnologia
Expanda cada cartão para ver como integrar Cliente, Nome e Barbeiro com sua pilha escolhida.
Flutter Perfil do Cliente da Barbearia Backend
React Perfil do Cliente da Barbearia Backend
React Nativo Perfil do Cliente da Barbearia Backend
Next.js Perfil do Cliente da Barbearia Backend
JavaScript Perfil do Cliente da Barbearia Backend
Android Perfil do Cliente da Barbearia Backend
iOS Perfil do Cliente da Barbearia Backend
Vue Perfil do Cliente da Barbearia Backend
Angular Perfil do Cliente da Barbearia Backend
GraphQL Perfil do Cliente da Barbearia Backend
REST API Perfil do Cliente da Barbearia Backend
PHP Perfil do Cliente da Barbearia Backend
.NET Perfil do Cliente da Barbearia Backend
O que você recebe com cada tecnologia
Cada pilha usa o mesmo esquema de perfil de cliente de barbearia e contratos de API.
Estrutura de dados unificada do cliente barbeiro
Gerencie facilmente Cliente, Barbeiro, HistóricoDeCortes, PreferênciaDeProduto, Compromisso e NotaDeCompromisso com um esquema consistente.
Histórico de cortes para a cadeira
Revise cortes anteriores, protetores de desvanecimento e notas de serviço antes da próxima consulta.
Rastreamento da preferência de produto
Armazene os produtos e fragrâncias que cada cliente prefere para recomendações precisas.
Fluxos de trabalho de notas de consulta
Capture detalhes da visita para que a recepção e os barbeiros compartilhem o mesmo contexto.
REST/GraphQL APIs para aplicativos de barbeiro
Integre aplicativos móveis, web e ferramentas internas por meio de APIs flexíveis.
Arquitetura extensível para barbearias
Adicione lembretes, associações ou classes de fidelidade depois, sem redefinir o modelo de perfil central.
Comparação de Framework do Portal do Cliente
Compare a velocidade de configuração, estilo de SDK e suporte a IA em todas as tecnologias suportadas.
| Framework | Tempo de Configuração | Benefício da Barbearia | Tipo de SDK | Suporte a IA |
|---|---|---|---|---|
| Cerca de 5 min | Uma única base de código para perfis de clientes em mobile e web. | SDK Digitado | Completo | |
| Menos de 5 minutos | Painel da web rápido para histórico de cortes de cabelo e anotações. | SDK Digitado | Completo | |
| ~3–7 min | Aplicativo móvel multiplataforma para consulta de clientes ao lado da cadeira. | SDK Digitado | Completo | |
| Configuração rápida (5 min) | Aplicativo web renderizado pelo servidor para recepção e barbeiros. | SDK Digitado | Completo | |
| ~3–5 min | Integração web leve para perfis de clientes de salão. | SDK Digitado | Completo | |
| Cerca de 5 min | Aplicativo nativo Android para histórico de cortes de cabelo e notas de agendamento. | SDK Tipado | Completo | |
| Menos de 5 minutos | Aplicativo nativo iOS para consulta de cadeira de barbeiro e recepção. | SDK Tipado | Completo | |
| ~3–7 min | Interface web Reactiva para telas de preferência do cliente. | SDK Tipado | Completo | |
| Configuração rápida (5 min) | Aplicativo web empresarial para fluxos de trabalho da equipe do salão. | SDK Digitado | Completo | |
| Menos de 2 min | API flexível GraphQL para histórico de cortes de cabelo e preferências. | API GraphQL | Completo | |
| Configuração rápida (2 min) | Integração REST API para atualizações de perfil e agendamento. | REST API | Completo | |
| ~3 min | Backend PHP do lado do servidor para registros de clientes de lojas. | REST API | Completo | |
| ~3–7 min | Backend .NET para sistemas de perfil de barbearia. | SDK digitado | Completo |
O tempo de configuração reflete a duração esperada desde o início do projeto até a primeira consulta de perfil de Cliente ou HaircutHistory usando este esquema de template.
Perguntas sobre o aplicativo de barbeiro
Perguntas comuns sobre como construir um backend de perfil de cliente para barbearia com este template.
Pronto para construir seu aplicativo de perfil de cliente de barbearia?
Comece seu projeto de perfil de cliente de barbearia em minutos. Nenhum cartão de crédito necessário.