Método CreateLease

La compatibilidad para crear retenciones es opcional. Se aplica a los socios que estén interesados en implementar esta funcionalidad. Comunícate con el Centro de acciones para determinar la elegibilidad antes de comenzar.

Crear la retención es el primer paso cuando se crea una reserva que admite retenciones. El backend del socio verifica que el horario solicitado sea válido y esté disponible. A nivel interno, el socio crea una conservación temporal para el espacio solicitado, que se configura para vencer automáticamente a la hora especificada en lease_expiration_time. El backend puede modificar el valor en lease_expiration_time, p. ej., si la retención de tiempo solicitada es excesivamente larga. La retención creada se mostrará al cliente. Luego, el cliente solicitará crear una reserva para esa retención.

Si la creación de una retención falla debido a algún error de lógica empresarial, el error debería propagarse en la respuesta. Consulta Falla en la reserva para obtener información detallada.

Solicitud

CreateLeaseRequest

Valor que se muestra

CreateLeaseResponse

Requisitos:

  • El backend del socio debe crear el lease_id y configurarlo en CreateLeaseResponse.
  • Se debe establecer el valor de lease_expiration_time en CreateLeaseResponse.
  • Si el campo de recursos se especifica en CreateLeaseRequest, también debe establecerse en CreateLeaseResponse y coincidir con CreateLeaseRequest.
  • Todos los demás campos de CreateLeaseResponse deben configurarse y coincidir con CreateLeaseRequest.

Códigos de error de gRPC canónicos

  • INVALID_ARGUMENT (ID de comerciante, ID de servicio o especificación de horario de espacio no válida)
// 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;
}