Метод CreateLease
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Поддержка создания аренды не является обязательной . Это касается партнеров, заинтересованных во внедрении данного функционала. Прежде чем начать, свяжитесь с Центром действий, чтобы определить право на участие.
Создание аренды — это первый шаг при создании бронирования с поддержкой аренды. Серверная часть партнера проверяет, что запрошенный интервал встречи действителен и доступен. Внутренне партнер создает временное удержание для запрошенного слота, срок действия которого истекает автоматически в Lease_expiration_time. Серверной части разрешено изменять Lease_expiration_time, например, если запрошенное время аренды слишком велико. Созданная аренда возвращается клиенту. Затем клиент запрашивает создание бронирования на аренду.
Если создать аренду не удалось из-за какой-либо ошибки бизнес-логики, ошибка должна быть указана в ответе. Подробную информацию см. в разделе «Ошибка бронирования» .
Запрос
Создать запрос на аренду
Возвращаемое значение
CreateLeaseResponse
Требования:
- Lease_id должен быть создан серверной частью партнера и установлен в CreateLeaseResponse.
- Lease_expiration_time должно быть установлено в CreateLeaseResponse.
- Если поле ресурсов указано в CreateLeaseRequest, оно должно быть установлено в CreateLeaseResponse и соответствовать CreateLeaseRequest.
- Все остальные поля в CreateLeaseResponse должны быть установлены и соответствовать CreateLeaseRequest.
Канонические коды ошибок gRPC
-
INVALID_ARGUMENT
(неверный идентификатор продавца, идентификатор услуги или указание времени интервала)
// 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;
}
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 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```"]]