مقدّمة عن قوائم الانتظار

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

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

يوضّح الرسم 1 عملية إطلاق حسابات التجّار الذين فعّلوا قوائم الانتظار في ميزة "الحجز عبر Google".

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

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

الشكل 2: الرسم البياني لتدفق بيانات الدمج
الشكل 2: الرسم البياني لتدفق بيانات الدمج

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

يجب مراعاة ما يلي عند تطبيق ميزة "قائمة الانتظار":

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

رسم بياني انسيابي للحالة

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

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

الحالات القصوى الشائعة

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

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

ويُفضّل استخدام هذه الطرق، لأنّها تمنح المستخدمين خيارات مع أنّ قائمة الانتظار الخاصة بالتاجر قد لا تكون مفتوحة بالكامل.

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

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

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

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

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

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

حالات اختبار في قائمة الانتظار

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

استرجاع WaitEstimate

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

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

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

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

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

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

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

إيقاف

  • تحقَّق من أنّه سيتم التعامل مع التجّار الذين أوقفوا خدمة تلقّي الأموال على النحو الموضّح في القسم إيقاف التاجر.

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

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

إيقاف التاجر

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

الإيقاف الفوري

تمديد الإيقاف

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