Skip to Content
PMS CoreHóspedesPerfis de Hóspedes

Perfis de Hospedes

O perfil do hospede e o registro central que reune todas as informacoes de uma pessoa no Opero: dados pessoais, documentos, historico de estadias, preferencias e tags. Cada hospede pertence a um tenant (conta) e pode ter reservas em qualquer propriedade desse tenant — o cadastro e compartilhado entre propriedades da mesma rede.

Este guia detalha a estrutura completa do perfil, como criar e editar registros, e funcionalidades avancadas como mesclagem de duplicatas e busca.


Criando um Perfil de Hospede

Ha tres formas de criar um perfil:

  1. Manual pelo painel — Acesse Hospedes > Novo Hospede e preencha o formulario
  2. Durante uma reserva — Clique em “Criar novo hospede” no fluxo de reserva
  3. Automatico via Guest Booking Portal — Quando o hospede faz uma reserva pelo motor de reservas, o perfil e criado automaticamente e ja nasce verificado

Formulario de cadastro

O dialogo de criacao (guest-form-dialog) solicita os seguintes campos:

CampoObrigatorioDescricao
Nome completoSimNome e sobrenome do hospede
E-mailNaoEndereco de e-mail para comunicacao e verificacao
TelefoneNaoNumero com DDD e codigo do pais
Tipo de documentoNaoCPF, RG, Passaporte, DNI, CC ou Outro
Numero do documentoNaoNumero do documento selecionado
Pais do documentoNaoPais emissor (codigo ISO)
TagsNaoRotulos livres para segmentacao

Ao salvar, o sistema gera automaticamente um slug unico a partir do nome (ex: maria-silva, maria-silva-2 em caso de homonimo). O slug e usado internamente para URLs amigaveis e busca.

Nota: Campos adicionais como endereco, contato de emergencia, data de nascimento e nacionalidade podem ser preenchidos posteriormente na edicao do perfil.


Campos do Perfil

O perfil completo do hospede contem os seguintes campos:

Dados pessoais

CampoTipoDescricao
nameTextoNome completo do hospede
slugTexto (auto)Identificador unico gerado a partir do nome
emailTextoEndereco de e-mail
phoneTextoTelefone com codigo do pais
birthDateDataData de nascimento
nationalityTextoCodigo ISO do pais de origem
isActiveBooleanoIndica se o perfil esta ativo (padrao: true)

Documento de identificacao

CampoTipoDescricao
documentTexto (criptografado)Numero completo do documento — armazenado com criptografia AES-256-GCM via AWS KMS
documentLast6Texto (mascarado)Ultimos 6 caracteres do documento para exibicao: ***LAST6
documentTypeEnumTipo do documento: CPF, RG, PASSPORT, DNI, CC, OTHER
documentCountryTextoPais emissor do documento (codigo ISO)
documentExpirationDataData de validade (obrigatoria para passaportes)

Seguranca: O campo document nunca e exibido em tela. A interface mostra apenas o documentLast6 no formato ***LAST6 (ex: ***456789). Para revelar o documento completo, o usuario precisa acionar o endpoint de revelacao, que exige permissao de Admin e registra a acao na trilha de auditoria. Veja mais em LGPD e Privacidade.

Endereco

CampoTipoDescricao
addressJSONBObjeto com: street, number, complement, neighborhood, city, state, zipCode, country

Contato de emergencia

CampoTipoDescricao
emergencyContactJSONBObjeto com: name, phone, relationship

Estatisticas de Estadia

O perfil mantem tres metricas calculadas automaticamente a cada check-out:

MetricaCampoDescricao
Total de estadiasstayCountNumero de reservas concluidas (com check-out realizado)
Total gastototalSpentSoma de todas as diarias e servicos consumidos (em centavos, convertido para exibicao)
Ultima estadialastStayDateData do check-out mais recente

Essas metricas sao utilizadas pelo sistema para:

  • Elegibilidade VIP — o calculo de nivel (Silver, Gold, Platinum) considera stayCount e totalSpent
  • Segmentacao de campanhas — filtros no OCP usam essas metricas para definir publico-alvo
  • Relatorios de receita — receita por hospede, ticket medio, frequencia de retorno

Importante: Os valores financeiros sao armazenados em inteiros (centavos) usando dinero.js. O campo totalSpent nunca usa ponto flutuante. A conversao para exibicao (ex: R$ 1.234,56) e feita exclusivamente no frontend.


Preferencias

O campo preferences armazena em JSONB as preferencias pessoais do hospede, registradas pela equipe ou informadas pelo proprio hospede:

PreferenciaChaveValores de exemplo
Tipo de quartoroomTypesuite, standard, dormitory
Andar preferidofloorhigh, low, any
Configuracao de camabedConfigdouble, twin, bunk
Restricoes alimentaresdietaryvegetarian, vegan, gluten-free, none
Acessibilidadeaccessibilitywheelchair, visual, hearing, none
Solicitacoes especiaisspecialRequestsTexto livre (ex: “travesseiro extra”, “longe do elevador”)

Como usar preferencias na operacao

  1. Check-in — ao atribuir unidade, o sistema exibe as preferencias do hospede como sugestao para o recepcionista
  2. Governanca — preferencias de acessibilidade ou solicitacoes especiais informam a equipe de limpeza sobre preparacao especial do quarto
  3. Reservas futuras — ao criar uma nova reserva para o hospede, as preferencias aparecem automaticamente no resumo

Dica: Mantenha as preferencias sempre atualizadas. Pergunte ao hospede a cada check-in se houve alguma mudanca — isso demonstra atencao e melhora a experiencia.


Tags

Tags sao rotulos livres armazenados como array JSONB no perfil do hospede. Elas permitem segmentacao flexivel sem depender de campos fixos.

Exemplos de tags comuns

TagUso
businessViajantes corporativos
repeatHospedes recorrentes (retorno frequente)
group-leaderLider de grupo ou excursao
early-birdCostuma reservar com antecedencia
last-minuteReservas de ultima hora
evento-2026Participante de evento especifico
alta-manutencaoHospede que demanda atencao extra da equipe

Gerenciando tags

  1. Acesse o perfil do hospede
  2. Na secao Tags, digite a nova tag e pressione Enter
  3. Para remover, clique no X ao lado da tag

Tags podem ser usadas como:

  • Filtro na listagem — encontre todos os hospedes com a tag business
  • Segmentacao no OCP — envie campanhas de e-mail apenas para hospedes com tags especificas
  • Relatorios — analise receita por segmento de hospede

Mesclagem de Hospedes (Deduplicacao)

E comum que o mesmo hospede exista em duplicata — por exemplo, cadastrado manualmente pela recepcao e depois criado automaticamente pelo motor de reservas. O Opero oferece uma funcionalidade de merge para unificar esses registros.

Passo a passo

  1. Acesse o perfil de um dos hospedes duplicados
  2. Clique em Acoes > Mesclar com outro hospede
  3. Busque e selecione o hospede duplicado
  4. O sistema exibe uma comparacao lado a lado dos dois registros
  5. Escolha qual informacao manter para cada campo divergente
  6. Confirme a mesclagem

O que acontece tecnicamente

O merge envolve dois identificadores: sourceGuestId (hospede que sera absorvido) e targetGuestId (hospede que permanece ativo).

AcaoDescricao
Transferencia de reservasTodas as reservas do sourceGuestId sao reatribuidas ao targetGuestId
Combinacao de estatisticasstayCount, totalSpent e lastStayDate sao recalculados somando ambos os registros
Marcacao do registro origemO sourceGuestId recebe o campo mergedIntoId apontando para o targetGuestId e e marcado como isActive: false
Preservacao do historicoO registro de origem nao e deletado fisicamente — permanece no banco para rastreabilidade
AuditoriaA operacao e registrada na trilha de auditoria com ambos os IDs e o usuario que executou

Atenção: O merge e irreversivel. Revise cuidadosamente a comparacao lado a lado antes de confirmar. Em caso de duvida, consulte o historico de estadias de ambos os registros para ter certeza de que sao a mesma pessoa.

Dica: O sistema pode sugerir hospedes possivelmente duplicados com base em nome similar, e-mail ou ultimos 6 digitos do documento. Fique atento as notificacoes de “possivel duplicata” no painel.


Busca de Hospedes

O diretorio de hospedes suporta busca textual com correspondencia parcial (ILIKE) nos seguintes campos:

CampoExemplo de buscaResultado
NomeMariaEncontra “Maria Silva”, “Ana Maria Santos”
Slugmaria-silvaEncontra o hospede com esse slug exato
E-mailmaria@Encontra todos os e-mails que contem “maria@“
Ultimos 6 do documento456789Encontra hospedes cujo documentLast6 contem “456789”

A busca e case-insensitive e funciona com digitacao parcial — nao e necessario digitar o valor completo.

Filtros avancados

Alem da busca textual, a listagem oferece filtros combinaveis:

  • Status VIP — Todos, Silver, Gold, Platinum
  • Verificacao — Verificados, Nao verificados
  • Nacionalidade — Lista de paises
  • Faixa de estadias — 1-5, 6-10, 10+
  • Ultima estadia — Intervalo de datas
  • Tags — Uma ou mais tags

Dica: Combine filtros para encontrar segmentos valiosos. Exemplo: VIP Gold + mais de 10 estadias + tag business = seus melhores clientes corporativos.


Mascaramento de PII e Auditoria

O Opero trata dados pessoais (PII) com rigor em conformidade com a LGPD e GDPR:

Criptografia em repouso

  • O campo document e criptografado com AES-256-GCM via AWS KMS antes de ser gravado no banco
  • A chave de criptografia e gerenciada pelo KMS — nunca fica em texto puro no servidor
  • Mesmo com acesso direto ao banco de dados, o numero do documento e ilegivel sem a chave KMS

Mascaramento na interface

  • A interface exibe documentos no formato ***LAST6 (ex: ***456789)
  • O campo documentLast6 e armazenado separadamente para permitir busca sem descriptografar
  • A revelacao do documento completo requer acionamento de um endpoint especifico

Revelacao auditada

Para visualizar o documento completo de um hospede:

  1. O usuario precisa ter permissao de Admin
  2. Clique em Revelar documento no perfil do hospede
  3. O sistema registra na trilha de auditoria: quem solicitou, quando, qual hospede e qual documento foi revelado
  4. O documento e exibido temporariamente e oculto novamente ao sair da tela

Importante: Toda revelacao de documento e registrada com proposito de compliance. Acessos frequentes ou injustificados podem ser flaggeados em auditorias internas.


Boas Praticas

  1. Cadastro completo desde o inicio — Preencha o maximo de campos possivel no primeiro contato. Perfis incompletos dificultam a operacao e a comunicacao futura.

  2. Use tags consistentes — Defina um conjunto padrao de tags com a equipe e evite variacoes (ex: nao use corporativo, business e corp para o mesmo conceito).

  3. Verifique antes de criar — Sempre busque pelo nome, e-mail ou documento antes de criar um novo hospede. Duplicatas geram confusao no historico e nas estatisticas.

  4. Mescle duplicatas imediatamente — Ao identificar uma duplicata, faca o merge o quanto antes. Quanto mais reservas se acumulam em registros separados, mais confuso fica o historico.

  5. Atualize preferencias a cada estadia — Pergunte ao hospede no check-in se suas preferencias mudaram. Informacoes desatualizadas podem gerar experiencias negativas.

  6. Nao compartilhe documentos — Nunca copie ou exporte numeros de documentos fora do sistema. Use o campo mascarado (***LAST6) para comunicacao interna.

  7. Respeite o consentimento LGPD — Antes de usar dados do hospede para marketing ou comunicacao nao essencial, verifique se ha consentimento registrado. Veja LGPD e Privacidade.

  8. Mantenha tags limpas — Revise periodicamente as tags em uso. Remova tags obsoletas (ex: evento-2024) e consolide tags redundantes.

Last updated on