Método CreateLease

Não é obrigatório criar locações. Isso se aplica a parceiros que gostariam de implementar essa funcionalidade. Entre em contato com a Central de ações para determinar a qualificação antes de começar.

A definição da locação é a primeira etapa ao criar um agendamento que permite o uso desse recurso. O back-end do parceiro verifica se o espaço solicitado é válido e está disponível. O parceiro cria uma retenção temporária para o espaço em questão, que é configurada para expirar automaticamente em lease_expiration_time. O back-end pode modificar o lease_expiration_time (por exemplo, se o tempo de locação especificado for muito longo). A locação criada é retornada ao cliente. Em seguida, o cliente solicita a criação de um agendamento para a locação.

Se a criação de uma locação falhar devido a algum erro de lógica de negócios, ele deverá ser preenchido na resposta. Consulte Falha no agendamento para ver mais informações.

Solicitação

CreateLeaseRequest

Valor de retorno

CreateLeaseResponse

Requisitos:

  • O lease_id precisa ser criado pelo back-end do parceiro e definido no CreateLeaseResponse.
  • O lease_expiration_time precisa ser definido no CreateLeaseResponse.
  • Se o campo de recursos for especificado no CreateLeaseRequest, ele terá que ser definido no CreateLeaseResponse e ser igual ao CreateLeaseRequest.
  • Todos os outros campos no CreateLeaseResponse precisam ser definidos e estar iguais ao CreateLeaseRequest.

Códigos de erro canônicos de gRPC

  • INVALID_ARGUMENT (o ID do comerciante, a especificação de horário do espaço ou o código do serviço é inválido)
// Request to create a [ext.maps.booking.partner.v2.Lease] for a slot in the
// inventory.  The expiration time in the returned Lease may be modified by the
// backend, e.g. if the requested lease period is too long.
message CreateLeaseRequest {
  // The lease to be created with information about the appointment slot
  // (required)
  Lease lease = 1;
}

// Response for the [ext.maps.booking.partner.v2.CreateLease] RPC with the
// created [ext.maps.booking.partner.v2.Lease]
message CreateLeaseResponse {
  // The created [ext.maps.booking.partner.v2.Lease] (required)
  Lease lease = 1;

  // If creating a lease fails, this field should reflect the business logic
  // error (e.g., slot has become unavailable) and lease field is expected to be
  // unset. (required if failure occurs)
  BookingFailure booking_failure = 2;
}