При выполнении команды BatchCheckAvailabilityLookup сервер бронирования партнера проверяет, являются ли запрошенные временные интервалы действительными и доступными в данный момент. Это может быть использовано Центром действий для обеспечения того, чтобы пользователям во время процесса бронирования отображались только актуальные временные интервалы.
Запрос
BatchAvailabilityLookupRequest
Возвращаемое значение
Пакетная доступностьLookupResponse
Коды ошибок Canonical gRPC
-
INVALID_ARGUMENT(неверный идентификатор продавца, идентификатор услуги или указание времени сеанса)
message BatchAvailabilityLookupRequest {
option features.(pb.java).nest_in_file_class = YES;
// 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.v2.BatchAvailabilityLookupRequest]
// RPC with the availabilities of the appointment slots.
message BatchAvailabilityLookupResponse {
option features.(pb.java).nest_in_file_class = YES;
// 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.v2.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 { option features.(pb.java).nest_in_file_class = YES; // 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) Resources resources = 4; }
В ответ сервер бронирования возвращает сообщение SlotTimeAvailability.
message SlotTimeAvailability {
option features.(pb.java).nest_in_file_class = YES;
// The SlotTime for which availability was checked.
SlotTime slot_time = 1;
// Whether the requested SlotTime is available
bool available = 2;
}