เมธอด 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 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 {
  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 } }
  ]
}