Bom dia Alisson!
É possível separar as barbearias de várias maneiras.
Você pode ter várias cópias (instâncias) do sistema (código fonte e banco de dados) em servidores diferentes, ou até mesmo no mesmo servidor; mas isso tem um inconveniente óbvio que seria a difícil manutenção. Qualquer alteração do código fonte precisaria ser feita em vários lugares. É melhor, mais fácil e mais barato ter um só código fonte.
Você pode separar as barbearias no próprio código, ou em algum arquivo de configuração, mas eu creio que nenhum dos dois não seja boa prática pois quando você sair de 4 barbearias para 40, depois aumentar para 100, depois pode diminuir para 70, vai ter muito trabalho braçal para manter isso e é lógico que ninguém quer fazer isso. Seria bom alguém mais experiente e com mais conhecimento que eu falar algo a respeito aqui.
Entendo que o melhor lugar para separar é o banco de dados.
Você pode ter uma separação, por exemplo, na tela de login do Sistema. Claro que a tela de login é só o "front", a separação mesmo é lá por baixo dos panos. O usuário seleciona qual a barbearia dele, digita login e senha e autentica. E lista de barbearias pode vir de uma tabela de configuração do banco de dados.
O lado ruim dessa opção é que todo mundo vai saber quais são as barbearias que você atende, isso pode ser ruim. Dá pra contornar substituindo a "combobox" por um campo de texto mesmo, onde o usuário digita o nome da barbearia, aí ninguém saberia quais barbearias são seus clientes.
Você na realidade nem precisa forçar o usuário a dizer qual a barbearia dele, o login dele pode estar associado a uma barbearia e o sistema já vai direcioná-lo para a barbearia certa. Um usuário da barbearia A não vai ver as informações da barbearia B e vice-versa.
Enfim, espero ter ajudado.
Qualquer coisa estamos às ordens!