Pular para o conteúdo principal

Account (Conta)

A Account e a entidade raiz do sistema multi-tenant. Representa uma empresa ou petshop e contem todos os dados isolados de outros clientes.

Descricao

Cada Account representa um cliente do sistema Onepet2. Todos os dados - clientes, vendas, estoque, financeiro - pertencem a uma Account especifica e sao completamente isolados de outras Accounts.

Dados

Campos Principais

CampoTipoObrigatorioDescricao
nameTextoSimNome da empresa/petshop
cnpjTextoSimCNPJ da empresa (formato: XX.XXX.XXX/XXXX-XX)
scoreNumeroNaoPontuacao/metrica da conta (uso interno)

Campos de Onboarding

CampoTipoDescricao
form_wizardNumeroEtapa atual do wizard de onboarding (0-4)
store_typesMultipla EscolhaTipos de loja selecionados
use_other_systemSelecaoSe usa outro sistema (sim/nao)
systemReferenciaSistema anterior (se aplicavel)
other_systemTextoNome do sistema anterior (se nao listado)
store_painsMultipla EscolhaDesafios atuais do negocio
store_wishesMultipla EscolhaObjetivos futuros desejados

Metricas (Calculadas)

CampoDescricao
stores_countQuantidade de filiais
mrrReceita Recorrente Mensal
arrReceita Recorrente Anual
ltvValor do Tempo de Vida do Cliente
ltTempo de Vida

Relacionamentos

Pertence a

EntidadeDescricaoObrigatorio
Owner (User)Usuario proprietario da contaSim
CS (OnepetUser)Customer Success responsavelNao
SystemSistema anterior (para migracao)Nao

Possui Muitos

EntidadeDescricao
StoresFiliais/unidades da empresa
UsersUsuarios com acesso a conta
CustomersClientes cadastrados
CagesGaiolas (Beauty Center)
CrmSettingsConfiguracoes de CRM

Muitos para Muitos

EntidadeDescricao
StoreTypesCategorias de tipo de loja
StorePainsDesafios/dores do negocio
StoreWishesObjetivos/desejos futuros

Regras de Negocio

Criacao de Account

  1. Proprietario Automatico

    • O usuario que cria a Account e automaticamente definido como Owner
    • O Owner tem acesso total a conta
  2. Primeira Filial Automatica

    • Ao criar uma Account, uma Store e automaticamente criada
    • A Store herda o nome e CNPJ da Account
  3. Importacao de Dados Padrao

    • Dados de configuracao sao importados de templates padrao
    • Inclui: categorias financeiras, categorias de estoque, fabricantes

Validacoes

CampoValidacaoQuando
nameObrigatorioSempre (wizard step 0)
cnpjObrigatorioSempre (wizard step 0)
store_typesObrigatorioWizard step 1 (pode pular)
store_painsObrigatorioWizard step 2 (pode pular)
store_wishesObrigatorioWizard step 3 (pode pular)

Fluxo de Onboarding

O onboarding segue um wizard de 5 etapas:

Etapas do Wizard

Etapaform_wizardCamposPode Pular
Registro0name, cnpjNao
Tipo de Loja1store_typesSim
Desafios2use_other_system, system, store_painsSim
Objetivos3store_wishesSim
Conclusao4--
  • Proximo: Valida e avanca para proxima etapa
  • Pular: Avanca sem validar (exceto etapa 0)
  • Voltar: Retorna para etapa anterior

Automacoes

Ao Criar Account

  1. Define Owner

    • Usuario atual e definido como proprietario
    • Account e vinculada ao usuario
  2. Cria Primeira Store

    • Store criada com mesmo nome e CNPJ
    • Define como current_store do Owner
  3. Importa Dados Seed (Job Assincrono)

    • Copia dados de configuracao padrao
    • Inclui categorias, settings de modulos
  4. Gera Fabricantes (Job Assincrono)

    • Copia fabricantes globais para a conta
    • Garante isolamento multi-tenant

Dados Criados na Store

Quando a primeira Store e criada, automaticamente sao gerados:

EntidadeNomeDescricao
Deposit"Deposito padrao"Deposito inicial de estoque
FinancialAccount"Tesouraria"Conta financeira principal
PaymentMethods(varios)Metodos de pagamento padrao
Seed Data(varios)Configuracoes de modulos

Campos Calculados

Informacoes de Onboarding

CampoDescricao
onboarding_imageImagem dinamica baseada na etapa atual
wizard_titleTitulo da etapa atual (i18n)
wizard_descriptionDescricao da etapa atual (i18n)

Informacoes de Suporte

CampoDescricao
cs_nameNome do Customer Success
cs_whatsappLink WhatsApp do CS
cs_avatar_urlAvatar do CS

Permissoes

AcaoQuem Pode
CriarQualquer usuario (novo cadastro)
EditarOwner da Account
ExcluirNao permitido (soft delete)
VerOwner e usuarios da Account

Restricoes Importantes

  1. Owner Imutavel: O Owner nao pode ser alterado apos criacao
  2. Minimo Uma Store: Toda Account deve ter pelo menos uma Store
  3. Wizard Linear: Etapas devem ser completadas em ordem (0→1→2→3→4)
  4. Dados Isolados: Todos os dados sao scoped por account_id
  5. Jobs Assincronos: Importacao de dados usa Sidekiq para nao bloquear

Tipos de Loja (StoreType)

Categorias disponiveis para classificar o petshop:

  • Petshop tradicional
  • Centro de estetica
  • Clinica veterinaria
  • Hotel/Hospedagem
  • Daycare
  • Delivery
  • E-commerce

Desafios do Negocio (StorePain)

Problemas comuns que o sistema pode resolver:

  • Gestao de estoque
  • Controle financeiro
  • Agendamento de servicos
  • Relacionamento com clientes
  • Emissao de notas fiscais
  • Integracao de sistemas

Objetivos Futuros (StoreWish)

Funcionalidades desejadas:

  • Automatizar processos
  • Aumentar vendas
  • Fidelizar clientes
  • Reduzir custos
  • Melhorar atendimento
  • Expandir para novas filiais