Получите WaitEstimates для запрошенного продавца, услуги и размера группы. Серверная часть партнера проверяет, доступны ли запрошенные оценки ожидания, и предоставляет статус списка ожидания вместе с ожиданием в ответе.
Запрос
Пакетный запросGetWaitEstimatesRequest
Возвращаемое значение
Пакетный методGetWaitEstimatesResponse
// Batch request for the wait estimates for the specified merchant, service and // party sizes. message BatchGetWaitEstimatesRequest { // Required. Partner-provided ID for the merchant. string merchant_id = 1; // Required. Partner-provided ID for the service. string service_id = 2; // Required. The different party sizes WaitEstimates are requested for. // WaitEstimates may differ with the number of people in the party. A single // request will not include duplicate party sizes. repeated int32 party_size = 3; } // Response for the BatchGetWaitEstimates RPC with the wait estimates of the // specified merchant, service and party sizes. message BatchGetWaitEstimatesResponse { // Required. A status for the waitlist that indicates whether new users can // join and what the reason is if they can’t join. If the waitlist is not // open, all other fields in the BatchGetWaitEstimatesResponse are expected to // be unset. WaitlistStatus waitlist_status = 1; // The wait estimates for each party size requested. The response should // contain exactly one wait estimate for each party size sent in the request. // If a party size is not available for some reason, prefer ommitting it // instead of returning an error so that the user will have some options to // choose from. repeated WaitEstimate wait_estimate = 2; } // A status for the waitlist that determines if new users can join and what // the reason is if they can’t join. enum WaitlistStatus { WAITLIST_STATUS_UNSPECIFIED = 0; // The waitlist is open and is accepting new users. OPEN = 1; // There is currently no wait and users should arrive at the merchant // without joining the waitlist. CLOSED_NO_WAIT = 2; // The waitlist is not currently accepting new users because it is full // or closed for other reasons. CLOSED_OTHER = 3; }
Примеры BatchGetWaitEstimates
Этот пример иллюстрирует случай, когда ресторан обычно допускает значения party_size
от 2 до 10, но на момент запроса значения party_size
выше 7 больше не могут быть размещены (например, ближе к закрытию), а party_size
, равное 2, фактически не имеет значения. ждать.
Получить запрос на ожидание
{ "merchant_id": "dining-1", "party_size": [2, 3, 4, 5, 6, 7, 8, 9, 10], "service_id": "reservation" }
Получить ответ ожидания
{ "waitlist_status": "OPEN", "wait_estimate": [ { "party_size": 2, "wait_length": {} }, { "party_size": 3, "wait_length": { "parties_ahead_count": 3 } }, { "party_size": 4, "wait_length": { "parties_ahead_count": 3 } }, { "party_size": 5, "wait_length": { "parties_ahead_count": 3 } }, { "party_size": 6, "wait_length": { "parties_ahead_count": 3 } }, { "party_size": 7, "wait_length": { "parties_ahead_count": 3 } } ] }