Pacotes de Viagem
Pacotes de viagem sao pacotes pre-pagos unicos que fornecem aos clientes creditos de viagem incluindo tempo, desbloqueios e distancia. Diferente das assinaturas que renovam automaticamente, pacotes de viagem sao comprados uma vez e consumidos ate esgotarem.
Visao Geral
Pacotes de viagem permitem que os clientes paguem antecipadamente por um pacote de creditos de viagem que podem usar em uma ou mais viagens. Isso e ideal para usuarios ocasionais que querem pre-pagar por conveniencia ou economizar dinheiro comparado ao preco por viagem.
Principais Recursos
- Compra unica - Sem cobranças recorrentes ou renovacao automatica
- Consumo flexivel - Use creditos em multiplas viagens ate esgotar
- Tempo incluido - Minutos de viagem incluidos (unidades configuraveis: minutos, horas, dias)
- Desbloqueios gratis - Isencao opcional da taxa de desbloqueio
- Cota de distancia - Quilometros incluidos opcionais
- Minutos de pausa - Tempo de pausa incluido opcional
- Suporte a viagem em grupo - Pacotes podem suportar multiplos usuarios (max_riders)
- Escopo por localizacao - Pacotes podem ser especificos de localizacao ou globais
- Pagamento via carteira ou cartao - Clientes podem pagar do saldo da carteira ou cartao de credito
Pacotes de Viagem vs. Assinaturas
| Recurso | Pacotes de Viagem | Assinaturas |
|---|---|---|
| Cobranca | Unica | Recorrente |
| Expiracao | Quando esgota | Baseada em tempo (dias) |
| Renovacao automatica | Nao | Opcional |
| Limites diarios | Nao | Opcional |
| Melhor para | Usuarios ocasionais | Pendulares regulares |
Acessando Pacotes de Viagem
Navegue ate Precos
Va para o Painel e clique em Precos na navegacao lateral.
Encontre a Secao de Pacotes
Role ate a secao Pacotes de Preco de Viagem.
Gerencie Pacotes
Clique em Adicionar Pacote para criar um novo pacote ou use os icones de editar/excluir para os existentes.
Especifico por Localizacao
Pacotes de viagem 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 | "60 Minute Pack" |
| Titulo em Portugues | Nome do pacote em portugues | "Pacote de 60 Minutos" |
Boas Praticas:
- Inclua o beneficio principal (tempo/desbloqueios) no titulo
- Mantenha titulos concisos (2-4 palavras)
- Use nomenclatura consistente entre pacotes
Descricao (i18n)
Descricao estendida opcional explicando os beneficios do pacote.
| Campo | Descricao | Exemplo |
|---|---|---|
| Descricao em Ingles | Detalhes completos | "60 minutes of riding, use anytime" |
| Descricao em Portugues | Detalhes completos | "60 minutos de viagem, use quando quiser" |
Numero da Etapa
Controla a ordem de exibicao no aplicativo movel.
| Valor | Posicao de Exibicao |
|---|---|
| 1 | Primeiro (topo) |
| 2 | Segundo |
| 3+ | Posicoes inferiores |
Numeros menores aparecem primeiro. Destaque seus pacotes de melhor valor ou mais populares primeiro.
Precificacao
Preco (Centavos)
O valor que os clientes pagam pelo pacote, armazenado em centavos.
| Entrada | Exibicao |
|---|---|
| 2499 | R$ 24,99 |
| 4999 | R$ 49,99 |
| 9999 | R$ 99,99 |
Dicas de Precificacao:
- Calcule economia vs. pagar por viagem
- Ofereca proposta de valor clara
- Considere pontos de preco psicologicos (R$ X,99)
Beneficios Incluidos
Tempo Incluido
O beneficio principal - tempo de viagem incluido no pacote.
| Campo | Descricao |
|---|---|
included_time_qty | Numero de unidades de tempo |
included_time_unit | Tipo de unidade: minutes, hours ou days |
Exemplos:
- 60 minutos = 1 hora de viagem
- 2 horas = 120 minutos de viagem
- 1 dia = 24 horas de viagem
Incluir Taxa de Desbloqueio
Se o pacote cobre a taxa de desbloqueio.
| Configuracao | Comportamento |
|---|---|
| true | Pacote inclui desbloqueio(s) gratis |
| false | Cliente paga taxa de desbloqueio separadamente |
Quando habilitado, o campo max_riders determina quantos desbloqueios gratis estao incluidos.
Distancia Incluida (Opcional)
Quilometros de distancia incluidos no pacote.
| Valor | Comportamento |
|---|---|
| null | Sem distancia incluida |
| 10 | 10 km incluidos |
| 50 | 50 km incluidos |
Precos por Distancia
Cotas de distancia so se aplicam quando seu preco usa cobranças por km. Se usar preco apenas por tempo, este campo nao tem efeito.
Minutos de Pausa Incluidos (Opcional)
Minutos de tempo pausado incluidos.
| Valor | Comportamento |
|---|---|
| null | Taxas de pausa cobradas normalmente |
| 30 | 30 minutos de pausa incluidos |
| 60 | 60 minutos de pausa incluidos |
Suporte a Viagem em Grupo
Max Riders
Numero de usuarios simultaneos que o pacote suporta.
| Valor | Comportamento |
|---|---|
| 1 | Usuario unico (padrao) |
| 2 | Viagem em dupla |
| 4 | Grupo pequeno |
Viagens em Grupo
Quando max_riders > 1, os clientes podem iniciar viagens em grupo com amigos. Cada usuario no grupo compartilha os beneficios do pacote. Veja Viagens em Grupo para mais detalhes.
Personalizacao Visual
Texto do Badge
Badge opcional para destacar o pacote.
| Valor | Exibicao |
|---|---|
| null | Sem badge |
| "MELHOR VALOR" | Badge no pacote |
| "POPULAR" | Badge no pacote |
Icone
Identificador de icone opcional para o pacote.
E Popular
Flag para indicar que esta e uma escolha popular, pode afetar o estilo de exibicao.
Limites de Velocidade
Velocidade Maxima (kph)
Limite de velocidade opcional aplicado durante viagens usando este pacote.
| Valor | Comportamento |
|---|---|
| null | Sem restricao de velocidade |
| 15 | Limitado a 15 km/h |
| 20 | Limitado a 20 km/h |
Util para pacotes de iniciantes ou ofertas focadas em seguranca.
Criando um Pacote de Viagem
Passo 1: Configuracao Basica
- Navegue ate Precos → Pacotes de Preco de Viagem
- Clique em Adicionar Pacote
- Defina Numero da Etapa para ordem de exibicao
- Insira Titulo nos idiomas suportados
Passo 2: Precificacao
- Insira Preco em centavos (ex: 4999 para R$ 49,99)
- Selecione Moeda (normalmente corresponde ao padrao da subconta)
Passo 3: Cota de Tempo
- Insira Quantidade de Tempo Incluido (ex: 60)
- Selecione Unidade de Tempo Incluido (minutos, horas ou dias)
Passo 4: Beneficios Adicionais
- Ative Incluir Taxa de Desbloqueio se o pacote cobre desbloqueios
- Defina Max Riders se suportar viagens em grupo
- Adicione Distancia Incluida se aplicavel
- Adicione Minutos de Pausa Incluidos se aplicavel
Passo 5: Personalizar e Ativar
- Adicione Texto do Badge opcional
- Ative Ativado para disponibilizar
- Clique em Salvar
Como os Pacotes Funcionam
Fluxo de Compra
Cliente Navega nos Pacotes
No aplicativo movel, o cliente visualiza pacotes disponiveis para sua localizacao.
Seleciona Pacote
O cliente toca em um pacote para ver detalhes e comprar.
Escolhe Metodo de Pagamento
O cliente seleciona saldo da carteira ou pagamento com cartao.
Conclui Compra
Para carteira: Deducao imediata. Para cartao: Fluxo PaymentIntent do Stripe.
Pacote Ativado
Os creditos ficam imediatamente disponiveis para uso.
Uso Durante Viagens
Quando um cliente com um pacote ativo inicia uma viagem:
- Sistema verifica compras de pacotes ativos
- Beneficios aplicados - Taxa de desbloqueio isenta (se incluida), tempo comeca a contar contra o pacote
- Durante a viagem - Tempo/distancia deduzidos das cotas do pacote
- Viagem termina - Creditos restantes atualizados, excesso cobrado normalmente
Consumo do Pacote
Pacote: 60 Minutos
├── Viagem 1: 15 minutos → 45 minutos restantes
├── Viagem 2: 20 minutos → 25 minutos restantes
├── Viagem 3: 30 minutos → Pacote esgotado (5 min cobrados normalmente)
└── Status: Consumido
Quando um pacote e esgotado, o preco regular se aplica a qualquer uso excedente.
Integracao com Aplicativo Movel
Exibicao do Pacote
A tela /packages do aplicativo movel mostra:
- Pacotes disponiveis para a localizacao do cliente
- Titulo do pacote (localizado)
- Preco formatado para a moeda
- Duracao/tempo incluido
- Indicador de viagem em grupo (se max_riders > 1)
- Botao de compra
Pacotes Ativos
Os clientes podem visualizar seus pacotes ativos:
- Nome do pacote e data de compra
- Tempo/desbloqueios restantes
- Localizacao onde o pacote se aplica
- Historico de uso
Resolucao de Localizacao
Os pacotes sao especificos por localizacao:
- O app envia as coordenadas GPS do cliente
- O sistema verifica quais zonas contem a localizacao
- Os pacotes da subconta correspondente sao exibidos
- Se ambiguo, o cliente pode precisar selecionar a localizacao
Referencia da API
GET /api/mobile/packages
Busca pacotes disponiveis para uma localizacao.
Parametros de Query:
lat- Latitude (opcional)lng- Longitude (opcional)subaccount_id- ID da subconta diretamente (opcional)
Resposta:
{
"data": {
"purchases": [...],
"available_packages": [...],
"has_active_package": false,
"location": {
"subaccount_id": "uuid",
"subaccount": { "name": "Nome da Cidade" }
}
}
}
POST /api/mobile/packages
Compra um pacote.
Corpo da Requisicao:
{
"package_id": "uuid",
"payment_method": "wallet"
}
Resposta (pagamento via carteira):
{
"data": { ... registro da compra ... },
"payment": {
"method": "wallet",
"amount_cents": 4999,
"new_wallet_balance_cents": 7501
}
}
Resposta (pagamento com cartao necessario):
{
"requires_payment": true,
"client_secret": "pi_..._secret_...",
"payment_intent_id": "pi_...",
"amount_cents": 4999
}
Esquema do Banco de Dados
Tabela: ride_pricing_packages
| Coluna | Tipo | Descricao |
|---|---|---|
id | UUID | Identificador unico |
subaccount_id | UUID | Escopo de localizacao |
step_number | Integer | Ordem de exibicao |
title_i18n | JSONB | Titulos localizados |
description_i18n | JSONB | Descricoes localizadas |
price_cents | Integer | Preco do pacote |
currency | Text | Codigo da moeda (BRL) |
activated | Boolean | Disponivel para compra |
include_unlock_fee | Boolean | Taxa de desbloqueio incluida |
included_time_qty | Integer | Quantidade de tempo |
included_time_unit | Text | minutes/hours/days |
included_distance_km | Integer | Distancia incluida |
included_pause_minutes | Integer | Tempo de pausa incluido |
max_riders | Integer | Suporte a viagem em grupo |
max_speed_kph | Integer | Limite de velocidade (opcional) |
badge_text | Text | Badge de exibicao |
is_popular | Boolean | Flag de popular |
deleted_at | Timestamp | Soft delete |
Tabela: ride_pricing_package_purchases
| Coluna | Tipo | Descricao |
|---|---|---|
id | UUID | Identificador unico |
customer_uuid | UUID | Referencia ao cliente |
package_id | UUID | Referencia ao pacote |
subaccount_id | UUID | Localizacao da compra |
status | Text | active/consumed |
package_snapshot | JSONB | Pacote no momento da compra |
purchased_at | Timestamp | Hora da compra |
remaining_time_minutes | Integer | Tempo restante |
remaining_unlocks | Integer | Desbloqueios restantes |
remaining_distance_km | Decimal | Distancia restante |
remaining_pause_minutes | Integer | Tempo de pausa restante |
Cenarios Comuns
Cenario 1: Pacote Basico de Tempo
Objetivo: Pacote simples de 1 hora de viagem
Configuracao:
- Titulo: "Pacote 1 Hora"
- Preco: R$ 49,99 (4999 centavos)
- Tempo: 60 minutos
- Incluir Desbloqueio: Sim
- Max Riders: 1
Valor para o Cliente: Economiza vs. taxa de desbloqueio + tarifa por hora
Cenario 2: Passe de Grupo para o Dia
Objetivo: Passeio em familia/amigos
Configuracao:
- Titulo: "Passe de Grupo Diario"
- Preco: R$ 149,99 (14999 centavos)
- Tempo: 4 horas
- Incluir Desbloqueio: Sim
- Max Riders: 4
- Badge: "MELHOR PARA GRUPOS"
Valor para o Cliente: 4 pessoas podem andar juntas compartilhando o tempo
Cenario 3: Pacote de Distancia
Objetivo: Pacote de passeio/exploracao
Configuracao:
- Titulo: "Explorador 50km"
- Preco: R$ 124,99 (12499 centavos)
- Tempo: 2 horas
- Distancia: 50 km
- Incluir Desbloqueio: Sim
Valor para o Cliente: Bom para passeios com limite de distancia
Boas Praticas
Design de Pacotes
- Proposta de valor clara - Deixe a economia obvia
- Opcoes escalonadas - Pacotes pequeno, medio, grande
- Corresponda casos de uso - Trabalho, recreacao, turismo
- Opcoes de grupo - Familias, amigos, turistas
Estrategia de Precos
- Calcule ponto de equilibrio - Quando o pacote economiza dinheiro?
- Precificacao ancora - Mostre equivalente por minuto
- Valor do pacote - Combine tempo + desbloqueios + pausa
Otimizacao de Exibicao
- Melhor valor primeiro - Use step_number estrategicamente
- Use badges - Destaque popular/recomendado
- Descricoes claras - Explique o que esta incluido
Resolucao de Problemas
Pacote Nao Visivel
- Verifique se
activatede verdadeiro - Verifique se
deleted_ate null - Confirme que a subconta correta esta selecionada
- Verifique se a localizacao do cliente corresponde a subconta do pacote
Creditos Nao Sendo Aplicados
- Verifique se o status da compra e 'active'
- Confirme que os creditos restantes nao sao zero
- Confirme que a subconta do pacote corresponde a localizacao da viagem
- Revise logs de calculo de preco da viagem
Problemas com Viagem em Grupo
- Verifique a configuracao
max_riders - Verifique se viagens em grupo estao habilitadas nas configuracoes da subconta
- Confirme que o pacote tem desbloqueios restantes
Pacotes Configurados
Com pacotes de viagem em vigor, os clientes podem pre-pagar por creditos de viagem e desfrutar de precos mais simples e previsiveis. Monitore vendas e uso de pacotes para otimizar suas ofertas.