Voltar aos cases

Modelagem Hierárquica para Redes de Restaurantes

7 min
arquiteturamodelagemdomíniowhite-labelhierarquia

O Loyaltify é uma plataforma white-label de fidelidade voltada para redes de restaurantes. Um dos desafios centrais do projeto foi modelar corretamente a estrutura organizacional das redes atendidas — grupos controladores, múltiplas marcas, diversas unidades físicas e cardápios variáveis. Este case explora como a modelagem hierárquica se tornou um elemento estrutural da arquitetura do produto, delegando autonomia operacional às unidades com supervisão corporativa sem ambiguidade de responsabilidades.


O Problema: Modelar Hierarquias Complexas sem Ambiguidade


O Problema: Modelar Hierarquias Complexas sem Ambiguidade

O Contexto: Redes Gastronômicas Multi-Nível

Redes gastronômicas operam em múltiplos níveis organizacionais. É comum existir:

  • 🏢 Um grupo controlador (holding corporativa)
  • 🍔 Múltiplas marcas sob o mesmo grupo (McDonald's, Burger King style)
  • 📍 Diversas unidades físicas por marca
  • 📋 Cardápios que variam por unidade

O Desafio de Modelagem

No Loyaltify, uma decisão arquitetural importante foi tomada:

Promoções não seriam globais por marca ou grupo. Cada promoção pertence a uma unidade específica.

Isso reflete a realidade operacional: cada restaurante possui autonomia para definir suas campanhas locais, sem interferência de outras unidades.

Mas como representar isso tecnicamente sem gerar ambiguidade?


A Solução: Hierarquia Clara com Responsabilidades Bem Definidas

O Loyaltify foi estruturado com a seguinte hierarquia de domínio:

Estrutura Definida

Grupo → Marca → Unidade → Menu

Cada nível possui responsabilidades distintas:

NívelResponsabilidadeExemplo
GrupoVisão corporativa e consolidaçãoGrupo XYZ Holdings
MarcaIdentidade comercial e brandingBurger Prime, Pizza Express
UnidadeOperação local e definição de promoçõesBurger Prime - Shopping ABC
MenuCatálogo configurável por unidadeHambúrguer Especial da unidade

Decisão Crítica: Promoções no Nível da Unidade

Promoções e benefícios são definidos no nível da unidade.

Isso evita ambiguidade na aplicação de regras:

  • ✅ Cada unidade controla suas próprias campanhas
  • ✅ Não existe herança automática de promoções
  • ✅ Conflitos entre níveis hierárquicos são eliminados por design

Implementação: Desafios Técnicos Resolvidos

1. Separação Estrutural e Operacional

A hierarquia organiza a estrutura da rede.
Mas a lógica promocional pertence à operação local.

Isso significa que:

  • Não existe herança automática de promoções (pai → filho)
  • Cada unidade controla suas próprias campanhas
  • Conflitos entre níveis hierárquicos são eliminados por design

Exemplo prático:

Grupo possui 3 marcas. Marca A tem 5 unidades. Cada unidade define promoções independentemente. Unidade 1 pode ter "50% off", Unidade 2 pode não ter promoção nenhuma.

2. Permissões por Escopo

Mesmo que promoções sejam locais, o controle de acesso precisava respeitar a hierarquia:

PapelEscopo de AcessoPermissões
Admin CorporativoGrupo inteiroVisão ampla, relatórios consolidados
Gestor de MarcaMarca específicaSupervisão de unidades da marca
Operador de UnidadeUnidade específicaControle direto de promoções e menu

A autorização considera tanto o papel quanto o escopo organizacional.

3. Menus Independentes por Unidade

Mesmo sob a mesma marca, unidades podem:

  • 🍔 Ter itens exclusivos (pizza especial da região)
  • 💰 Ajustar preços (baseado em custos locais)
  • 🎁 Criar combinações específicas (combo local)

Como promoções se vinculam ao menu, a modelagem precisava garantir integridade entre:

  • Itens cadastrados
  • Regras promocionais
  • Registro de compras

Solução: Foreign keys com cascata controlada + validações de negócio em nível de aplicação.


Impacto e Resultados Mensuráveis

A modelagem hierárquica permitiu que o Loyaltify:

  • Representasse a estrutura real de redes gastronômicas
  • Delegasse autonomia operacional às unidades
  • Mantivesse supervisão corporativa (relatórios consolidados)
  • Evitasse complexidade desnecessária em regras promocionais
  • Escalasse organicamente — adicionar nova marca/unidade é trivial

Resultado tangível: Zero conflitos de promoções sobrepostas. Zero ambiguidade de responsabilidade.

"A hierarquia organiza. A unidade decide."


Decisões Técnicas Relevantes

1. Por que promoções no nível da unidade, não no grupo?

Trade-off analisado:

AbordagemBenefícioProblema
Promoções globais (grupo)Simplicidade inicialConflitos quando unidade quer promoção diferente
Promoções por unidadeAutonomia operacionalMais linhas no banco, mas zero ambiguidade

Conclusão: Autonomia operacional vence. Redes reais operam assim.

2. Como implementar hierarquia no banco de dados?

Modelo relacional:

grupos (id, nome)
marcas (id, grupo_id, nome)
unidades (id, marca_id, nome, endereco)
menus (id, unidade_id, nome)
promocoes (id, unidade_id, descricao, desconto)

Benefícios:

  • Queries simples com JOINs
  • Integridade referencial via FK
  • Fácil de entender e manter

3. Como validar que uma promoção só se aplica à unidade certa?

Validação em múltiplas camadas:

  1. Banco de dados: FK constraints
  2. Aplicação: Validações de negócio
  3. API: Autorização por escopo

Aprendizados Arquiteturais

Modelagem de domínio não é apenas estrutura de dados. Ela define onde está a responsabilidade operacional.

Princípios aplicados:

  1. Modelar a realidade, não o ideal

    • Redes reais têm autonomia local
    • Não force centralização artificial
  2. Separar estrutura de operação

    • Hierarquia organiza
    • Regras promocionais são locais
  3. Eliminar ambiguidade por design

    • Se herança cria conflitos, não useherança

Quando aplicar modelagem hierárquica?

Essa abordagem é adequada quando:

  • Você modela organizações com múltiplos níveis
  • Autonomia operacional é requisito de negócio
  • Supervisão corporativa precisa coexistir com controle local
  • Estrutura organizacional muda frequentemente (novas marcas/unidades)

Quando NÃO aplicar:

  • Estrutura completamente flat (todos iguais)
  • Hierarquia puramente conceitual (sem impacto operacional)
  • CRUD simples sem lógica de negócio

Conclusão Estratégica

A modelagem hierárquica do Loyaltify demonstra que arquitetura de domínio deve refletir a realidade operacional, não abstração conceitual desconectada.

Ao separar claramente:

  1. Estrutura organizacional (hierarquia)
  2. Controle promocional (operação local)

Criamos um sistema que:

  • É coerente com o mundo real
  • Elimina ambiguidade de responsabilidade
  • Escala organicamente
  • Facilita onboarding de novos clientes

"A hierarquia não complica o sistema. Ela o torna coerente com o mundo real."


Continue Explorando

Se você está modelando domínios hierárquicos ou organizacionais:

Precisa de consultoria em domain modeling? Conheça nossos serviços.