Pular para conteúdo

7. Produtos, Itens e Templates ⭐

📍 Onde fica: Configurações → Produtos e Configurações → Itens / Templates 👤 Quem pode: Administrador, Operacional, Financeiro 🔗 Pré-requisito: Tipos de Salto criados. ⭐ A parte mais importante do onboarding. É aqui que você define o que é cobrado e como o dinheiro é repartido.

📎 Existe um guia técnico complementar (em inglês, com diagramas do motor de cobrança): Motor de Cobrança (anexo técnico). Este documento é a versão amigável em português.

👉 Quer ver tudo junto, do cadastro à carteira? Veja o exemplo prático do "Tandem Completo".


Os 3 conceitos

PRODUTO  ── o que o cliente paga (ex.: "Tandem Completo" R$1200)
   ├── ITENS DO PRODUTO ── como esse valor é repartido
   │       ├── Vaga Avião   → repassa ao dono da aeronave
   │       ├── Taxa Tandem  → fica com a DZ
   │       ├── Comissão TM  → vai pro instrutor (performer)
   │       └── Comissão Cam → vai pro videomaker (performer)
   └── PREÇOS ── histórico versionado por data
           R$1000 (jan→mar) · R$1200 (mar→hoje) · R$1400 (agendado)
  • Produto = o que aparece pra cobrar. Sem itens, toda a receita vai pra DZ.
  • Itens do produto = a "receita de bolo" de como repartir o valor entre DZ, instrutores, dobradores, agências e donos.
  • Templates de item = blocos de repasse reutilizáveis (ex.: "Comissão de câmera padrão") que você liga em vários produtos.
  • Preços = versionados por data; a cobrança usa o preço vigente na data do manifesto.

Tipos de produto

Tipo Uso
Salto (jump) Saltos vendidos (Tandem, AFF, esporte)
Aluguel (rental) Aluguel de equipamento
Serviço (service) Serviços avulsos
Mercadoria (merchandise) Produtos físicos

Campos relevantes do produto: nome, código, descrição, altitude (em pés), reservável (aparece no fluxo de reservas), repassa aeronave e ativo.

💡 O toggle Repassa custo pro avião só aparece quando o tipo é Salto — outros tipos (aluguel, serviço, mercadoria) não consomem vaga no avião. Se você trocar o tipo de um produto que tinha o toggle ligado para algo diferente de Salto, o valor é zerado automaticamente ao salvar.


Itens do produto: para quem vai o dinheiro?

Cada item tem um tipo de destinatário (recipient_type) que decide para onde o valor segue:

Destinatário Para quem vai Quando usar
performer (com tipo de salto) O staff cujo slot tem aquele tipo de salto no grupo Comissões de pacote (instrutor de tandem, JM de AFF)
performer (sem tipo de salto) O staff que está naquele slot Comissões de add-on (câmera/coach que têm produto próprio)
rta O Responsável Técnico da decolagem Taxa de RTA
packer (dobrador) O dobrador Taxa de dobra embutida no produto
radio (rádio AFF) O staff de campo que reivindicar no portal Repasse do rádio em AFF (DZ paga) — ver §"Itens de rádio"
agency (agência) A agência marcada no slot Comissão de agência que trouxe o cliente
static_party Uma pessoa/empresa fixa Repasse sempre pra mesma parte (ex.: taxa fixa pro João)
equipment O dono do equipamento usado no slot Repasse de aluguel de rig

ℹ️ Quando um item está ligado a um template, é o template que define o tipo de destinatário e o cálculo. O campo no item fica só por compatibilidade.


Os dois modelos de comissão

Esta é a decisão mais importante ao montar um produto. Existem dois jeitos de remunerar o staff:

1) Modelo Pacote (preço all-inclusive)

O cliente paga um único preço que já inclui tudo. O staff não tem produto próprio — a comissão sai de dentro do produto do cliente, roteada pelo tipo de salto.

Produto "Tandem Completo" R$1200
├── Vaga Avião x2    R$400  → dono do avião
├── Taxa Tandem      R$200  → DZ
├── Comissão TM      R$300  → performer [tipo: TM-PILOTO]
└── Comissão Câmera  R$300  → performer [tipo: CÂMERA]

No manifesto (grupo):
  Maria   (Tandem, cliente)  → produto: Tandem Completo
  Paulo   (TM-PILOTO, staff) → produto: nenhum
  Câmera  (CÂMERA, staff)    → produto: nenhum

Ao pousar:
  Maria  débito  R$1200
  Paulo  crédito R$300  (achou o slot TM-PILOTO)
  Câmera crédito R$300  (achou o slot CÂMERA)

2) Modelo Add-on (staff tem produto próprio)

O staff tem seu próprio produto com preço próprio. O custo dele é dividido igualmente entre os pagantes do grupo, e a comissão vai pra ele.

Produto "AFF-7" R$400          Produto "Câmera" R$200
├── Vaga Avião  R$200 → DZ     ├── Vaga Avião  R$80  → DZ
├── Taxa AFF    R$100 → DZ     └── Comissão Cam R$120 → performer (sem tipo)
└── Comissão JM R$100 → performer [tipo: AFF-JM]

No manifesto (grupo):
  João    (AFF, cliente)  → produto: AFF-7
  Ricardo (AFF-JM, staff) → produto: nenhum
  Câmera  (CÂMERA, staff) → produto: Câmera

Ao pousar:
  João    débito  R$400 (AFF-7)
  João    débito  R$200 (Câmera, dividido 1/1)
  Ricardo crédito R$100 (comissão JM)
  Câmera  crédito R$120 (comissão câmera add-on)

🧠 Regra de ouro: comissão com tipo de salto = pacote (acha o staff pelo tipo). Comissão sem tipo de salto = add-on (o staff já está no slot do produto).


Quando o manifesto pede um "Operador" no produto?

Ao adicionar um produto complementar (rental/service) num slot do manifesto, o sistema só pergunta quem é o operador quando o produto tem algum item cujo destinatário é dinâmico — ou seja, depende de quem está realizando o serviço naquela vaga:

  • performer (sem tipo de salto, modo add-on) ou owner (legado) → pede operador
  • rta, agency, packer, radio, static_party, equipment, companynão pede; o destinatário sai do contexto (RTA da load, agência do slot, dobrador que reivindicou, staff que reivindicou o rádio, etc.)

Exemplo prático:

Produto Tem item performer? Manifesto pede operador? Resumo
Taxa de parcelamento (5x/10x) não Receita pura da DZ
Edição de vídeo com comissão pro editor sim (performer) Receita + despesa do item
Aluguel de gear não (equipment estático) Receita + repasse pro dono do rig

"Pago pelo grupo" (rateio)

No manifesto, um slot pode ser marcado como pago pelo grupo (paid_by_group):

  • Slots de staff são tipicamente pagos pelo grupo → seu custo é rateado igualmente entre os pagantes.
  • O cliente que paga é quem tem paid_by_group = falso.
  • O último pagante absorve o arredondamento (centavos).

Veja exemplos completos (coach com vários atletas, etc.) no guia técnico.


Templates de Item (reutilizáveis)

📍 Configurações → Itens / Templates

Se você repete o mesmo repasse em vários produtos (ex.: "comissão de câmera = R$120" em 5 produtos diferentes), crie um template e ligue ele nos produtos. Mudou o valor? Muda em um lugar só.

O template define:

Campo O que é
Tipo de destinatário performer / rta / packer / agency / static_party / equipment
Tipo de salto (quando performer de pacote)
Categoria de equipamento (para itens de equipamento: tandem/student/pro)
Modo de cálculo valor fixo / por vaga paga / % da receita
Preços versionados histórico por data, igual aos produtos

Modos de cálculo: - Valor fixo — um valor por uso. - Por vaga paga — multiplica pelo nº de vagas pagas. - % da receita — percentual sobre a receita do produto.

⚠️ O modo de cálculo é imutável depois que o template é criado. Trocar de "fixo" para "por vaga paga" exigiria reconfigurar o preço vigente — então o sistema bloqueia a mudança na edição. Se precisar trocar o modo, crie um novo template com o modo correto e ligue ele nos produtos no lugar do antigo. Para alterar o valor (mantendo o mesmo modo), use a opção Gerenciar Preços e defina um novo preço vigente.

💱 Decimais: os campos de valor aceitam vírgula (5,00) ou ponto (5.00) indistintamente — útil para colar valores no formato pt-BR.


Roteamento de repasses (pessoa → org)

Por padrão, o repasse de uma pessoa (RTA, comissão de instrutor/câmera) cai na carteira pessoal dela. Quando a pessoa tem uma empresa (CNPJ) vinculada, dá pra rotear repasses específicos para a carteira da empresa.

  • A escolha é por template de item — ex.: "RTA Pay" vai pro CNPJ, mas a "Comissão de instrutor" fica pessoal (templates diferentes).
  • Configurado na edição da pessoa, na seção "Roteamento de repasses": um seletor por template → "Conta pessoal" (padrão) ou uma das empresas vinculadas (a empresa precisa estar vinculada antes, na seção "Empresas (CNPJ)").
  • Só vale para repasses baseados em pessoa: RTA e performer (comissão por papel). Aluguel de gear, agência e parte fixa já têm destinatário próprio e não roteiam.
  • O crédito vai pra carteira da empresa, mas a transação mantém quem gerou o repasse (a atribuição por pessoa continua certa nos relatórios) e a descrição ganha o sufixo "(via Nome)".

⚠️ Defina a rota antes de cobrar o load. Trocar a rota depois que o load já foi cobrado não move créditos já liquidados. Detalhes da mecânica no Motor de Cobrança e em Organizações.


Preços versionados

Tanto produtos quanto templates têm histórico de preço com data de vigência:

Tandem Completo:
jan/01        mar/01        jun/01
  │─ R$1000 ─│─ R$1200 ─│─ R$1400 ─→
    passado     atual      agendado

Manifesto em 15/fev → cobra R$1000
Manifesto em 10/abr → cobra R$1200
Manifesto em 01/jul → cobra R$1400
  • A cobrança usa o preço vigente na data do manifesto, não na data de hoje.
  • Você pode agendar uma mudança de preço futura sem mexer no preço atual.
  • O sistema impede sobreposição de períodos de preço.

⚠️ Atenção: os valores dos itens de comissão (quando definidos direto no item, sem template) não são versionados — são atualizados no lugar. Como a cobrança roda no mesmo dia (ao pousar), isso não costuma ser problema; a transação na carteira guarda o valor real cobrado como registro histórico.


Itens de rádio (AFF e avulso)

O item radio representa o repasse pelo rádio executado durante o salto — tipicamente em AFF, quando um instrutor ou staff de campo guia o aluno pelo pouso. Quem paga é a DZ (não o aluno), igual ao item packer.

Duas formas de cadastrar

1. Embarcado no produto AFF (recomendado quando todo aluno AFF leva rádio)

Produto "AFF Nível 1" R$1500
├── Vaga Avião x2  R$400  → dono do avião
├── Taxa AFF       R$400  → DZ
├── Comissão JM    R$500  → performer [tipo: AFF-JM]
├── Comissão Saída R$100  → performer [tipo: AFF-SAÍDA]
├── Dobra AFF       R$30  → packer
└── Rádio AFF       R$30  → radio [tipo: AFF-ALUNO]

Cadastre um item recipient_type=radio ligado ao template "RADIO" com valor fixo. Recomendado amarrar jump_type_id ao tipo de salto do aluno (AFF Nível X) — evita que o item dispare em slots que não deveriam (TM-Piloto, Saída, etc.).

2. Avulso como complemento (para alunos formados ou casos pontuais)

Quando o atleta já é formado mas pediu rádio só naquele salto, crie um produto "Rádio Avulso" com um item radio interno (sem jump_type_id), e adicione ele como complemento no slot pelo manifesto (mesmo fluxo do aluguel de equipamento).

A regra de precedência é a mesma do packer: se o slot tem complemento de rádio, ele vence sobre qualquer item de rádio no produto principal.

Como funciona o repasse

  1. Cadastre o item radio com valor (via template valor fixo).
  2. Atribua a capability radio.claim à role Staff de campo (já vem ativa no padrão).
  3. No portal do atleta, qualquer staff com radio.claimtodos os loads com ícone de walkie-talkie nos slots elegíveis.
  4. Após o pouso, o staff que efetivamente fez o rádio clica "Fiz o rádio" → entry dz_paid criada → vai pra carteira dele.
  5. Mesma janela de desfazer (undo) do packer: enquanto o manifesto estiver aberto.

ℹ️ Não há auto-criação ao aterrissar (diferente do packer em alguns cenários). Quem fez o trabalho reivindica — evita atribuir errado a um staff que estava pré-marcado mas não fez.


Passo a passo recomendado

  1. Crie os templates dos repasses recorrentes (câmera, coach, taxa de dobra).
  2. Crie o produto com nome, tipo e preço base.
  3. Adicione os itens (use templates quando possível).
  4. Marque repassa aeronave se o dono do avião recebe por vaga.
  5. Marque reservável se o produto entra no fluxo de reservas.
  6. Confira a soma dos itens em relação ao preço (a diferença fica com a DZ).

↕️ Reordenar itens. Na tela do produto, arraste e solte os itens pra mudar a ordem em que aparecem no extrato/detalhe. A ordem é só de exibição — não muda nada na cobrança.


✅ Pronto quando

  • [ ] Produtos de cliente criados (Tandem, AFF, Esporte, Solo...).
  • [ ] Modelo de comissão escolhido por produto (pacote vs add-on).
  • [ ] Templates de repasses recorrentes criados.
  • [ ] Preço e "repassa aeronave" conferidos.

➡️ Próximo: 8. Pessoas, Pilotos e Licenças