Quando um BatchCheckAvailabilityLookup é emitido, o servidor de agendamento do parceiro verifica se os espaços disponíveis solicitados são válidos e se estão vagos no momento. Isso pode ser usado pelo Centro de ações para garantir que apenas os espaços atuais sejam apresentados aos usuários durante o fluxo de reserva.
Solicitação
BatchAvailabilityLookupRequest
Valor de retorno
BatchAvailabilityLookupResponse
Códigos de erro canônicos de gRPC
INVALID_ARGUMENT(o ID do comerciante, a especificação de horário do espaço ou o código do serviço é inválido)
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.v2.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.v2.BatchAvailabilityLookupRequest].
repeated SlotTimeAvailability slot_time_availability = 1;
}A mensagem SlotTime define os espaços que serão consultados junto ao parceiro.
// 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) Resources resources = 4; }
Em resposta, o servidor de agendamento retorna as mensagens SlotTimeAvailability.
message SlotTimeAvailability {
// The SlotTime for which availability was checked.
SlotTime slot_time = 1;
// Whether the requested SlotTime is available
bool available = 2;
}