Registrar novo cliente [locação digital]
Para utilizar os serviços disponíveis pela locação digital, o cliente deve se tornar um usuário cadastrado através da operação de registro que será descrita neste artigo.
O termo cliente utilizado neste artigo refere-se a uma pessoa com interesse em alugar um imóvel (locatário) e não depende desta pessoa ter assinado um contrato de locação.
Regras de negócio
Quando o cliente realiza seu registro (cadastro) na aplicação, o sistema cria um “Usuário” (com licença de comunidade), associado a uma conta pessoal. Portanto, o registro de um cliente envolve basicamente três objetos (entidades) do sistema: usuário, contato e conta.
Como hipótese consideramos que uma empresa, antes de iniciar sua operação de locação digital, já possui um cadastro de clientes (contas e contatos) e, por isso, parte dos clientes que realizam registro na aplicação podem ser clientes com contas já existentes. Neste caso, o registro de um novo usuário deve ser associado a uma conta existente para não duplicar informações e para vincular os dados existentes no sistema (ex. visitas, propostas, etc.) ao cliente de origem.
Para que isso seja possível, o sistema considera o endereço de email do cadastrado como a chave de pesquisa para verificar a existência deste cliente no cadastro de contas pessoais. Isso significa que o endereço de email digitado no cadastro ou vinculado a uma conta social (google ou facebook) será utilizado pelo sistema para decidir sobre a existência ou não deste cliente.
Tipos de registro
O cliente pode utilizar três caminhos diferentes para realizar o seu cadastro:
Registro com email
Como o processo de registro valida o email informado pelo usuário no formulário de cadastro, podemos associar este novo usuário a uma conta existente.
O processo começa quando:
Cliente preenche o formulário de registro da aplicação, informando seu nome, sobrenome, email, cpf, celular e perfil.
Sistema procura um usuário ativo com o email informado:
Se já existe um usuário, sistema exibe uma mensagem de erro e retorna para o passo 1.
Sistema procura um contato com o email informado:
Se já existe um contato com o email informado:
Sistema associa o novo usuário ao contato e conta encontrados.
Se o sistema retornar dois ou mais contato:
Sistema associa o novo usuário ao contato com a data de criação mais recente.
Se não encontrar nenhum contato:
Sistema cria uma nova conta pessoal e associa ao novo usuário.
Sistema envia mensagem para o endereço de email informado pelo cliente, com o código de verificação.
Cliente digita o código de verificação recebido para confirmar a propriedade do email informado.
Sistema cria registro para o novo usuário.
Operações do sistema
Registro com email
Para realizar o registro utilizando apenas o endereço de email, siga os passos abaixo.
O usuário deve se cadastrar para ter acesso ao sistema, o formulário de cadastro encontra-se disponível ao clicar no botão de login, ou através da tela inicial da página Alugar
O usuário deve selecionar se é inquilino, ou seja se é um locatário que deseja alugar um imóvel, ou proprietário , um usuário que deseja disponibilizar um imóvel para comercialização;
Deve preencher os campos, nome, sobrenome, email, celular e CPF ;
E clicar em cadastrar;
É enviado um código de confirmação por email para o usuário, ele deve copiar o código recebido e preencher no campo de confirmação;
Neste momento o sistema pesquisa pelo email do usuário caso ele exista atribui aquele usuário a conta existente, caso contrário cria uma conta pessoal para o cliente;
É criado também um processo de locação e um perfil para o cliente caso não exista nenhum processo de locação ativo para aquela conta.
Um email de boas vindas é enviado ao cliente.
Um email é enviado ao consultor responsável da locação
Uma notificação personalizada é criada informando o consultor que uma nova locação foi atribuída a ele.
** Nota: Não é possível efetuar o registro utilizando o google e o facebook, o usuário precisa se cadastrar pelo formulário com o email desses provedores para poder utilizar o login com o provedor de autorização.
Regras de negócio
Cadastro do usuário
Na tabela abaixo estão descritos os campos do objeto “Usuário”, necessários para o registro de um novo cliente.
Campo | Nome de API | Tipo de campo | Descrição | Valor |
---|---|---|---|---|
Nome | FirstName | Texto | Primeiro nome do usuário | Preenchido no formulário de registro. |
Sobrenome | LastName | Texto | Sobrenome do usuário | Preenchido no formulário de registro. |
Endereço de email do usuário | Preenchido no formulário de registro. | |||
Celular | MobilePhone | Telefone | Telefone celular do usuário | Preenchido no formulário de registro. |
Nome do usuário | UserName | Texto(80) | Nome do usuário utilizado para autenticação com usuário e senha. |
|
Contato | ContactId | Pesquisa(Contato) | Identifica o contato associado ao usuário |
|
Perfil | ProfileId | Pesquisa(Perfil) | Identifica o perfil do usuário. As opções são: Locatário ou Locador. | Selecionado no formulário de registro. |
Apelido | CommunityNickName | Texto(40) | Apelido do usuário na comunidade |
|
Alias | Alias | Texto(8) | Nome reduzido para o usuário |
|
Fuso horário | TimeZoneSidKey | Lista de valores |
|
|
Localidade | LocaleSidKey | Lista de opções |
|
|
Codificação de email | EmailEncodingKey | Lista de opções |
| UTF-8 |
Idioma | LanguageLocaleKey |
|
| UserInfo.getLocale() |
Notas
A descrição completa dos campos do objeto “User” está disponível em https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_user.htm.
Cadastro da conta pessoal
Campo | Nome de API | Tipo de campo | Valor | Descrição |
---|---|---|---|---|
Tipo de registro | RecordType |
| Cliente pessoa física |
|
Nome | FirstName | Texto() |
|
|
Sobenome | LastName | Texto() |
|
|
PersonEmail |
|
|
| |
CPF | snap_finan__Cpf_2__pc |
|
|
|
Celular | PersonMobilePhone | Telefone |
|
|
Notas para o desenvolvedor
A interface para registro do cliente é implementado pelo componente “Login do cliente”.
O serviço para registro do cliente é implementado
Item | Componente |
---|---|
Interface do usuário | Login do cliente (loginCliente) [aura] |
Controller | SiteController.iniciarCadastroCliente |
Servico | Servico |