أكواد استخدام الكوبونات: الحجز والحدود والصلاحية وتأكيد التاجر
الإجابة المختصرة
ينبغي أن يتبع كود الكوبون دورة حياة صارمة: يحجز المتسوّق كودًا من عرض لا تزال لديه سعة، ويبقى الكود محجوزًا حتى موعد انتهاء محدد، ولا يصبح مستخدمًا إلا حين يؤكّده التاجر عند نقطة البيع. وإذا انقضى الحجز قبل ذلك انتهت صلاحية الكود. ويجب أن يفرض الخادم، لا التطبيق، الحدَّ الأقصى والصلاحية وقاعدة أن الكود لا يُؤكَّد إلا مرة واحدة، لأن هناك يُمنع الصرف الزائد والاستخدام المكرر.
أهم النقاط
- الحجز والاستخدام حدثان مختلفان، ويجب أن تفصل بينهما التقارير والحدود.
- افرض حد أكواد العرض داخل معاملة واحدة في قاعدة البيانات، حتى لا يأخذ متسوّقان آخر كود في اللحظة نفسها.
- كل حجز يحتاج إلى مدة صلاحية، وإلا تعطّل العرض المحدود بسبب من لا يزورون المتجر أبدًا.
- لا يصبح الكود مستخدمًا إلا حين يؤكّده تاجر مخوّل، ويجب أن يفشل التأكيد الثاني.
الحجز والاستخدام: حدثان مختلفان
الحجز يعني أن المتسوّق حجز كودًا باسمه، والاستخدام يعني أن التاجر أكّد أن الكود استُخدم فعلًا. والخلط بينهما من الأخطاء الشائعة في تطبيقات الكوبونات، ويظهر أثره لاحقًا في تقارير مضخّمة وعروض تنفد قبل أن يزور أحد المتجر.
تخيّل مقهى ينشر عرضًا محدودًا بعدد معين من الأكواد. يحجز المتسوّقون الأكواد يوم الإثنين؛ بعضهم يأتي يوم الثلاثاء، وبعضهم ينسى، وبعضهم حجز فقط ليُبقي الخيار مفتوحًا. فإذا احتسب التطبيق الحجوزات استخدامًا، ظنّ المقهى أن العرض نجح، وربما نفدت الأكواد قبل أن يصل العملاء الحقيقيون. وإذا احتسب الاستخدامات المؤكدة فقط، رأى المقهى ما حدث فعلًا عند نقطة البيع.
ويفصل T-CODE، تطبيق العروض الذي صمّمته FLUIDS وبنته، بين الحدثين. يحجز المتسوّق المسجّل كود العرض، وتبقى الكوبونات المحجوزة منفصلة عن الأكواد المستخدمة، وتحمل الحجوزات معلومات انتهاء الصلاحية، ويؤكّد التاجر الاستخدام كودًا بكود. ويشرح باقي هذا الدليل كيف تُبنى هذه الدورة لتصمد أمام الاستخدام الفعلي.
دورة حياة كود الكوبون حالةً بحالة
صمّم كل كود كآلة حالات صغيرة. لكل حالة معنى واحد، وطريقة دخول محددة، ومجموعة محدودة من الحالات التالية. وأي انتقال غير موجود في الجدول انتقال غير مشروع يجب أن يرفضه الخادم:
| الحالة | المعنى | متى تبدأ | الحالات التالية الممكنة |
|---|---|---|---|
| متاح | للعرض سعة متبقية، ولم يُصرف كود لهذا المتسوّق | بعد نشر العرض وتفعيله | محجوز |
| محجوز | كود فريد يخص متسوّقًا واحدًا وينتظر الاستخدام | حين يحجز المتسوّق والسعة متبقية | مستخدم، منتهٍ، ملغى |
| مستخدم | أكّد التاجر الاستخدام في أحد الفروع | حين يؤكّد موظف مخوّل الكود | لا شيء (حالة نهائية) |
| منتهٍ | انقضى الحجز قبل الاستخدام | عند مرور موعد الانتهاء، أو انتهاء العرض إن كانت تلك القاعدة | لا شيء (حالة نهائية) |
| ملغى | أُلغي الحجز | حين يتراجع المتسوّق أو يُسحب العرض | لا شيء (حالة نهائية) |
وللعرض دورة حياة أبسط خاصة به: مسودة، ثم نشط، ثم منتهٍ لانقضاء مدته أو نفاد أكواده. وحالة الكود مرتبطة بعرضه؛ فحين ينتهي العرض تحتاج الحجوزات القائمة إلى قاعدة: إما أن تُحترم حتى موعد انتهائها، وإما أن تنتهي مع العرض. دوّن القاعدة وأظهرها للمتسوّق.
والحالات النهائية نهائية. فالكود المستخدم لا يعود «غير مستخدم» بتعديل حقل؛ وإذا كان التأكيد خطأً، فسجّل تصحيحًا مستقلًا مع سببه. بهذا تبقى أرقام التاجر جديرة بالثقة، ويجد فريق الدعم سجلًا واضحًا حين يشتكي متسوّق.
كيف تفرض حد الأكواد دون صرف زائد
لا يكون الحد مُلزمًا إلا إذا تحقق منه الخادم وأنقصه في خطوة ذرّية واحدة. فالسؤال في التطبيق «هل بقيت أكواد؟» ثم الحجز بعد لحظة يترك فجوة يأخذ فيها متسوّقان آخر كود معًا. ويتعامل T-CODE مع الحد على أنه مُلزم لا استرشادي، وينبغي لأي تطبيق كوبونات جاد أن يفعل الشيء نفسه.
وعمليًا توجد أنماط موثوقة قليلة، وكلها في قاعدة البيانات لا في تطبيق الجوال:
- تحديث مشروط: زِد عدد الأكواد المصروفة للعرض فقط إذا كان أقل من الحد، واعتبر عدم تحديث أي صف معناه «نفدت الأكواد».
- قفل الصف: اقفل صف العرض، واحسب الحجوزات النشطة، وأضف الحجز الجديد، ثم أكمل المعاملة.
- قيد التفرّد: اسمح بحجز مفتوح واحد فقط لكل متسوّق في كل عرض، حتى لا يأخذ الضغط المتكرر عدة أكواد.
ثم حدِّد ما الذي يحتسبه الحد فعلًا. إذا كان يحتسب الحجوزات، فينبغي أن تعيد الحجوزات المنتهية والملغاة سعتها إلى العرض، وإلا ظهر العرض نافدًا بينما الأكواد غير مستخدمة. وإذا كان يحتسب الاستخدامات فقط، فقد يحجز متسوّقون أكثر من الحد، ويصل بعضهم ليجد العرض قد انتهى. ومن الخيارات الشائعة احتساب الحجوزات النشطة مع الاستخدامات، وإعادة السعة عند انتهاء الحجز.
كيف تختار مدة صلاحية الحجز
ينبغي أن يدوم الحجز بما يكفي لزيارة واقعية، لا أكثر. فإذا قصر وصل المتسوّق ليجد كوده قد انتهى، وإذا طال تعطّلت العروض المحدودة بسبب من غيّروا خططهم.
وتعتمد المدة المناسبة على نوع العرض. فعرض الغداء في مطعم يناسبه حجز في اليوم نفسه، أما خصم في متجر أثاث فقد يحتاج إلى أيام، لأن الناس يخططون لهذه الزيارات. وتتيح بعض المنتجات للتاجر اختيار المدة لكل عرض ضمن حدود تضعها المنصة.
وثلاثة تفاصيل في التنفيذ أهم من المدة نفسها. الأول: احسب موعد الانتهاء في الخادم واحفظه طابعًا زمنيًا مع الحجز، حتى لا تمدّه ساعة الجوال. والثاني: أظهر موعد الانتهاء بوضوح في الكوبونات المحفوظة؛ ففي T-CODE تحمل الحجوزات معلومات انتهاء الصلاحية ليعرف المتسوّق أي العروض لا يزال متاحًا للاستخدام. والثالث: اعتبر الحجز منتهيًا لحظة مرور موعده حتى لو لم تُحدّث المهمة الخلفية الصف بعد؛ فالتحقق من الصلاحية عند التأكيد يمنع الكود المتأخر من المرور.
كيف ينبغي أن يعمل تأكيد التاجر
التأكيد هو اللحظة التي يتحول فيها الكوبون إلى عملية حقيقية، لذا يجب أن يكون سريعًا للموظف في تطبيق التاجر وصارمًا في الخادم. ويمر التأكيد السليم بهذه الفحوص بالترتيب:
- إيجاد الكود. يُدخل الموظف الكود الذي يعرضه المتسوّق أو يمسحه.
- التحقق من الملكية. يجب أن يتبع الكود عرضًا من هذا التاجر.
- التحقق من الفرع. إذا كان العرض مقصورًا على فروع معينة، فيجب أن يكون الموظف المؤكِّد في أحدها.
- التحقق من الحالة. يجب أن يكون الكود محجوزًا، لا منتهيًا ولا ملغى ولا مستخدمًا من قبل.
- التأكيد مرة واحدة. يُسجَّل الكود مستخدمًا بتحديث واحد يفشل إذا سبقه جهاز آخر إلى التأكيد.
- تسجيل من وأين. يُحفظ الموظف والفرع والوقت مع عملية الاستخدام.
وحين يفشل أحد الفحوص، يجب أن تخبر الرسالة الموظف بما يفعله: «استُخدم هذا الكود في فرع آخر» أنفع من «خطأ». وفي T-CODE يظهر إجراء استخدام الكود في التنقل الرئيسي لتطبيق التاجر إلى جانب العروض ولوحة التحكم، ويؤكّد التاجر كل استخدام بكود الاسترداد.
وهنا أيضًا تسقط الاختصارات من جانب المتسوّق. فزر يتيح للمتسوّق تسجيل الكوبون مستخدمًا لا يثبت شيئًا، ولقطة الشاشة يمكن أن تُعرض مرتين. ولا يمنح التاجرَ والمنصةَ سجلًا موثوقًا إلا تأكيدٌ في الخادم يجريه تاجر مخوّل.
منع التلاعب بالكوبونات
كل قاعدة في نظام الكوبونات وُجدت لمنع نوع محدد من التلاعب. وتسميتها تسهّل تحديد الضوابط التي يحتاجها إصدارك الأول:
| التلاعب | صورته | الضابط |
|---|---|---|
| الاحتكار | شخص واحد يحجز أكوادًا كثيرة فيعطّل عرضًا محدودًا | حجز مفتوح واحد لكل متسوّق في كل عرض، مع مدة صلاحية |
| تداول لقطات الشاشة | صورة الكود تُتداول وتُعرض أكثر من مرة | ربط الكود بحساب وتأكيده مرة واحدة فقط |
| تخمين الأكواد | محاولة أكواد متسلسلة أو قصيرة عند نقطة البيع | أكواد عشوائية طويلة وحد لعدد محاولات البحث |
| تعدد الحسابات | شخص يسجّل مرارًا ليحصل على أكواد أكثر | تسجيل موثّق برقم الجوال مثلًا، وفحوص على مستوى الجهاز |
| تواطؤ الموظفين | موظف يؤكّد أكوادًا لمعارفه دون زيارة فعلية | تسجيل الموظف والفرع مع كل استخدام، وتقارير لكل موظف |
| تجّار وهميون | نشاط غير موجود ينشر عروضًا لجمع التسجيلات | مراجعة طلبات التجّار والموافقة عليها قبل إنشاء المتجر |
لا يحتاج أي من هذه الضوابط إلى أدوات ثقيلة. فمعظمها قيود وسجلات تكلفة إضافتها في البداية قليلة، وتكلفة إضافتها لاحقًا كبيرة. والصف الأخير لا يقل أهمية عن غيره: ففي T-CODE يُراجَع طلب التاجر ويُوافَق عليه قبل إنشاء المتجر، وهو ما يتناوله بالتفصيل دليل لوحة عروض التاجر.
وإذا كان لدى التجّار عدة فروع وموظفون في كل منها، فإن صلاحيات تأكيد الاستخدام تصبح جزءًا من منع التلاعب أيضًا؛ راجع أدوار الموظفين لدى التاجر متعدد الفروع. وللمنتج بصورته الكاملة، ابدأ من كيف تبني تطبيق كوبونات ودراسة مشروع T-CODE وخدمة تطوير البرمجيات المخصصة. ويُتفق على نطاق المنتج المشابه وسعره ومدته في عرض مكتوب قبل التطوير.
أسئلة شائعة
ماذا يحدث حين ينتهي حجز الكوبون؟
ينتقل الكود إلى حالة منتهٍ ولا يمكن تأكيده بعد ذلك. وفي كثير من التصاميم يعود مكانه في العرض المحدود ليحجزه متسوّق آخر.
هل يمكن استخدام كود الكوبون نفسه مرتين؟
ليس في نظام مبني جيدًا. فالتأكيد تحديث واحد في الخادم لا ينجح إلا إذا كان الكود لا يزال محجوزًا، فتفشل المحاولة الثانية ولو جاءت من فرع آخر أو جهاز آخر.
هل يُحتسب حد العرض على الحجوزات أم على الاستخدامات؟
من الخيارات الشائعة احتسابه على الحجوزات النشطة مع الاستخدامات، مع إعادة السعة عند انتهاء الحجز أو إلغائه. أما احتسابه على الاستخدامات فقط فيسمح بحجوزات تفوق ما يستطيع التاجر الوفاء به.
لماذا لا يُسمح للمتسوّق بتسجيل الكوبون مستخدمًا؟
لأنه لا يثبت شيئًا للتاجر ويجعل التقارير غير موثوقة. أما تأكيد التاجر للاستخدام، كما في T-CODE، فيسجّل استخدامًا فعليًا في فرع فعلي.
هل تستطيع FLUIDS بناء نظام لحجز الكوبونات وتأكيد استخدامها؟
نعم. نحدد معك حالات الكود وقواعد الحد والصلاحية وصلاحيات التاجر، ثم نبني تطبيق المتسوّق وأدوات التاجر وقواعد الخادم. ويُؤكَّد النطاق والسعر والمدة في عرض مكتوب قبل التطوير.
خدمات التطوير المرتبطة
من الفكرة إلى منتج يعمل
العروض والكوبونات والولاء
اقرأ أيضًا
حوّل الفكرة إلى نطاق مكتوب
مكالمة قصيرة نفهم فيها المستخدمين وسير العمل، ثم عرض مكتوب يحدد النطاق والمدة والسعر قبل بدء التطوير.
ابدأ عبر واتساب