Método CreateLease
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
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;
}
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-26 (UTC)
[null,null,["Última actualización: 2025-07-26 (UTC)"],[[["\u003cp\u003eLease creation is an optional feature for partners to implement booking functionality.\u003c/p\u003e\n"],["\u003cp\u003ePartners must contact Actions Center for eligibility before implementing lease creation.\u003c/p\u003e\n"],["\u003cp\u003eCreating a lease involves a temporary hold on an appointment slot, which is later used for booking creation.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eCreateLeaseRequest\u003c/code\u003e initiates the process, and \u003ccode\u003eCreateLeaseResponse\u003c/code\u003e returns the lease details or error information.\u003c/p\u003e\n"],["\u003cp\u003ePartners must adhere to specific requirements when setting values in the \u003ccode\u003eCreateLeaseResponse\u003c/code\u003e.\u003c/p\u003e\n"]]],["Lease creation is an optional feature for partners. Partners must contact the Actions Center to determine eligibility. The process involves creating a temporary hold on a valid appointment slot, with an automatic expiration time that can be modified by the backend. Partners create a `lease_id` and `lease_expiration_time`, which are returned in the `CreateLeaseResponse`. If a lease fails due to business logic errors, an error response is populated. The response fields must match the request fields, and `INVALID_ARGUMENT` error can occur.\n"],null,["# CreateLease method\n\nSupport for lease creation is **optional**. It applies to partners that are\ninterested in implementing this functionality. Please contact the Actions Center to determine eligibility before you start.\n\nCreating the lease is the first step when creating a booking with Lease support.\nThe partner backend verifies that the requested appointment slot is valid and\navailable. Internally, the partner creates a temporary hold for the requested\nslot, which is set up to expire automatically at lease_expiration_time. The\nbackend is allowed to modify lease_expiration_time, e.g. if the requested lease\ntime is excessively long. The created lease is returned to the client. Then the\nclient requests to create a booking for the lease.\n\nIf creating a lease fails due to any business logic error, the error should be\npopulated in the response. See [Booking\nFailure](/actions-center/reference/grpc-api-v2/booking-failure-specification) for\ndetailed information.\n\n**Request**\n\nCreateLeaseRequest\n\n**Return value**\n\nCreateLeaseResponse\n\nRequirements:\n\n- lease_id must be created by the partner backend and set in the CreateLeaseResponse.\n- lease_expiration_time must be set in the CreateLeaseResponse.\n- If the resources field is specified in the CreateLeaseRequest, then it must be set in the CreateLeaseResponse, and match the CreateLeaseRequest.\n- All other fields in the CreateLeaseResponse must be set and match the CreateLeaseRequest.\n\n**Canonical gRPC error codes**\n\n- `INVALID_ARGUMENT` (invalid merchant ID, service ID, or slot time specification)\n\n```scilab\n// Request to create a [ext.maps.booking.partner.v2.Lease] for a slot in the\n// inventory. The expiration time in the returned Lease may be modified by the\n// backend, e.g. if the requested lease period is too long.\nmessage CreateLeaseRequest {\n // The lease to be created with information about the appointment slot\n // (required)\n Lease lease = 1;\n}\n\n// Response for the [ext.maps.booking.partner.v2.CreateLease] RPC with the\n// created [ext.maps.booking.partner.v2.Lease]\nmessage CreateLeaseResponse {\n // The created [ext.maps.booking.partner.v2.Lease] (required)\n Lease lease = 1;\n\n // If creating a lease fails, this field should reflect the business logic\n // error (e.g., slot has become unavailable) and lease field is expected to be\n // unset. (required if failure occurs)\n BookingFailure booking_failure = 2;\n}\n```"]]