نظرة عامة

على الشركاء المشاركين في برنامج "قوائم الانتظار للحجز" إكمال إعداد الحساب قبل البدء. ومع ذلك، ليست بعض الخطوات الواردة في الدليل العام ضرورية ل استخدام ميزة "قائمة الانتظار". توضّح الإرشادات الواردة في هذه الصفحة الخطوات التي تنطبق على الشركاء المهتمين باستخدام ميزة "قائمة الانتظار" في ميزة "الحجز عبر Google". ننصحك بقراءة هذه النظرة العامة قبل تنفيذ خطوات الدمج.

عملية الإطلاق

يوضّح الشكل 1 عملية إطلاق ميزة "الإجراءات" لدى التجّار المدرَجين في قائمة الانتظار.

الشكل 1: خطوات الدمج على مستوى عالٍ
الشكل 1: خطوات الدمج على مستوى عالٍ

بشكل عام، تم توضيح عمليات نقل البيانات الرئيسية بينك (الشريك) وGoogle في الشكل 2:

الشكل 2: مخطّط بياني لتدفّق بيانات الدمج
الشكل 2: مخطّط تدفق بيانات الدمج

إرشادات لجميع شركاء قوائم انتظار الحجوزات

يُرجى مراعاة ما يلي عند تنفيذ ميزة قوائم الانتظار للحجوزات:

  • يجب أن تكون الخدمة لكل تاجر في قوائم الانتظار للحجز مزوّدة waitlist_rules مملوءة.
    • يجب استخدام الخدمة نفسها لكل من قائمة الانتظار والحجز. بعبارة أخرى، إذا كان مطعمك يسمح أيضًا بالحجوزات، ما عليك سوى إضافة البيانات الوصفية ذات الصلة بقائمة الانتظار إلى الخدمة للحجز.
  • يجب إرسال معلومات عبر الرسائل القصيرة لتنفيذ قائمة الانتظار في الحالات التالية:
    • لتأكيد انضمام المستخدم إلى قائمة الانتظار بنجاح.
    • لإعلام المستخدم بأنّ طاولته جاهزة
    • لإعلام المستخدم بأنّه تم إلغاء إدخاله في قائمة الانتظار
  • يجب أن تحتوي رسائل SMS على رابط يؤدي إلى صفحة يمكن للمستخدمين من خلالها الاطّلاع على حالة انتظارهم.
  • لا يحتاج التجّار المدرَجون في قائمة الانتظار فقط إلى تقديم خلاصات معلومات التوفّر إلى مركز الإجراءات.
  • يجب أن ينفِّذ خادم الحجز جميع الخطوات المتعلّقة بقائمة الانتظار والمُدرَجة في مقالة تنفيذ خادم الحجز. يمكن للشركاء الذين يتيحون كلاً من الحجوزات وقوائم الانتظار إضافة الطرق الجديدة إلى خادم الحجز الحالي.
  • يُجري "مركز الإجراءات" مجموعة من حالات الاختبار لطرق القائمة الانتظار في خادم الحجز.

مخطّط انسيابي للحالة

يوضّح هذا الرسم البياني الحالات التي يجب الإبلاغ عنها في WaitlistEntry.waitlist_entry_state عند الردّ على مكالمات GetWaitlistEntry . يشير الرسم البياني أيضًا إلى حالات تسجيل حقول WaitlistEntry.waitlist_entry_state_times.*_time_seconds وملؤها، وحالات إرسال رسالة قصيرة إلى المستخدم لإعلامه بدخوله إلى حالة جديدة.

الشكل 3: مخطّط بياني لحالة قائمة الانتظار
الشكل 3: مخطّط بياني لحالة قائمة الانتظار

الحالات الحدية الشائعة

في ما يلي الحالات الشائعة في دمج قوائم الانتظار للحجز والحلول المفضّلة لها.

  • إذا كانت بعض أحجام المجموعات (وليس كلها) لا تقبل طلبات جديدة للانضمام إلى قائمة الانتظار لأنّه لا يوجد وقت انتظار لهذه الأحجام، يُفضّل إعادة عرض WaitEstimates لجميع أحجام المجموعات في ردّ BatchGetWaitEstimates والسماح للمستخدمين بالانضمام إلى قائمة الانتظار لهذه الأحجام بدون انتظار. عرض WaitLength مع 0 parties_ahead_count و/أو مع estimated_seat_time_range مع 0 start_seconds و0 end_seconds للparty_sizes بدون انتظار
  • إذا كانت فئة واحدة أو أكثر من فئات عدد الضيوف لا تقبل إضافات جديدة إلى قائمة الانتظار لأنّ وقت الانتظار أصبح طويلاً جدًا، يُفضَّل حذف WaitEstimates لهذه الفئات في ردّ BatchGetWaitEstimates.

ويُفضّل استخدام هذه الأساليب لأنّها تمنح المستخدم خيارات حتى إذا كانت قائمة الانتظار لدى التاجر غير مفتوحة بالكامل.

إرشادات للشركاء الذين يستخدمون قوائم انتظار الحجوزات فقط

يُرجى مراعاة ما يلي إذا كان خادم الحجز مخصّصًا فقط لأجل قوائم الانتظار:

إرشادات للشركاء الذين يجب أن يقبل تاجروهم أو يرفضوا يدويًا عمليات إضافة عملاء إلى قائمة الانتظار

إذا كان التجّار بحاجة إلى إمكانية قبول أو رفض طلبات الإضافة الجديدة إلى قائمة الانتظار من Google يدويًا، يجب اتّخاذ خطوات إضافية:

  • اضبط waitlist_confirmation_mode على WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS في wait_estimate لحجم المجموعات التي تتطلّب تأكيدًا يدويًا. يجب ضبط هذه القيمة في BatchGetWaitEstimateResponse و GetWaitlistEntryResponse.
  • إنّ إدخالات قائمة الانتظار التي طلبها المستخدم ولم يقبلها التاجر بعد يجب أن تكون في الحالة PENDING_MERCHANT_CONFIRMATION.

حالات اختبار قوائم انتظار الحجوزات

تختبر Google حالات الاستخدام التالية لضمان وظيفة methods في قائمة الانتظار عند تنفيذ خادم الحجز. تختبر Google أيضًا وقت الاستجابة و تراقبه. يجب اجتياز جميع هذه الاختبارات قبل الإطلاق.

استرجاع WaitEstimate

  • يتم عرض تقديرات وقت الانتظار لكل حجم مجموعة مطلوب في BatchGetWaitEstimatesRequest.
  • بالنسبة إلى أحجام المجموعات التي يتوفّر للتاجر خيار قبول أو رفض إضافات جديدة إلى قائمة الانتظار، اضبط waitlist_confirmation_mode على WAITLIST_CONFIRMATION_MODE_ASYNCHRONOUS.

إنشاء إدخال في قائمة الانتظار

  • يمكن إنشاء إدخال في قائمة الانتظار من طلب CreateWaitlistEntry.
  • إذا تعذّر إنشاء إدخال في قائمة الانتظار، سيظهر خطأ في منطق النشاط التجاري في الاستجابة.
  • إذا نجحت محاولة CreateWaitlistEntry، يتم عرض الاستجابة نفسها عند تلقّي CreateWaitlistEntry نفسه مرة أخرى.
  • إذا تعذّر إكمال محاولة CreateWaitlistEntry، يعيد الخادم المحاولة عند تلقّي CreateWaitlistEntry نفسه مرة أخرى.
  • تظهر إدخالات قائمة الانتظار في واجهة التاجر.
  • تؤدي المكالمات إلى GetWaitlistEntry إلى عرض إدخال قائمة الانتظار الذي تم إنشاؤه بنجاح.

حالات إدخالات قائمة الانتظار والطوابع الزمنية

  • تأكَّد من أنّه يتم عرض حالة كل إدخال في قائمة الانتظار بشكل صحيح في إدخال قائمة الانتظار الذي يحتوي على GetWaitlistEntry ردّ.
  • تأكَّد من ضبط الطابع الزمني لكل حالة في حقل الطابع الزمني المناسب لentry في ردود GetWaitlistEntry.

حذف إدخال قائمة الانتظار

  • يمكن حذف إدخالات قائمة الانتظار الحالية. يجب أن يكون الردّ على عملية حذف ناجحة هو العنصر proto الفارغ {}.

إيقاف

نموذج خلاصة خدمة قائمة الانتظار (بتنسيق JSON)

خلاصة خدمة قائمة الانتظار

إيقاف التاجر للميزة

تتوقّع Google تلقّي ردود معيّنة من التجّار الذين سبق أن فعّلوا قوائم الانتظار ولكن قرّروا إيقافها.

إيقاف فوري

إيقاف مشاركة البيانات الشخصية لفترة زمنية أطول

  • أزِل الرمز waitlist_rules من خلاصة الخدمات للتاجر إذا كان التاجر لا يوقف الحجوزات.
  • أزِل التاجر من خلاصة التجار إذا أوقف جميع عمليات دمج Google.