Appearance
Conceitos e Estrutura do VikBooking
Este documento descreve as entidades, relações e fluxo de dados do VikBooking para ajudar administradores e times técnicos a entenderem a arquitetura funcional.
- Principais entidades e relacionamentos
- Room Types (Tipos de quarto): definem atributos compartilhados (capacidade, comodidades, políticas). Cada tipo pode ter múltiplas Units.
- Rooms / Units (Unidades): instâncias físicas vinculadas a um tipo (ex.: Quarto 101 vinculado ao Tipo "Superior").
- Rates / Price Plans (Tarifas): ligadas a tipos/unidades e aplicadas por período e ocupação.
- Availability (Disponibilidade): calendário por unidade/tipo que indica bloqueios e reservas.
- Bookings / Reservations (Reservas): registros com status (Pendente, Confirmada, Cancelada, No-show) e associações a unidade/tarifa e pagamentos.
- Payments (Pagamentos): entradas ligadas a reservas, com status (autorizado, capturado, reembolsado).
- Fluxo de criação de uma reserva (resumo técnico)
- Hóspede pesquisa disponível via shortcode (frontend) — plugin consulta a tabela de disponibilidade e tarifas.
- Seleção de quarto + política -> criar reserva em estado Pendente.
- Pagamento (integração): gateway notifica via webhook; status da reserva é atualizado para Confirmada quando pagamento finalizado.
- Logs e e-mails transacionais são disparados conforme configuração.
- Mapeamento técnico (tabelas e dados)
- O VikBooking usa tabelas próprias no banco WordPress (
wp_vikbooking_*) para armazenar tipos, unidades, tarifas, disponibilidade e reservas. - Dados a preservar em backup: tabelas do plugin + uploads (imagens) + configurações.
- Integrações comuns
- Gateways de pagamento (PayPal, Stripe, intermediadores locais)
- Sistemas de contabilidade/exportação via CSV
- Webhooks para notificação de status de pagamento
- Considerações para desenvolvedores
- Atualizações: testar migração de dados em staging.
- Customizações: respeitar hooks/filters do plugin para manter compatibilidade com atualizações futuras.
- Troubleshooting estrutural
- Dados inconsistentes (p.ex. reserva sem unidade): verificar integridade das tabelas e logs de jobs cron.
- Perdas de disponibilidade: conferir jobs que reindexam disponibilidade e eventuais scripts externos que alterem tabelas.