Visão geral

Os parceiros que participam do programa de listas de espera de reservas precisam concluir a configuração da conta antes de começar. No entanto, algumas etapas do guia geral não são necessárias para o uso do recurso de lista de espera. As diretrizes desta página explicam quais etapas se aplicam aos parceiros interessados em usar o recurso de lista de espera no Reservar com o Google. Sugerimos que você leia esta visão geral antes de seguir as etapas de integração.

Processo de lançamento

A Figura 1 descreve o processo para lançar seus comerciantes que usam lista de espera na Central de ações.

Figura 1: etapas de integração de alto nível
Figura 1:etapas de integração de alto nível

No geral, os principais fluxos de dados entre você (o parceiro) e o Google são mostrados na Figura 2:

Figura 2: diagrama de fluxo de dados de integração
Figura 2:diagrama do fluxo de dados de integração

Diretrizes para todos os parceiros das listas de espera de reservas

Considere o seguinte ao implementar o recurso de listas de espera de reservas:

  • O serviço de cada comerciante das listas de espera do Reservations precisa ter o campo waitlist_rules preenchido.
    • É necessário usar o mesmo serviço para as listas de espera e as reservas. Ou seja, se o restaurante também permite reservas, basta adicionar os metadados relacionados à lista de espera ao serviço para fazer a reserva.
  • O envio de atualizações por SMS é necessário para a implementação da lista de espera nos seguintes casos:
    • Para confirmar que o usuário entrou na lista de espera.
    • Para notificar o usuário de que a mesa está pronta.
    • Para notificar o usuário de que a entrada na lista de espera foi cancelada.
  • As mensagens SMS precisam conter um link para uma página em que os usuários possam ver o status da lista de espera.
  • Os comerciantes que usam esse recurso não precisam enviar feeds de disponibilidade para a Central de ações.
  • O servidor de agendamento precisa implementar todas as etapas específicas da lista de espera listadas em Implementar o servidor de agendamento. Os parceiros que aceitam reservas e listas de espera podem adicionar os novos métodos ao servidor de agendamento atual.
  • A Central de ações executa um conjunto de casos de teste para os métodos da lista de espera no servidor de agendamento.

Fluxograma de status

Este gráfico descreve os status que precisam ser informados em WaitlistEntry.waitlist_entry_state ao responder a chamadas GetWaitlistEntry . O gráfico também indica quando gravar e preencher os campos WaitlistEntry.waitlist_entry_state_times.*_time_seconds e quando enviar um SMS ao usuário para informar que ele entrou em um novo estado.

Figura 3: fluxograma de status da lista de espera
Figura: 3 fluxograma de status da lista de espera

Casos extremos comuns

Confira a seguir casos extremos comuns em uma integração de listas de espera do Reservations e as soluções preferenciais para eles.

  • Se alguns grupos (mas não todos) não aceitarem novas adições à lista de espera porque não há espera para esses grupos, retorne WaitEstimates para todos os grupos na resposta BatchGetWaitEstimates e permita que os usuários entrem na lista de espera dessas pessoas sem tempo de espera. Retornar um WaitLength com 0 parties_ahead_count e/ou com um estimated_seat_time_range com 0 start_seconds e com 0 end_seconds para os party_sizes sem espera.
  • Se um ou mais grupos não aceitarem novas adições à lista de espera porque o tempo de espera se tornou muito longo, é preferível omitir WaitEstimates para eles na resposta BatchGetWaitEstimates.

Essas abordagens são preferíveis porque oferecem opções ao usuário, mesmo que a lista de espera do comerciante não esteja totalmente aberta.

Diretrizes para parceiros que usam apenas listas de espera de reservas

Lembre-se do seguinte se o servidor de agendamento for usado apenas para listas de espera:

  • Os parceiros que utilizam apenas listas de espera de reservas não enviam feeds de disponibilidade ao Reservar com o Google.
  • Os parceiros que usam apenas listas de espera de reservas não implementam os métodos de reserva no servidor de agendamento. Em vez disso, implemente o servidor de agendamento com as instruções para a implementação da lista de espera.
  • Os parceiros que usam somente listas de espera de reservas não fazem chamadas de API para o Google. Isso significa que os parceiros que usam apenas listas de espera do Reservations não precisam configurar um projeto do Cloud nem fornecer um endereço de e-mail do desenvolvedor. Não é necessário concluir as atualizações da API em tempo real. No entanto, os feeds do comerciante e do serviço ainda precisam ser fornecidos à Central de ações.

Diretrizes para parceiros com comerciantes que precisam aceitar/rejeitar manualmente adições à lista de espera

Se os comerciantes exigirem a possibilidade de aceitar ou rejeitar manualmente novas adições à lista de espera do Google, serão necessárias outras etapas:

  • Defina o waitlist_confirmation_mode como WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS no wait_estimate para tamanhos de grupo que exigem confirmação manual. Isso precisa ser definido em BatchGetWaitEstimateResponse e GetWaitlistEntryResponse.
  • As entradas da lista de espera que foram solicitadas pelo usuário, mas ainda não foram aceitas pelo comerciante, devem estar com o estado PENDING_MERCHANT_CONFIRMATION.

Casos de teste das listas de espera de reservas

O Google testa os casos de uso a seguir para garantir a funcionalidade dos métodos da lista de espera na implementação do servidor de agendamento. O Google também testa e monitora a latência. Todos esses testes precisam ser aprovados antes do lançamento.

Recuperação de WaitEstimate

  • As estimativas de espera são retornadas para cada tamanho de grupo solicitado em um BatchGetWaitEstimatesRequest.
  • Para tamanhos de grupo em que o comerciante tem a opção de aceitar ou rejeitar novas adições à lista de espera, defina Waitlist_confirmation_mode como WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS.

Criação de entradas da lista de espera

  • É possível criar uma entrada da lista de espera com base em uma solicitação CreateWaitlistEntry.
  • Se a criação da entrada da lista de espera falhar, um erro de lógica de negócios será exibido na resposta.
  • Se uma tentativa de CreateWaitlistEntry for bem-sucedida, a mesma resposta será retornada quando o mesmo CreateWaitlistEntry for recebido novamente.
  • Se uma tentativa de CreateWaitlistEntry falhar, o servidor vai repetir quando o mesmo CreateWaitlistEntry for recebido novamente.
  • As entradas da lista de espera são exibidas na interface do comerciante.
  • As chamadas para GetWaitlistEntry retornam a entrada da lista de espera criada.

Estados e carimbos de data/hora das entradas da lista de espera

  • Verifique se cada estado é retornado corretamente na entrada da lista de espera das respostas de GetWaitlistEntry.
  • Verifique se cada carimbo de data/hora de estado está definido no campo apropriado da entrada da lista de espera nas respostas de GetWaitlistEntry.

Exclusão de entradas da lista de espera

  • É possível remover as entradas da lista de espera. A resposta a uma exclusão bem-sucedida precisa ser o proto vazio {}.

Deixar de participar

Exemplo de feed de serviços da lista de espera (JSON)

Feed de serviços da lista de espera

Desativação do comerciante

O Google espera determinadas respostas para comerciantes que já tinham listas de espera ativadas, mas decidiram desativá-las.

Desativação imediata

Desativação estendida

  • Remova o waitlist_rules do feed de serviços do comerciante se ele não estiver desativando as reservas.
  • Remova o comerciante do feed se ele desativar todas as integrações do Google.