Метод BatchAvailabilityLookup

При выдаче запроса BatchAvailabilityLookup партнерский сервер бронирования проверяет, что запрошенные интервалы встреч в настоящее время действительны и доступны. Это может использоваться Центром действий, чтобы гарантировать, что во время процесса резервирования пользователям будут предоставлены только текущие слоты.

Запрос

Пакетная доступностьПоискЗапрос

Возвращаемое значение

Пакетная доступностьLookupResponse

BatchAvailabilityLookupRequest/BatchAvailabilityLookupResponse

message BatchAvailabilityLookupRequest {
 
// ID of the merchant.
 
string merchant_id = 1;

 
// Multiple slot times to be checked for availability. All queried times apply
 
// to the same merchant_id and service_id.
  repeated
SlotTime slot_time = 3;

  reserved
2;
}

// Response for the [ext.maps.booking.partner.v3.BatchAvailabilityLookupRequest]
// RPC with the availabilities of the appointment slots.
message
BatchAvailabilityLookupResponse {
 
// The availabilities for the requested SlotTime entries. There must be
 
// exactly one slot_time_availability for each SlotTime entry in the
 
// [ext.maps.booking.partner.v3.BatchAvailabilityLookupRequest].
  repeated
SlotTimeAvailability slot_time_availability = 1;
}

SlotTime в запросе

// Identifies a Slot service_id and start time and optionally, the Slot duration
// and resources, for a specific merchant. Note that this differs from the
// definition of Slot, as it does not include merchant_id identifier.
message
SlotTime {
 
// ID of the service. (required)
 
string service_id = 5;

 
// Start time of the appointment slot in seconds of UTC time since Unix epoch
 
// (required)
  int64 start_sec
= 1;

 
// Duration of the appointment slot in seconds (optional)
  int64 duration_sec
= 2;

 
// Opaque tag that identifies the availability slot and matches the value
 
// provided in the availability feed (optional)
 
string availability_tag = 3;

 
// The set of resources that specifies the appointment slot, e.g. by
 
// indicating the staff member and room selected by the user, or party size
 
// for dining slots (optional)
 
ResourceIds resource_ids = 4;

 
// Indicates whether bookings of this slot will be confirmed
 
// synchronously or asynchronously. (optional)
 
// An UNSPECIFIED value will be interpreted as synchronous.
 
ConfirmationMode confirmation_mode = 6;
}

SlotTimeAvailability в ответ

Если слоты не найдены, просто верните пустой ответ. Не возвращайте ошибку 400.

message SlotTimeAvailability {
 
// The SlotTime for which availability was checked.
 
SlotTime slot_time = 1;

 
// Whether the requested SlotTime is available
 
bool available = 2;
}