Pacotes de Assinatura
Pacotes de assinatura permitem que os clientes paguem antecipadamente por beneficios de viagem agrupados durante um periodo definido. Este guia aborda como criar, configurar e gerenciar planos de assinatura que fornecem valor recorrente aos seus usuarios.
Visao Geral
Pacotes de assinatura sao planos pre-pagos que concedem aos clientes cotas de desbloqueios, minutos de viagem, minutos de pausa e/ou distancia durante um periodo definido. Diferente dos pacotes de viagem unicos, as assinaturas podem opcionalmente renovar automaticamente e fornecer beneficios continuos a clientes fieis.
Principais Recursos
- Cotas flexiveis - Inclua desbloqueios, minutos, minutos de pausa e/ou distancia
- Dois tipos de limite - Limites diarios (resetam a cada dia) ou limites de duracao total (total para o periodo da assinatura)
- Suporte a renovacao automatica - Renovacao automatica opcional quando a assinatura expira
- Escopo por localizacao - Restrinja pacotes a subcontas (localizacoes) especificas
- Segmentacao por tipo de veiculo - Limite beneficios a modelos de veiculos especificos
- Conteudo internacionalizado - Titulos e descricoes em multiplos idiomas
- Ordenacao por etapa - Controle a ordem de exibicao no aplicativo movel
Acessando Pacotes de Assinatura
Navegue ate Precos
Va para o Painel e clique em Precos na navegacao lateral.
Encontre a Secao de Assinaturas
Role ate a secao Pacotes de Assinatura.
Gerencie Pacotes
Clique em Adicionar Pacote para criar uma nova assinatura ou use os icones de editar/excluir para as existentes.
Especifico por Localizacao
Pacotes de assinatura sao gerenciados por localizacao. Mude para a subconta apropriada antes de criar pacotes.
Configuracao do Pacote
Informacoes Basicas
Titulo (i18n)
O nome de exibicao mostrado aos clientes, com traducoes para multiplos idiomas.
| Campo | Descricao | Exemplo |
|---|---|---|
| Titulo em Ingles | Nome do pacote em ingles | "Weekly Unlimited" |
| Titulo em Espanhol | Nome do pacote em espanhol | "Ilimitado Semanal" |
| Titulo em Portugues | Nome do pacote em portugues | "Ilimitado Semanal" |
Boas Praticas:
- Mantenha titulos concisos (2-4 palavras)
- Destaque o beneficio principal
- Use nomenclatura consistente entre pacotes
Descricao (i18n)
Descricao estendida opcional explicando os beneficios do pacote.
| Campo | Descricao | Exemplo |
|---|---|---|
| Descricao em Ingles | Detalhes completos em ingles | "Unlimited rides for 7 days" |
| Descricao em Portugues | Detalhes completos em portugues | "Viagens ilimitadas por 7 dias" |
Numero da Etapa
Controla a ordem de exibicao no aplicativo movel e painel.
| Valor | Posicao de Exibicao |
|---|---|
| 1 | Primeiro (topo) |
| 2 | Segundo |
| 3+ | Posicoes inferiores |
Numeros menores aparecem primeiro. Use isso para destacar seus pacotes mais populares ou recomendados.
Precificacao
Preco (Centavos)
O valor que os clientes pagam pela assinatura, armazenado em centavos.
| Entrada | Valor Armazenado | Exibicao |
|---|---|---|
| 4999 | 4999 centavos | R$ 49,99 |
| 12499 | 12499 centavos | R$ 124,99 |
| 24999 | 24999 centavos | R$ 249,99 |
Pontos de Preco Comuns:
- Passe semanal: R$ 49,99 - R$ 74,99
- Passe mensal: R$ 124,99 - R$ 249,99
- Passe sazonal: R$ 499,99 - R$ 749,99
Duracao
Dias de Duracao
Por quanto tempo a assinatura permanece ativa apos a compra.
| Dias | Equivalente |
|---|---|
| 7 | 1 Semana |
| 14 | 2 Semanas |
| 30/31 | 1 Mes |
| 90/93 | 3 Meses |
| 365/366 | 1 Ano |
O aplicativo movel formata automaticamente estes em strings amigaveis (ex: "1 Semana", "1 Mes").
Tipo de Limite
Escolha como as cotas sao consumidas durante o periodo da assinatura:
Limite Diario
Cotas resetam a meia-noite de cada dia.
| Comportamento | Exemplo |
|---|---|
| Reseta diariamente | 60 minutos/dia x 30 dias = 1.800 minutos potenciais |
| Limite por dia | Cliente pode usar ate 60 minutos cada dia |
| Nao utilizado nao acumula | Minutos nao usados do Dia 1 nao passam para o Dia 2 |
Melhor Para:
- Passes de pendulares (padroes de uso diario)
- Aplicacao de uso justo
- Beneficios diarios previsiveis
Duracao Total
Cotas sao um pool total para todo o periodo da assinatura.
| Comportamento | Exemplo |
|---|---|
| Pool total | 500 minutos para todo o periodo de 30 dias |
| Uso flexivel | Cliente pode usar 100 minutos em um dia, 0 no outro |
| Use a qualquer momento | Flexibilidade total dentro do periodo |
Melhor Para:
- Usuarios casuais com agendas variaveis
- Passes de ferias/turistas
- Ofertas de maxima flexibilidade
Renovacao Automatica
Habilitar renovacao automatica quando a assinatura expira.
| Configuracao | Comportamento |
|---|---|
| Habilitada | Cobra automaticamente o cliente e estende a assinatura |
| Desabilitada | Assinatura termina; cliente deve recomprar manualmente |
Notas sobre Renovacao Automatica
A renovacao automatica requer um metodo de pagamento salvo. Os clientes podem cancelar a renovacao automatica a qualquer momento. Renovacoes com falha notificam o cliente via notificacao push e email.
Cotas Incluidas
Configure quais beneficios a assinatura fornece. Deixe campos em branco/null para beneficios nao incluidos.
Desbloqueios Incluidos
Numero de desbloqueios gratuitos incluidos na assinatura.
| Valor | Comportamento |
|---|---|
| null | Taxa de desbloqueio nao coberta |
| 1 | Um desbloqueio gratis por periodo (ou por dia) |
| 10 | Dez desbloqueios gratis total (ou por dia) |
| 999 | Essencialmente desbloqueios ilimitados |
Com daily_limit: Desbloqueios resetam cada dia
Com whole_duration: Desbloqueios sao um pool total
Minutos de Viagem
Minutos de viagem ativa incluidos.
| Valor | Comportamento |
|---|---|
| null | Sem cobertura de minutos |
| 60 | 60 minutos por periodo (ou por dia) |
| 300 | 300 minutos total (ou por dia) |
| 9999 | Essencialmente ilimitado |
Minutos de Pausa
Minutos de tempo pausado incluidos.
| Valor | Comportamento |
|---|---|
| null | Taxas de pausa cobradas normalmente |
| 30 | 30 minutos de pausa por periodo (ou por dia) |
| 120 | 120 minutos de pausa total (ou por dia) |
Distancia de Viagem (KM)
Quilometros de distancia incluidos.
| Valor | Comportamento |
|---|---|
| null | Distancia nao coberta |
| 50 | 50 km por periodo (ou por dia) |
| 500 | 500 km total (ou por dia) |
Precos por Distancia
Cotas de distancia so se aplicam a veiculos usando precos por distancia. Se seus veiculos usam precos por minuto, cotas de distancia nao serao consumidas.
Opcoes de Escopo
Localizacao (Subconta)
Por padrao, pacotes estao vinculados a subconta onde sao criados.
| Configuracao | Comportamento |
|---|---|
| Especifico de Subconta | Pacote valido apenas naquela localizacao |
| Global (null) | Pacote valido em qualquer localizacao |
Casos de Uso:
- Passes especificos por cidade
- Assinaturas apenas para campus
- Passes de viagem multi-localizacao
Tipos de Veiculos
Restringir a assinatura a modelos de veiculos especificos.
| Configuracao | Comportamento |
|---|---|
| null | Aplica-se a todos os tipos de veiculos |
| [id-e-bike] | Aplica-se apenas a e-bikes |
| [id-patinete, id-bike] | Aplica-se a patinetes e bikes |
Casos de Uso:
- Passes premium de e-bike
- Planos de pendulares apenas patinete
- Promocoes especificas de veiculos
Status de Ativacao
Ativado
Controla se o pacote esta disponivel para compra.
| Status | Comportamento |
|---|---|
| Nao Ativado (false) | Pacote e rascunho; nao visivel aos clientes |
| Ativado (true) | Pacote esta ativo; clientes podem comprar |
Imutavel Quando Ativo
Uma vez que um pacote e ativado, ele se torna imutavel. Voce nao pode editar um pacote ativado - voce deve desativa-lo e criar um novo. Isso protege assinaturas existentes de mudanças inesperadas.
Criando um Pacote de Assinatura
Passo 1: Informacoes Basicas
- Numero da Etapa - Defina a ordem de exibicao (1 = primeiro)
- Titulo - Insira o titulo nos idiomas suportados
- Descricao (Opcional) - Adicione descricao estendida
Passo 2: Precos e Duracao
- Preco - Insira o preco em centavos (ex: 4999 para R$ 49,99)
- Duracao - Defina o numero de dias
- Tipo de Limite - Escolha
daily_limitouwhole_duration - Renovacao Automatica - Habilite se desejado
Passo 3: Cotas
Configure o que esta incluido:
- Desbloqueios - Numero de desbloqueios gratis
- Minutos - Minutos de viagem incluidos
- Minutos de Pausa - Minutos de pausa incluidos
- Distancia - Distancia incluida (km)
Deixe qualquer campo em branco se nao incluido.
Passo 4: Segmentacao (Opcional)
- Tipos de Veiculos - Selecione modelos de veiculos especificos ou deixe para todos
- A localizacao e automaticamente definida para sua subconta atual
Passo 5: Salvar como Rascunho
Clique em Criar para salvar. O pacote permanece em rascunho (nao ativado) ate voce estar pronto.
Passo 6: Ativar
Quando estiver pronto para ir ao ar:
- Revise todas as configuracoes cuidadosamente
- Alterne Ativado para verdadeiro
- Clique em Salvar
Revise Antes de Ativar
Voce nao pode editar pacotes ativados. Verifique tudo duas vezes antes de ativar. Se precisar fazer alteracoes, voce tera que desativar e criar um novo pacote.
Como as Assinaturas Sao Aplicadas
Durante a Cobranca
Assinaturas sao aplicadas na Etapa 3 do pipeline de cobrança, apos beneficios de nivel e antes dos pacotes de viagem:
Cobranças Base -> Beneficios de Nivel -> ASSINATURA -> Pacotes -> Dinamico -> Promo -> Final
Logica de Consumo
- Encontrar assinaturas ativas para o cliente
- Filtrar por localizacao - Correspondencia especifica de subconta primeiro, depois global
- Ordenar por data de inicio - Assinatura mais antiga usada primeiro
- Verificar reset necessario - Para limites diarios, verificar se meia-noite passou
- Consumir cotas - Deduzir desbloqueios, minutos, pausa, distancia conforme necessario
- Calcular desconto - Valor total dos beneficios consumidos
- Atualizar rastreamento - Registrar uso e atualizar cotas restantes
Reset de Limite Diario
Para assinaturas daily_limit:
- O sistema verifica o timestamp
last_reset_at - Se um novo dia comecou, as cotas sao resetadas para seus valores completos
- O reset acontece na primeira viagem do novo dia
Rastreamento de Uso
Cada compra de assinatura rastreia:
remaining_minutes- Minutos ainda disponiveisremaining_pause_minutes- Minutos de pausa ainda disponiveisremaining_distance_km- Distancia ainda disponivelremaining_unlocks- Desbloqueios ainda disponiveisusage_events- Array de registros de uso por viagemtotal_value_applied_cents- Valor total de desconto aplicado
Gerenciando Assinaturas
Visualizando Pacotes
A lista de pacotes exibe:
| Coluna | Descricao |
|---|---|
| Etapa | Ordem de exibicao |
| Titulo | Nome do pacote |
| Preco | Custo em reais |
| Duracao | Periodo da assinatura |
| Tipo de Limite | Diario ou duracao total |
| Renovacao Auto | Habilitada/desabilitada |
| Status | Ativado ou rascunho |
Editando Pacotes
Pacotes em rascunho (nao ativados):
- Clique no icone Editar
- Modifique quaisquer campos
- Clique em Salvar
Pacotes ativados:
- Nao podem ser editados
- Devem ser desativados primeiro
- Crie um novo pacote com as alteracoes desejadas
Desativando Pacotes
Para parar novas compras:
- Clique no icone Editar
- Alterne Ativado para falso
- Clique em Salvar
Assinaturas ativas existentes continuam funcionando. Apenas novas compras sao impedidas.
Excluindo Pacotes
- Clique no icone Excluir
- Confirme a exclusao
Exclusao Suave
Pacotes excluidos sao soft-deleted (marcados com deleted_at). Compras existentes permanecem validas e continuam funcionando ate expirarem.
Integracao com Aplicativo Movel
Exibicao de Pacotes
O aplicativo movel mostra pacotes de assinatura com:
- Titulo (localizado)
- Descricao (localizado)
- Preco (formatado, ex: "R$ 49,99")
- Duracao (formatado, ex: "1 Semana")
- Cotas incluidas
- Aplicabilidade de localizacao
- Indicador de ja comprado
Fluxo de Compra
Selecionar Pacote
O cliente escolhe um pacote de assinatura das opcoes disponiveis.
Escolher Pagamento
O cliente seleciona o metodo de pagamento (saldo da carteira ou cartao).
Processar Pagamento
O sistema cria PaymentIntent do Stripe (para pagamentos com cartao) ou deduz da carteira.
Confirmar Compra
O cliente confirma os detalhes do pagamento.
Ativar Assinatura
O registro subscription_package_purchases e criado e os beneficios ficam imediatamente disponiveis.
Visualizando Assinaturas Ativas
Os clientes veem suas assinaturas ativas com:
- Nome e descricao do pacote
- Cotas restantes
- Data de expiracao
- Estatisticas de uso
- Opcoes de cancelar/gerenciar
Cenarios Comuns
Cenario 1: Passe Semanal de Pendular
Objetivo: Pendular diario com uso previsivel
Configuracao:
- Titulo: "Pendular Semanal"
- Preco: R$ 74,99 (7499 centavos)
- Duracao: 7 dias
- Tipo de Limite: daily_limit
- Desbloqueios Incluidos: 2/dia
- Minutos de Viagem: 60/dia
- Minutos de Pausa: 15/dia
- Renovacao Auto: Sim
Resultado: O cliente recebe 2 desbloqueios gratis e 60 minutos cada dia por uma semana.
Cenario 2: Mensal Ilimitado
Objetivo: Usuario frequente com agenda variavel
Configuracao:
- Titulo: "Mensal Ilimitado"
- Preco: R$ 249,99 (24999 centavos)
- Duracao: 30 dias
- Tipo de Limite: whole_duration
- Desbloqueios Incluidos: 100
- Minutos de Viagem: 2000
- Minutos de Pausa: 500
- Renovacao Auto: Sim
Resultado: O cliente recebe um pool de 2000 minutos para usar como quiser durante o mes.
Cenario 3: Passe de Turista por Dia
Objetivo: Visitantes explorando por um dia
Configuracao:
- Titulo: "Passe Explorador Diario"
- Preco: R$ 49,99 (4999 centavos)
- Duracao: 1 dia
- Tipo de Limite: whole_duration
- Desbloqueios Incluidos: 5
- Minutos de Viagem: 120
- Minutos de Pausa: 60
- Renovacao Auto: Nao
Resultado: O turista recebe 2 horas de viagem com 5 desbloqueios por um unico dia.
Cenario 4: Premium E-Bike
Objetivo: Apenas usuarios de e-bike premium
Configuracao:
- Titulo: "E-Bike Elite"
- Preco: R$ 149,99 (14999 centavos)
- Duracao: 30 dias
- Tipo de Limite: daily_limit
- Desbloqueios Incluidos: 3/dia
- Minutos de Viagem: 90/dia
- Tipos de Veiculos: [id-modelo-e-bike]
- Renovacao Auto: Sim
Resultado: Os beneficios so se aplicam ao andar em e-bikes premium.
Boas Praticas
Design de Pacotes
- Ofereca opcoes escalonadas - Economico, padrao e premium
- Corresponda padroes de uso - Pendulares vs. usuarios casuais
- Considere tipos de limite - Diario para usuarios frequentes, duracao total para flexibilidade
- Use numeros de etapa significativos - Destaque pacotes recomendados primeiro
Estrategia de Precos
- Calcule o ponto de equilibrio - Garanta que o valor do pacote exceda o preco regular para uso alvo
- Ofereca economia - Torne assinaturas claramente melhores que pagar por viagem
- Teste pontos de preco - Teste A/B diferentes precos
- Considere renovacao automatica - Receita previsivel vs. preferencias do cliente
Ativacao
- Teste completamente - Verifique em ambiente de staging antes de ativar
- Comunique alteracoes - Anuncie novos pacotes aos clientes
- Planeje para imutabilidade - Uma vez ativado, voce nao pode alterar configuracoes
- Versione cuidadosamente - Crie novos pacotes em vez de editar
Monitoramento
- Acompanhe compras - Monitore taxas de adocao de assinaturas
- Analise uso - Entenda como os clientes usam as cotas
- Observe churn - Identifique padroes de cancelamento
- Calcule LTV - Valor vitalicio de clientes de assinatura
Referencia Tecnica
Tabela do Banco de Dados: subscription_packages
| Coluna | Tipo | Descricao |
|---|---|---|
id | UUID | Identificador unico |
subaccount_id | UUID | Escopo de localizacao (null = global) |
step_number | Integer | Ordem de exibicao |
title_i18n | JSONB | Titulos localizados {"en": "...", "pt": "..."} |
description_i18n | JSONB | Descricoes localizadas |
price_cents | Integer | Preco do pacote em centavos |
duration_days | Integer | Duracao da assinatura |
limit_type | Enum | 'daily_limit' ou 'whole_duration' |
auto_renew | Boolean | Renovacao automatica habilitada |
activated | Boolean | Disponivel para compra |
included_unlocks | Integer | Desbloqueios incluidos (null = nao coberto) |
ride_minutes | Integer | Minutos incluidos |
pause_minutes | Integer | Minutos de pausa incluidos |
ride_distance_km | Integer | Distancia em km incluida |
vehicle_types | Text[] | Modelos de veiculos segmentados |
deleted_at | Timestamp | Timestamp de soft delete |
Tabela do Banco de Dados: subscription_package_purchases
| Coluna | Tipo | Descricao |
|---|---|---|
id | UUID | Identificador unico |
customer_uuid | UUID | Referencia ao cliente |
package_id | UUID | Referencia ao pacote |
package_snapshot | JSONB | Copia do pacote no momento da compra |
subaccount_id | UUID | Localizacao onde foi comprado |
status | Text | 'active', 'expired', 'cancelled' |
limit_type | Text | 'daily_limit' ou 'whole_duration' |
started_at | Timestamp | Quando a assinatura comecou |
expires_at | Timestamp | Quando a assinatura termina |
last_reset_at | Timestamp | Hora do ultimo reset diario |
remaining_minutes | Integer | Minutos ainda disponiveis |
remaining_pause_minutes | Integer | Minutos de pausa ainda disponiveis |
remaining_distance_km | Decimal | Distancia ainda disponivel |
remaining_unlocks | Integer | Desbloqueios ainda disponiveis |
usage_events | JSONB | Array de registros de uso |
total_value_applied_cents | Integer | Desconto total aplicado |
Resolucao de Problemas
Pacote Nao Aparecendo
- Verifique status ativado - Deve estar ativado para aparecer no app movel
- Verifique deleted_at - Certifique-se de que o pacote nao foi soft-deleted
- Verifique subconta - O cliente pode estar em uma localizacao diferente
Beneficios Nao Sendo Aplicados
- Verifique status da assinatura - Deve estar 'active'
- Verifique expiracao - Certifique-se de que a assinatura nao expirou
- Verifique reset de limite - Para limites diarios, verifique a logica de reset
- Revise cotas restantes - Podem estar esgotadas
Nao Consigo Editar Pacote
- Verifique status ativado - Pacotes ativados sao imutaveis
- Desative primeiro - Alterne ativado para falso
- Crie novo pacote - Com as alteracoes desejadas
Limites Diarios Nao Resetando
- Verifique fuso horario - Reseta a meia-noite no fuso horario do servidor
- Verifique last_reset_at - Deve atualizar na primeira viagem do novo dia
- Revise limit_type - Deve ser 'daily_limit' nao 'whole_duration'
Problemas com Renovacao Automatica
- Verifique metodo de pagamento - Cliente precisa de pagamento salvo
- Verifique flag auto_renew - Deve estar habilitada no pacote
- Revise logs do Stripe - Verifique falhas de pagamento
Assinaturas Configuradas
Com pacotes de assinatura em vigor, voce pode oferecer valor recorrente aos seus usuarios, aumentar a retencao de clientes e gerar receita recorrente previsivel. Monitore metricas de assinatura para otimizar suas ofertas.