طريقة BatchGetWaitEstimates

الحصول على WaitEstimates لتاجر وخدمة وعدد أشخاص مطلوبين يتأكّد نظام الشريك الخلفي من توفّر تقديرات وقت الانتظار المطلوبة، ويقدّم حالة قائمة الانتظار مع أوقات الانتظار في الردّ.

الطلب

BatchGetWaitEstimatesRequest

القيمة المعروضة

BatchGetWaitEstimatesResponse

// Batch request for the wait estimates for the specified merchant, service and
// party sizes.
message BatchGetWaitEstimatesRequest {
  option features.(pb.java).nest_in_file_class = YES;

  // Required. Partner-provided ID for the merchant.
  string merchant_id = 1 [features.(pb.cpp).string_type = STRING];

  // Required. Partner-provided ID for the service.
  string service_id = 2 [features.(pb.cpp).string_type = STRING];

  // 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 {
  option features.(pb.java).nest_in_file_class = YES;

  // Required. A status for the waitlist that indicates whether new users can
  // join and what the reason is if they cant 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 cant join.
enum WaitlistStatus {
  option features.(pb.cpp).enum_name_uses_string_view = false;
  option features.(pb.java).nest_in_file_class = YES;

  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 } }
  ]
}