Метод 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;
}