BatchGetWaitEstimates 方法
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
获取所请求商家、服务和就餐人数的 WaitEstimates。合作伙伴后端会验证请求的预计等待时间是否可用,并在响应中提供候位状态以及等待人数。
请求
BatchGetWaitEstimatesRequest
返回值
BatchGetWaitEstimatesResponse
// 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 } }
]
}
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eBatchGetWaitEstimates\u003c/code\u003e retrieves wait estimates for a specified merchant, service, and party sizes, informing users about the waitlist status and estimated wait times.\u003c/p\u003e\n"],["\u003cp\u003eThe request requires \u003ccode\u003emerchant_id\u003c/code\u003e, \u003ccode\u003eservice_id\u003c/code\u003e, and a list of \u003ccode\u003eparty_size\u003c/code\u003e values to obtain wait estimates for different group sizes.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eBatchGetWaitEstimatesResponse\u003c/code\u003e includes the current \u003ccode\u003ewaitlist_status\u003c/code\u003e (OPEN, CLOSED_NO_WAIT, or CLOSED_OTHER) and a list of \u003ccode\u003ewait_estimate\u003c/code\u003e objects.\u003c/p\u003e\n"],["\u003cp\u003eEach \u003ccode\u003ewait_estimate\u003c/code\u003e object contains the \u003ccode\u003eparty_size\u003c/code\u003e and \u003ccode\u003ewait_length\u003c/code\u003e, which can indicate either no wait or the number of parties ahead in line.\u003c/p\u003e\n"],["\u003cp\u003eThe response may only include wait estimates for available party sizes, omitting unavailable options to offer users alternative choices.\u003c/p\u003e\n"]]],["Partners use the `BatchGetWaitEstimatesRequest` to get wait estimates for a specific merchant, service, and multiple party sizes. The partner backend responds with `BatchGetWaitEstimatesResponse`, including the `WaitlistStatus` (open, closed with no wait, or closed otherwise) and `WaitEstimate` for each requested party size. If a party size is unavailable, it should be omitted. An example shows a request for party sizes 2-10, where sizes 8-10 are unavailable and size 2 has no wait.\n"],null,["# BatchGetWaitEstimates method\n\nGet the\n[WaitEstimates](/actions-center/verticals/reservations/waitlists/reference/booking-server-api-rest/e2e-definition/waitestimate-definition) for a requested merchant, service and party size. The\npartner backend verifies that the requested wait estimates are available and\nprovides the waitlist status along with the waits in the response.\n\n**Request**\n\nBatchGetWaitEstimatesRequest\n\n**Return value**\n\nBatchGetWaitEstimatesResponse \n\n```gdscript\n// Batch request for the wait estimates for the specified merchant, service and\n// party sizes.\nmessage BatchGetWaitEstimatesRequest {\n // Required. Partner-provided ID for the merchant.\n string merchant_id = 1;\n\n // Required. Partner-provided ID for the service.\n string service_id = 2;\n\n // Required. The different party sizes WaitEstimates are requested for.\n // WaitEstimates may differ with the number of people in the party. A single\n // request will not include duplicate party sizes.\n repeated int32 party_size = 3;\n}\n\n// Response for the BatchGetWaitEstimates RPC with the wait estimates of the\n// specified merchant, service and party sizes.\nmessage BatchGetWaitEstimatesResponse {\n // Required. A status for the waitlist that indicates whether new users can\n // join and what the reason is if they can't join. If the waitlist is not\n // open, all other fields in the BatchGetWaitEstimatesResponse are expected to\n // be unset.\n WaitlistStatus waitlist_status = 1;\n\n // The wait estimates for each party size requested. The response should\n // contain exactly one wait estimate for each party size sent in the request.\n // If a party size is not available for some reason, prefer ommitting it\n // instead of returning an error so that the user will have some options to\n // choose from.\n repeated WaitEstimate wait_estimate = 2;\n}\n\n// A status for the waitlist that determines if new users can join and what\n// the reason is if they can't join.\nenum WaitlistStatus {\n WAITLIST_STATUS_UNSPECIFIED = 0;\n\n // The waitlist is open and is accepting new users.\n OPEN = 1;\n\n // There is currently no wait and users should arrive at the merchant\n // without joining the waitlist.\n CLOSED_NO_WAIT = 2;\n\n // The waitlist is not currently accepting new users because it is full\n // or closed for other reasons.\n CLOSED_OTHER = 3;\n}\n```\n\nBatchGetWaitEstimates samples\n-----------------------------\n\n\nThis example illustrates a case where a restaurant usually allows `party_size` values\nfrom 2 to 10 but at the time of the request, `party_size` values higher than 7 can no\nlonger be accomodated (close to closing time, for example) and `party_size` of 2 has\nactually no wait. \n\n### Get wait request\n\n```scdoc\n{\n \"merchant_id\": \"dining-1\",\n \"party_size\": [2, 3, 4, 5, 6, 7, 8, 9, 10],\n \"service_id\": \"reservation\"\n}\n```\n\n### Get wait response\n\n```scdoc\n{\n \"waitlist_status\": \"OPEN\",\n \"wait_estimate\": [\n { \"party_size\": 2, \"wait_length\": {} },\n { \"party_size\": 3, \"wait_length\": { \"parties_ahead_count\": 3 } },\n { \"party_size\": 4, \"wait_length\": { \"parties_ahead_count\": 3 } },\n { \"party_size\": 5, \"wait_length\": { \"parties_ahead_count\": 3 } },\n { \"party_size\": 6, \"wait_length\": { \"parties_ahead_count\": 3 } },\n { \"party_size\": 7, \"wait_length\": { \"parties_ahead_count\": 3 } }\n ]\n}\n```"]]