Especificación de retención

Una retención conserva temporalmente la propiedad de un espacio solicitado.

El backend del socio verifica que el horario solicitado sea válido y todavía 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.

Nuestra API de reservas ofrece a los usuarios la opción de crear retenciones. Si se opta por usarlas, crear una retención para el espacio solicitado es el primer paso para realizar una reserva.

// Temporary lease for an inventory slot
message Lease {
  // ID of the lease.
  // Not populated in CreateLeaseRequest. The value is chosen by the partner and
  // has to be returned in the response of CreateLease. (required)
  string lease_id = 1;

  // The appointment slot that the lease is created for. (required)
  Slot slot = 2;

  // Unique identifier for this lease, chosen by Reserve with Google. Serves as
  // an idempotency token for [ext.maps.booking.partner.v2.CreateLease]
  // requests. (required)
  string user_reference = 3;

  // Expiration time of the lease in UTC Timestamp (required)
  google.protobuf.Timestamp lease_expiration_time = 4;
}

// Reference to a [ext.maps.booking.partner.v2.Lease] that has been created via
// [ext.maps.booking.partner.v2.CreateLease]
message LeaseReference {
  // Lease ID (required)
  string lease_id = 1;
}

Información adicional sobre las retenciones

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

Para utilizar las retenciones, debes implementar el conjunto recomendado de API v2, además de lo siguiente:

  • Se debe implementar CreateLease.
  • Se debe implementar CreateBooking y se espera que use la referencia de retención. El backend del socio realiza una reserva con la referencia de retención proporcionada.

Los requisitos de la API v2 también se aplican al uso de retenciones, además de lo siguiente:

  • Se espera que CreateBooking use la referencia de retención. Al hacer una reserva con la referencia de retención proporcionada, el socio consume la retención, la cual deja de ser válida para otras reservas. El socio también es responsable de verificar la reserva creada mediante el espacio en el mensaje de solicitud.
  • Como código de error de gRPC adicional, NOT_FOUND se usa si se proporciona una referencia de retención y el socio desconoce el ID de retención.
Figura: Crea una reserva para una retención