أنشئ مساعد حجز مواعيد عبر واتساب يجيب عن سؤال حول إصلاح الدراجات، ويعرض الأوقات المتاحة فعليًا، وينشئ موعدًا مؤكدًا في Calendly. يسأل العميل عن الخدمة، ويختار وقتًا، ويقدّم بياناته في محادثة واتساب نفسها.
المثال هو Harbor Cycle Workshop، وهي شركة خيالية تقدّم Repair assessment مجانيًا مدته 15 دقيقة (أي تقييمًا للإصلاح). في اختبارنا المُتحكَّم فيه على واتساب، اختار العميل الساعة 10:00 يوم 27 أكتوبر 2026 بتوقيت Europe/London. وطابق التأكيد المُسلَّم الموعد في Calendly، من 10:00 إلى 10:15.


لقطات شاشة حقيقية من واتساب على الهاتف. طابق التأكيد موعد Calendly الذي تم التحقق منه بشكل مستقل. عناوين البريد الإلكتروني وتفاصيل الروابط الشخصية مخفية، وتسميات جهة الاتصال موحّدة باسم الورشة.
ما الذي سيفعله مساعد الحجز عبر واتساب؟
يُنجز العميل ثلاث خطوات في واتساب:
| خطوة العميل | ما يفعله الوكيل |
|---|---|
| يسأل عن إصلاح ثقب في الإطار | يوضح سعر أجرة العمل الذي يبدأ من £12، وتكلفة قطع الغيار الإضافية، والتقييم المجاني |
| يطلب موعدًا للتقييم | يقرأ التوافر في Calendly ويعرض أوقاتًا بالمنطقة الزمنية للورشة |
| يختار وقتًا من الأوقات المعروضة ويقدّم اسمه وبريده الإلكتروني | ينشئ الموعد المطلوب في Calendly، ثم يعيد تأكيده وروابط إدارته |
ستبني ذلك في ست خطوات: إضافة معرفة الورشة، وتجهيز حدث Calendly، وربط أدواته، وضبط تعليمات الحجز، واختبار المحادثة كاملة، ثم تكرارها على واتساب. أما MCP (Model Context Protocol) فهو الاتصال الذي يتيح للوكيل استخدام أدوات التوافر والحجز في Calendly.
ما تحتاج إليه
- أنشئ حساب Quickchat AI وتحقق من بريدك الإلكتروني إذا طُلب منك ذلك. يحتاج النشر التجاري إلى خطة تجارية ورصيد AI، كما تستهلك ردود AI Preview وSimulation Testing رصيدًا أيضًا. راجع أسعار Quickchat AI.
- استخدم خطة Calendly Standard أو أعلى. يتطلب مرجع Booking API الخاص بها خطة مدفوعة لإنشاء المواعيد، حتى وإن كان اتصال MCP نفسه مجانيًا.
- تأكد من امتلاكك صلاحية الوصول إلى حساب Meta للأعمال المقصود ورقم WhatsApp Business Platform. اتبع مسار التحقق المدعوم وراجع أسعار المراسلة لدى Meta.
- جهّز هاتف عميل اختباري تتحكم فيه وصندوق بريد اختباري. ضع تسمية مميزة على المواعيد الاختبارية وألغِها. استبدل بيانات الشركة الخيالية قبل النشر.
نزّل حزمة Harbor Cycle Workshop للحصول على Main Prompt بنصه الدقيق، والمقالات المصدرية الخمس، وإعداد Calendly، ونص التحويل، ومدخلات الاختبار. هذه ملفات إعداد قابلة للتعديل، وليست استيرادًا بنقرة واحدة. يظهر Main Prompt ومصادر المعرفة أيضًا في نهاية هذا الدليل.
ابنِ واختبر في AI Preview أولًا، ثم كرّر المحادثة على واتساب. لتفويض جزء من الإعداد، استخدم شرح ChatGPT أو Claude الاختياري مع الحزمة نفسها.
الخطوة 1: زوّد الوكيل بمعرفة الورشة
تزوّد خمس مقالات قصيرة الوكيل بحقائق الخدمة، مع إبقاء الأسعار وساعات العمل والأوقات القابلة للحجز متمايزة عن بعضها.
استخدم معرفة الورشة للحقائق الثابتة، وCalendly للأوقات المتاحة فعليًا.
- في إعداد الحساب، اختر مسار الإنشاء من الوصف. أدخل «مساعد خدمة لـ Harbor Cycle Workshop يجيب عن أسئلة إصلاح الدراجات ويحجز Repair assessment مدته 15 دقيقة»، ثم اختر Create my AI Agent.
- تابع بالنقر على Next. اختر خطة أو انقر على Skip for now لإنهاء الإعداد. افتح Identity واضبط الاسم على Harbor Cycle Workshop.
- افتح Knowledge Base > Add Article. أدخل عنوان المصدر الأول في Create custom article، ثم اختر Create article.
- الصق المصدر كاملًا في Content داخل Edit Article، واختر Save، وانتظر ظهور Ready. كرّر ذلك للمصادر الأربعة الأخرى. تعالج كل عملية حفظ مقالتها.
الصق المصدر كاملًا في Content، ثم احفظه وتحقق من معالجته. يعرض المحرر المحلي بداية مقالة الخدمات.
| المصدر المطلوب نسخه | ما الذي يرسّخه |
|---|---|
| 1. الخدمات | التقييم المجاني الذي مدته 15 دقيقة فحص، وليس حجزًا لأعمال إصلاح |
| 2. الأسعار الإرشادية | أسعار أجرة العمل الابتدائية وتكاليف قطع الغيار الإضافية |
| 3. ساعات العمل والمواعيد | ساعات العمل وجدول المواعيد والتوافر الفعلي أمور متمايزة |
| 4. الموقع والتواصل | موقع الحضور الشخصي ومسار الوصول إلى فريق الورشة |
| 5. المساعدة البشرية وحدود الحجز | التأكيد، والنتائج غير المؤكدة، وروابط الإدارة، والخيار الاحتياطي |
توجد الكتل الكاملة في ملحق المعرفة القابل للنسخ وفي مجلد knowledge/ داخل الحزمة.
اترك المخزون وعروض الأسعار النهائية ومواعيد الإنجاز لفريق الورشة عند تكييف وثائقك المعتمدة.
تحقق من النتيجة الأولى: بعد أن تصبح المصادر الخمسة كلها في حالة Ready، اسأل «إطار دراجتي مثقوب. كم قد يكلفني ذلك، وما الذي يشمله التقييم؟» في AI Preview. ابحث في الرد عن سعر أجرة العمل الذي يبدأ من £12، واحتساب قطع الغيار بشكل منفصل، وتقييم لا يحجز أعمال إصلاح.

الخطوة 2: جهّز موعد Calendly
أنشئ حدثًا واحدًا باسم Repair assessment بمدة وموقع وجدول ثابتة. سيستخدم الوكيل معرّف هذا الحدث للتوافر والحجز.
| إعداد Calendly | قيمة العرض التوضيحي |
|---|---|
| اسم الحدث ونوعه | Repair assessment؛ مضيف واحد وعميل واحد |
| المدة | 15 دقيقة |
| الموقع | 14 Workshop Lane، Bristol، المملكة المتحدة، وهو عنوان خيالي صراحةً |
| المنطقة الزمنية للتوافر | Europe/London |
| من الثلاثاء إلى الجمعة | من 10:00 إلى 16:00 |
| السبت | من 10:00 إلى 13:00 |
| الاثنين والأحد | غير متاح |
| الدفع والأسئلة الإضافية المطلوبة | لا شيء |
- في Scheduling داخل Calendly، عدّل الحدث المقصود أو اختر + Create لإنشاء حدث فردي جديد. املأ Event name وDuration وLocation وAvailability، ثم اختر Save changes. تشرح تعليمات إعداد الأحداث من Calendly عناصر التحكم هذه.
- اربط التقويم الذي ينبغي لـ Calendly التحقق من التعارضات فيه. اضبط المنطقة الزمنية وساعات التوافر الخاصة بالحدث نفسه، ثم أضف استثناءات العطلات الفعلية وحدود الحجز. تجنّب تغيير جدول مشترك تستخدمه أحداث أخرى لا علاقة لها بهذا الحدث.
- في More options > Notifications and automations، عدّل إشعار البريد الإلكتروني الأساسي أو إشعار دعوة التقويم. فعّل Include cancel and reschedule links in email invitations and reminders، ثم احفظ. تمنح روابط الإدارة الشخصية هذه العملاء مسارًا آخر لإدارة موعدهم.
- افتح الصفحة العامة للحدث وتحقق من اسمه ومدته البالغة 15 دقيقة وعنوانه والتواريخ المتاحة فيه. في Scheduling، استخدم Copy link لهذا الحدث تحديدًا واحتفظ به بوصفه عنوان URL الاحتياطي للخطوة 4.
تحقق من اسم التقييم ومدته وموقعه على صفحة الجدولة العامة الخاصة به. هذا هو حدث العرض التوضيحي الحقيقي.
تفتح الورشة أبوابها في 09:00، لكن التقييمات تبدأ في 10:00. ويحدد جدول الحدث في Calendly والتقويم المرتبط به المواعيد التي يستطيع الوكيل عرضها.
الخطوة 3: اربط Calendly وقيّد أدواته
يمنح اتصال Calendly عبر MCP الوكيل مجموعة من العمليات المسمّاة. فعّل عمليات القراءة اللازمة للعثور على الحدث وأوقاته، ثم أضف الحجز فقط عندما تكون التعليمات والفحوصات جاهزة.
الفكرة: يحمل واتساب المحادثة، ويجيب Quickchat AI عن أسئلة الخدمة ويستخدم Calendly للعثور على الأوقات وإنشاء الموعد.
اربط الحساب واضبط قائمة الأدوات
- افتح Actions & MCPs > Add Action > MCP، واختر Calendly من الكتالوج، وأكمل مسار التفويض الخاص به بالحساب الاختباري الذي تتحكم فيه.
اختر Connect with Calendly لتفويض الحساب. شاشة إعداد محلية حقيقية.
- افتح الـ Action الناتج عبر Edit Action. اضبط MCP action name على Harbor Cycle Workshop appointments.
- ضمن Tools، اضبط Default tool activation على معطّل، ثم طبّق الجدول أدناه واختر Save. إذا استخدمت Use recommended، فراجع مفاتيح التبديل الناتجة: أداة الإلغاء التي يفعّلها خارج نطاق هذا الإعداد.
| الأداة | أثناء الإعداد | أثناء اختبار الحجز |
|---|---|---|
users-get_current_user | مفعّل | مفعّل |
event_types-list_event_types | مفعّل | مفعّل |
event_types-list_event_type_available_times | مفعّل | مفعّل |
meetings-create_invitee | معطّل | مفعّل، بعد الخطوة 4 واختبارات الخدمة |
meetings-cancel_event وكل أداة Calendly أخرى | معطّل | معطّل |
| Default tool activation | معطّل | معطّل |
فعّل الحجز للخطوة 5، وأبقه معطّلًا أثناء الإعداد الأولي. يبقى الإلغاء وDefault tool activation معطّلين. مثال على إعدادات محلية.
تحدد مفاتيح تبديل الأدوات العمليات المتاحة. أما Main Prompt فيحدد حدث الورشة، وبيانات العميل المطلوبة، ومتى ينبغي الحجز.
انسخ معرّف الحدث دون تخمين
قبل استبدال قيمتَي المشغّل في الـ prompt، ابدأ محادثة AI Preview جديدة مع تفعيل أدوات القراءة الثلاث فقط. يطلب طلب الإعداد هذا تفاصيل الحدث، دون التحقق من الأوقات أو إنشاء موعد:
انسخ طلب البحث عن الحدث للقراءة فقط
Find the active Repair assessment event lasting 15 minutes in my connected Calendly account. Look up the account owner first and copy the returned owner URI unchanged when listing their events. Follow pagination if needed. Return the exact name, duration, uri and scheduling_url in one plain-text code block. Copy both URLs in full. If there is not exactly one match, stop and explain. Do not create, change or cancel anything.
مرّر المؤشر فوق الرد واختر Copy. طابق الاسم والمدة والرابط العام مع الحدث من الخطوة 2. احتفظ بقيمتَي uri وscheduling_url الكاملتين لإعدادَي الـ prompt أدناه. إذا كان البحث غامضًا أو فشل، فعالج ذلك قبل تفعيل الحجز.
استخدم uri لاستدعاءات الأدوات وscheduling_url للصفحة الاحتياطية. انسخ القيمتين كاملتين من الرد، بما في ذلك https://.
احفظ مراجع الحجز للأدوار اللاحقة
وسّع meetings-create_invitee، حتى وإن كان مفتاح تبديله معطّلًا، لإظهار Save to memory. تأكد من وجود هذه الصفوف ثم اختر Save:
| تعبير JSONPath | مفتاح الذاكرة |
|---|---|
$.resource.event | calendly_event_uri |
$.resource.cancel_url | calendly_cancel_url |
$.resource.reschedule_url | calendly_reschedule_url |
يحدد كل تعبير JSONPath حقلًا من الاستجابة، ويجعل مفتاح الذاكرة الخاص به تلك القيمة متاحة للرسائل اللاحقة. مثال على إعدادات محلية.
بعد الحجز، ينبغي أن يعيد السؤال «هل يمكنني تغيير الوقت؟» رابط إعادة الجدولة المحفوظ لهذا الموعد. تتحقق الخطوة 5 من تلك القيمة بالضبط دون حجز آخر أو بحث عبر البريد الإلكتروني.
استخدم Europe/London لأوقات مواعيد الورشة. يحوّل Quickchat AI التواريخ المحلية برمجيًا ويعيد خيارات موسومة. ويستخدم الوكيل الخيار الذي حدده العميل للحجز.
كيف تُملأ حقول الحدث والموعد
مع تفعيل التوافر والحجز معًا، تقبل أدوات Calendly تواريخ محلية ومنطقة زمنية صريحة. يتولى Quickchat AI التحويل إلى UTC ويتحقق من الفترة المحددة مرة أخرى قبل إرسالها إلى Calendly. وتبقى أسماء الأدوات كما هي.
| القيمة | من أين تأتي | إلى أين تذهب |
|---|---|---|
| معرّف الحدث المعتمد | عملية البحث عن الحدث التي تم التحقق منها | event_type في التوافر وpost_invitee_request.event_type في الحجز |
| نطاق التاريخ المطلوب | من منتصف ليل التاريخ المطلوب إلى منتصف ليل التاريخ التقويمي التالي | local_start_time وlocal_end_time وtimezone في التوافر |
| الوقت المحلي المعروض | قيمة display_time المعادة لكل خيار | اختيار العميل وتأكيد الحجز |
| الموعد المحدد | قيمة local_start_time الخاصة بالخيار، بما فيها فرق التوقيت، وtimezone | post_invitee_request.local_start_time وbooking_timezone في الحجز |
| بيانات العميل | اسم العميل وبريده الإلكتروني ومنطقته الزمنية المؤكدة | post_invitee_request.invitee |
| الموقع الفعلي الثابت | إعداد الحدث والورشة | post_invitee_request.location |
يكفي طلب واضح لوقت معروض مع بيانات العميل المطلوبة للمتابعة. وإذا كان الطلب مبدئيًا أو غير واضح، يطلب الوكيل التأكيد أولًا. يطابق Quickchat AI اللحظة الزمنية المختارة مع التوافر الحالي ويرسل إلى Calendly طابعها الزمني الأصلي.
الخطوة 4: اضبط تعليمات الحجز ومسار التحويل إلى فريق الورشة
يجمع Main Prompt حقائق الخدمة وأدوات التقويم في محادثة واحدة: التحقق من الأوقات، والحصول على اختيار واضح والبيانات المطلوبة، ثم الحجز، ثم تأكيد النتيجة. قد تكفي عبارة «سآخذ موعد 10:00» مع اسم العميل وبريده الإلكتروني لإكمال الطلب. أما الاختيار المبدئي أو البيان الناقص فيستدعي سؤالًا قبل الحجز.

ثبّت Main Prompt كاملًا
افتح Identity > Main Prompt والصق Main Prompt كاملًا، وهو متوفر أيضًا في الحزمة بوصفه الملف main-prompt.txt. استبدل NOT CONFIGURED في سطرَي الإعداد هذين فقط:
| إعداد الـ prompt | القيمة المطلوب لصقها |
|---|---|
| Approved Calendly event type URI | قيمة uri الكاملة من الخطوة 3 |
| Approved Calendly booking link | قيمة scheduling_url العامة التي تم التحقق منها |
اترك جملة الحماية اللاحقة دون تغيير. يُحفظ Main Prompt تلقائيًا، فانتظر انتهاء الحفظ ثم أعد فتحه للتحقق من النص المخزّن. يظهر الموقع الخيالي في المعرفة والحدث وتعليمات الحجز، فحدّث الثلاثة معًا عند إعداد ورشة حقيقية.
اضبط URI الحدث ورابط الحجز الاحتياطي في Main Prompt، ثم تحقق من القيم المحفوظة. محرر محلي حقيقي.
اضبط Human Handoff
افتح Actions & MCPs > Human Handoff، وفعّله، وشغّل AI summary. في Handoff Rules، استخدم زر علامة الزائد لإضافة Workshop handoff، وفعّل القاعدة، والصق ما يلي في Description:
انسخ نص Description لقاعدة Workshop handoff
Offer Human Handoff when the customer asks for a person; needs a final quote, parts availability or repair completion date; describes unsafe brakes, crash or frame damage, or an e-bike battery problem; or encounters a booking failure, uncertain booking result or problem with an existing appointment. Do not diagnose the bicycle, invent availability or claim that a booking was made or changed.
اضبط Question على:
Would you like me to pass this conversation to the workshop team?
اضبط Confirmation على:
Your conversation has been flagged for the workshop team to review. A member of staff can reply here when available. This handoff has not booked an appointment.
يسأل نص Question قبل التحويل، ويوضح نص Confirmation أن فريق الورشة يستطيع الرد وأنه لم يُحجز أي موعد. مثال على إعدادات محلية.
أبقِ سلوك الطلب الصريح من المستخدم وLack of knowledge مفعّلين. اترك Human Agents’ availability دون تقييد حتى يستطيع العملاء الدخول في قائمة الانتظار بينما فريق الورشة غير متصل. استخدم Email notifications فقط مع عنوان بريد حقيقي تتم متابعته، فالعنوان الخيالي .example لا يستطيع استلامها. احفظ الإعدادات.
اختبر مسار التحويل هذا إلى فريق الورشة بعد محادثة الحجز في الخطوة 6.
الخطوة 5: اختبر المحادثة ونتيجة التقويم
شغّل أسئلة الخدمة الأربعة أولًا، ثم أكمل محادثة حجز واحدة في AI Preview. تحقق من الموعد في Calendly قبل نقل المحادثة إلى واتساب.
تحقق من إجابات الخدمة في Simulation Testing
أبقِ meetings-create_invitee معطّلة أثناء التحقق من أسئلة الخدمة الأربعة.
افتح Testing لإنشاء مجموعة بيانات الورشة أو العثور عليها. مثال على إعداد محلي.
- افتح Testing من الشريط الجانبي. عنوان الصفحة هو Simulation Testing.
- اختر Create Dataset > Paste messages وسمّها Workshop service checks.
- الصق هذه الرسائل الأربع، مفصولة بسطر لا يحتوي إلا على
---، ثم اختر Create:
انسخ رسائل اختبار الخدمة الأربع
My bike has a puncture. How much might it cost, and what does the assessment cover?
---
Are you open on Monday? Can I bring my bike on Saturday?
---
Do you have my inner tube in stock, and can you finish the repair tomorrow?
---
What should I bring to my Repair assessment?
افتح مجموعة البيانات، والصق ما يلي في Evaluation criteria، ثم اختر Save:
انسخ معايير تقييم الخدمة
Check service facts against the workshop knowledge. Puncture labour starts at £12 with parts extra. The free Repair assessment is 15 minutes and is not a repair reservation. Monday is closed. Saturday opening hours are 09:00 to 14:00 Europe/London, not evidence of available appointments. Do not promise stock, final prices, repair completion dates or that an unsafe bicycle is safe. Score the visible reply only; inspect Action calls and Calendly separately to verify bookings.
أسئلة الخدمة الأربعة في مجموعة البيانات المحلية، جاهزة لتشغيلها الأول.
لتشغيل الفحوصات ومراجعتها:
- اختر Run، وأعطِ التشغيل تسمية مثل
workshop service baseline، وراجع تكلفة الرصيد المعروضة، ثم اختر Start Run. - افتح التشغيل المكتمل واقرأ كل رد وكل AI Score وتبرير التقييم. استخدم View لفحص المحادثة الخاصة به.
- تحقق من أي تعيين تحويل وملخص له في Inbox.
يبدأ كل عنصر في مجموعة البيانات محادثة جديدة. استخدم اختبار AI Preview المتواصل أدناه للحجز. يشرح دليل اختبار وكيل الدعم كيفية مقارنة التشغيلات بعد إجراء تعديل.
شغّل محادثة حجز واحدة كاملة
اقرأ التوافر، وحدد الموعد المطلوب، واجمع بياناته. لا تؤكد الحجز إلا بعد أن يعيد Calendly نتيجة ناجحة.
بعد إكمال الخطوات 1–4 وفحوصات الخدمة، فعّل meetings-create_invitee في Tools، واختر Save، وابدأ محادثة AI Preview جديدة. استخدم تاريخًا مستقبليًا ضمن نطاق الحجز الخاص بالحدث وصندوق بريد تتحكم فيه.
| أرسل بالترتيب | النتيجة المتوقعة |
|---|---|
| «إطاري الخلفي مثقوب. كم تكلفة الإصلاح؟» | سعر أجرة العمل الابتدائي، وقطع الغيار بتكلفة إضافية، ودون عرض سعر ملزم |
| «أريد حجز Repair assessment في [تاريخ مستقبلي كامل]، بتوقيت Europe/London.» | الأوقات المتاحة في التاريخ المطلوب، موسومة بالمنطقة الزمنية للورشة |
| «سآخذ الخيار [رقم]. اسمي [اسم اختباري]، وبريدي الإلكتروني [بريد إلكتروني تتحكم فيه].» | موعد واحد مطابق للتاريخ والوقت المحددين، يليه تأكيده |
| «هل يمكنك إرسال رابط تغيير الوقت؟» | عنوان URL المحفوظ لإعادة الجدولة، دون حجز جديد |
| «ما الذي ينبغي أن أحضره معي؟» | نصائح التحضير من معرفة الورشة |
استبدل التعليمات الموضوعة بين قوسين معقوفين بقيم اختبارك. اذكر التاريخ الكامل والمنطقة الزمنية صراحةً. إذا كان هناك بيان ناقص أو كان الطلب غير واضح، فأجب عن سؤال الوكيل قبل المتابعة، إذ لا ينبغي له اختلاق اسم أو بريد إلكتروني أو اختيار موعد.
تحقق من الموعد والمتابعة
- في محادثة Inbox المطابقة، وسّع مؤشر استدعاء الإجراء. تحقق من أن استدعاء الحجز جاء بعد اختيار واضح وبيانات العميل المطلوبة.
- افتح الموعد في Calendly. طابق حدثه وتاريخه الكامل ومنطقته الزمنية ومدته وموقعه والعميل الاختباري مع الموعد المطلوب والتأكيد المُسلَّم.
- اطلب رابط إعادة الجدولة ونصائح التحضير. قارن الرابط مع Inbox > Details > Memory، كما هو موضح في دليل الفحص أدناه.
وسّع الـ Action المستدعى لفحص مدخلاته ونتيجته. بيانات اختبار محلية مع استجابة حجز اصطناعية.
قارن التاريخ والوقت والمنطقة الزمنية المحددة مع سجل مزود الخدمة، ثم نظّف آثار الاختبار المُتحكَّم فيه.
افحص سجل الـ Action وروابط الحجز المحفوظة
للاطلاع على سجل الـ Action، افتح Actions & MCPs واختر View logs على Harbor Cycle Workshop appointments. افتح استدعاء الحجز وافحص Parameters sent بحثًا عن معرّف الحدث وpost_invitee_request.local_start_time وbooking_timezone حيث تكون ظاهرة. طابق الاستدعاء مع محادثته قبل مقارنته باختيار العميل وبياناته.
اختر View logs على بطاقة الـ Action للعثور على استدعاءاته المسجلة. بيانات اختبار محلية.
طابق Parameters sent الظاهرة مع الموعد المحدد. بيانات اختبار محلية مع طلب حجز اصطناعي.
افتح الموعد في Calendly للاطلاع على تفاصيله الكاملة وطابقها مع الموعد الذي طلبه العميل. يربط هذا الجدول تلك التفاصيل بحقول الحجز الخاصة بها:
| التفصيل المطلوب | طلب الحجز | الموعد المحفوظ |
|---|---|---|
| Repair assessment، 15 دقيقة | قيمة event_type المعتمدة | الحدث والمدة الصحيحان |
| التاريخ الكامل والوقت والمنطقة الزمنية | قيمتا local_start_time وbooking_timezone المحددتان؛ وقيمة timezone الخاصة بالمدعو على حدة | اللحظة الزمنية نفسها، مع مراعاة منطقة العرض الزمنية لدى المشغّل |
| الاسم والبريد الإلكتروني | invitee | العميل الاختباري المقصود |
| عنوان الورشة | قيمة location الفعلية | موقع الحضور الشخصي نفسه |
بالنسبة إلى السؤال «هل يمكنك إرسال رابط تغيير الوقت؟»، افتح Inbox > Details > Memory. مرّر المؤشر فوق Calendly Reschedule Url، واختر Copy، وقارن القيمة الكاملة مع الوجهة التي يشير إليها الرابط في الرد.
افتح Memory واستخدم Copy لنسخ الرابط المحفوظ كاملًا. بيانات اختبار محلية مع عناوين URL نموذجية غير فعّالة.
يتحقق هذا من استرجاع رابط هذه المحادثة. ولا يثبت أن العميل أكمل إعادة الجدولة.
تحقق من التاريخ والمنطقة الزمنية
استخدم التاريخ الكامل، بما فيه السنة، وEurope/London لهذا الموعد الحضوري. تتنقل لندن بين التوقيت الصيفي البريطاني وGMT، لذا يمكن أن يقابل وقت الساعة نفسه أوقات UTC مختلفة. يتولى تكامل Quickchat AI مع Calendly هذا التحويل برمجيًا ويحجز بالطابع الزمني المطابق الذي يعيده Calendly.
يقابل وقت الساعة نفسه في لندن أوقات UTC مختلفة قبل تغيير الساعة وبعده.
عند قراءة الموعد في Calendly، ضع في حسابك المنطقة الزمنية المعروضة فيه عند مقارنته بالوقت الذي اختاره العميل. وفي تاريخ تغيير الساعة، يجب أن يغطي استعلام التوافر اليوم المحلي كاملًا: فقد يفصل بين حدَّي منتصف الليل فيه 23 أو 25 ساعة. إذا اختلف الوقت بساعة، فصحّح معالجة التاريخ أو المنطقة الزمنية وكرّر الفحص قبل أي حجز آخر.
تحقق من تغييرات التاريخ والأوقات غير المتاحة والحالات الحدّية الأخرى
| الفحص | النتيجة المقبولة |
|---|---|
| تغيير التاريخ بعد اختيار وقت | توافر جديد واختيار واضح للموعد الجديد قبل الحجز |
| طلب الساعة 09:00 لأن الورشة مفتوحة | لا فترة مختلقة؛ يستخدم التوافر الفعلي للتقييم |
| حجب البريد الإلكتروني أو قول «قد يناسبني موعد 10:00» | سؤال لتحديد البيان الناقص أو النية الواضحة؛ لا حجز بعد |
| إرسال «نعم» فقط دون موعد حالي محدد | استيضاح، لا حجز جديد |
| تكرار «نعم» أو طلب رابط إدارة بعد حجز ناجح | الإشارة إلى الموعد القائم؛ لا حجز ثانٍ |
| طلب تاريخ غير متاح أو وقت مشغول | لا عرض لفترة غير موجودة، ولا ادعاء بأن الأوقات البديلة محتجزة أو محجوزة |
| طلب البحث عن حجز شخص آخر عبر بريده الإلكتروني | لا بحث ولا إفصاح |
| وصف أضرار حادث أو مكابح قد تكون غير آمنة | لا تطمين بالسلامة عن بُعد؛ نصيحة بعدم القيادة ومساعدة من فريق الورشة |
استخدم محادثات منفصلة حيث قد ينهي التحويل الاختبار. وأدرج تاريخًا في التوقيت الصيفي وآخر في التوقيت الشتوي عندما يكونان متاحين للاختبار.
عالج مشكلات اختبار لا يكتمل
| العَرَض | ما الذي ينبغي فحصه | الخطوة التالية |
|---|---|---|
| لا أوقات ليوم يبدو مفتوحًا | تفعيل الحدث، وجدول الحدث، وتقويم التعارضات، ونطاق التاريخ المحلي والمنطقة الزمنية المطلوبين | تحقق من التوافر الفعلي للحدث؛ فساعات عمل الورشة لا تنشئ فترات |
| رد أو موعد منحرف بساعة واحدة | قيمة display_time المعادة، والتاريخ المحلي والمنطقة الزمنية المعتمدان، وقيمة local_start_time المحددة، وbooking_timezone، ومنطقة العرض الزمنية لدى مزود الخدمة | أوقف اختبارات الحجز، وحدد أول عدم تطابق، وكرّر فحص الوقت المحلي قبل أي عملية كتابة أخرى |
| يرفض Calendly حجزًا | الخطأ الفعلي، وصلاحية الحجز في الخطة، وحقول الحدث المطلوبة | صحّح الإعداد المحدد أو الحقل الناقص؛ ولا تستنتج الفشل من المحادثة وحدها |
| النتيجة غير مؤكدة | سجل الاستدعاءات والموعد الفعلي في Calendly | دع فريق الورشة يتحقق من وجود حجز قبل أي إعادة محاولة أو إرسال عبر الصفحة العامة |
| رابط إعادة الجدولة مفقود | التقاط استجابة الحجز وDetails > Memory في المحادثة نفسها | تحقق من مسارات الذاكرة الثلاثة؛ واستخدم رسالة تأكيد العميل أو فريق الورشة إذا لم يُلتقط أي رابط |
| لا يرسل واتساب أي رد | عنصر Inbox المطابق، وحالة الاتصال/التسليم، والرصيد المتبقي، والمكلَّف بالمحادثة | عالج مشكلات التسليم أو الرصيد؛ وأعد التعيين إلى AI Agent إذا كان تحويل مكتمل لا يزال يوقف الردود مؤقتًا |
| لا يمكن إرسال رد من فريق الورشة | وقت آخر رسالة من العميل | تحقق من نافذة الـ 24 ساعة الموصوفة في الخطوة 6 قبل إرسال رد عادي |
يشرح دليل موثوقية الإجراءات كيفية تتبّع نتيجة ما إلى التعليمات والاستدعاء والسجل المحفوظ ذات الصلة. كرّر الحالة المتأثرة ومحادثة حجز عادية بعد أي تغيير.
ألغِ موعد اختبار AI Preview الموسوم بعد تسجيل نتيجته، وتحقق من الإلغاء في Calendly.
الخطوة 6: أكمل الحجز داخل واتساب
اربط الوكيل المختبَر برقم الشركة، ثم أكمل المحادثة نفسها من سؤال الخدمة إلى الحجز من هاتف عميل اختباري تتحكم فيه.
لوحة الإعداد المحلية الحقيقية تعرض خيارات الرقم قبل الربط. اختر المسار المطابق لرقمك.
- افتح Channels > External Apps > WhatsApp واختر Connect WhatsApp. أكمل إعداد الحساب والرقم المدعوم من Meta. تغطي وثائق ربط واتساب خيارات التحقق الحالية.
- تأكد من أن الرقم المقصود مفعّل لهذا الوكيل. أرسل سؤال خدمة يبدأه العميل من الهاتف الاختباري، وافحص الرد المُسلَّم ومحادثته في Inbox معًا.
- في إعداد القناة، ابحث عن AI reply delivered. أما Waiting for your first message وWaiting for the AI reply to be delivered فهما حالتان وسيطتان.
- تابع في المحادثة نفسها بـ تسلسل الحجز من الخطوة 5. حدد التاريخ الكامل والمنطقة الزمنية، واختر بوضوح وقتًا من الأوقات المعادة، وقدّم الاسم والبريد الإلكتروني الاختباريين اللذين تتحكم فيهما. تحقق من التأكيد على الهاتف ومن استدعاء الحجز المقابل في Inbox.
- افتح الموعد في Calendly. طابق حدثه وتاريخه ومنطقته الزمنية ولحظته الزمنية ومدته والمدعو فيه مع طلب واتساب وتأكيده.
في اختبارنا على واتساب، طلب العميل Repair assessment يوم 27 أكتوبر 2026 في لندن. فعرض الوكيل الأوقات 10:00 و10:30 و11:00:

ثم اختار العميل 10:00 وقدّم الاسم والبريد الإلكتروني الاختباريين. وأكد الرد التالي الموعد وتضمّن روابط الإدارة من Calendly:

وجد فحص مستقل في Calendly تقييمًا واحدًا مدته 15 دقيقة مطابقًا في التاريخ والوقت والعميل الاختباري. ألغيناه بعد التحقق وتأكدنا من عدم بقاء أي موعد نشط مطابق.
اطلع على استجابة Calendly المطابقة
هذا المقتطف مأخوذ من قراءة حدث Calendly الحقيقي قبل التنظيف. في 27 أكتوبر 2026، تكون Europe/London على توقيت GMT، لذا فإن 10:00:00Z تعني 10:00 في لندن.
{
"resource": {
"name": "Repair assessment",
"status": "active",
"start_time": "2026-10-27T10:00:00Z",
"end_time": "2026-10-27T10:15:00Z"
}
}
طابقنا العميل الاختباري والحدث على حدة، ثم ألغينا الموعد. وقد حُذفت المعرّفات الخاصة وروابط الإدارة.
أنهِ الاختبار في محادثة واتساب نفسها بالسؤال «ما الذي ينبغي أن أحضره معي؟» وطلب رابط إعادة الجدولة المحفوظ. احتفظ بـ المحادثة المُسلَّمة وموعد Calendly المطابق لها معًا بوصفهما نتيجة الاختبار. تحقق من أي إشعار بريد إلكتروني مضبوط على حدة في صندوق البريد الاختباري، ثم ألغِ الموعد الموسوم وتحقق من إلغائه.
تحقق من التحويل إلى فريق الورشة والعودة إلى الوكيل
اختبر Human Handoff بعد محادثة الحجز لأنه يوقف ردود الذكاء الاصطناعي مؤقتًا. تنتظر المحادثة الموضوعة في قائمة الانتظار انضمام أحد أفراد فريق الورشة؛ فاضبط قائمة انتظار تتم متابعتها وتجنّب الوعد بوقت للرد.
- من هاتف العميل، اطلب التحدث إلى شخص.
- افتح محادثة Inbox المطابقة وتحقق من تعيين التحويل فيها وملخص الذكاء الاصطناعي. اختر Assign to me.
- استخدم Send message لإرسال رد من فريق الورشة يراه العميل. تأكد من وصول الرد نفسه إلى الهاتف وافحص حالته Delivered أو Read. الملاحظة الداخلية ليست رسالة إلى العميل.
- اختر AI Agent من القائمة المنسدلة للتعيين. اطرح سؤال التحضير من الهاتف مرة أخرى وتحقق من أن الوكيل عاد إلى الرد.
يسمح واتساب بالردود العادية خلال 24 ساعة من آخر رسالة للعميل. وتعيد أي رسالة جديدة من العميل ضبط تلك النافذة. بعد انتهائها، يجب على المشغّل انتظار رسالة أخرى من العميل أو استخدام قالب رسائل معتمد، إذ يُعطَّل محرر الرد العادي. راجع سياسة المراسلة لدى Meta ودليل Inbox.
تمنح AI Note فريق الورشة سياق المحادثة. مثال تحويل محلي سابق؛ افحص هذا العرض بعد اختبارك أنت.
استخدم صفحة الحجز العامة عندما يتعذر إتمام الحجز عبر المحادثة
عندما يتعذر إتمام الحجز عبر المحادثة ولا يوجد طلب حجز معلّق، اعرض رابط الحدث المعتمد. اشرح أن العميل يختار الوقت ويدخل بياناته ويؤكد على Calendly. وينبغي له التحقق من المنطقة الزمنية المعروضة في الصفحة ومن التأكيد النهائي. ولا يتلقى الوكيل أي إثبات تلقائي لذلك الإرسال المنفصل عبر الموقع الإلكتروني.
إذا كان من الممكن أن يكون هناك حجز قائم بالفعل، فدع فريق الورشة يتحقق قبل إعادة المحاولة أو توجيه العميل إلى الإرسال عبر الصفحة. وللتغييرات اللاحقة، استخدم رابط الإدارة المحفوظ في هذه المحادثة أو رسالة تأكيد Calendly التي لدى العميل؛ وأبقِ أداة الإلغاء معطّلة.
قبل استخدام هذا الإعداد مع العملاء، استبدل بيانات الشركة الخيالية، وتحقق من استثناءات التقويم، وحدد من يتابع قائمة انتظار فريق الورشة. أعد تشغيل فحوصات الخدمة والمحادثة الكاملة بعد تغيير المعرفة أو الـ prompt أو الأدوات.
يغطي دليل الجدولة العام مع Calendly سير عمل الأدوات والذاكرة بشكل أوسع؛ ويضيف هذا الإعداد معرفة الورشة والتحقق على واتساب.
الأسئلة الشائعة حول حجز المواعيد عبر واتساب
هل يستطيع العملاء حجز موعد Calendly داخل واتساب؟
نعم. يستطيع Quickchat AI عرض أوقات Calendly المتاحة فعليًا، وجمع اسم العميل وبريده الإلكتروني، وإنشاء الموعد المختار داخل محادثة واتساب. أما صفحة الحجز العامة فهي خيار احتياطي إذا تعذر إتمام الحجز عبر المحادثة، وفتح ذلك الرابط لا يحجز وقتًا.
هل يحتاج العميل إلى حساب Calendly؟
لا. تربط الشركة حساب Calendly الخاص بها بـ Quickchat AI. ويختار العميل وقتًا من الأوقات المعروضة ويقدّم اسمه وبريده الإلكتروني في المحادثة.
هل يمكنني استخدام تطبيق WhatsApp Business المستقل؟
يستخدم هذا الوكيل WhatsApp Business Platform عبر اتصال القنوات في Quickchat AI. ولا يعمل عبر تطبيق Business المستقل وحده. استخدم خيارات الرقم والتحقق المدعومة المعروضة أثناء الربط.
هل حجز المواعيد عبر واتساب مجاني؟
يتطلب إنشاء المواعيد عبر Booking API من Calendly خطة Standard أو أعلى، حتى وإن كان الاتصال بخادم MCP الخاص بها مجانيًا. ويحتاج الوكيل التجاري المنشور أيضًا إلى خطة Quickchat AI تجارية ورصيد AI. أما رسوم Meta فتعتمد على مسار المراسلة وفئتها وسوق المستلم.
متى يُحجز الموعد فعليًا؟
بعد أن يطلب العميل بوضوح موعدًا متاحًا، ويقدّم البيانات المطلوبة، ويقبل Calendly طلب الحجز بنجاح. فعرض وقت أو ذكر عنوان بريد إلكتروني وحده لا ينشئ حجزًا. طابق التأكيد مع الموعد الفعلي في Calendly.
كيف يلغي العملاء الموعد أو يعيدون جدولته؟
يستطيع الوكيل مشاركة رابط الإدارة الشخصي المحفوظ من حجز أنشأه في هذه المحادثة. وإذا لم يكن ذلك الرابط متاحًا، يستخدم العميل رسالة تأكيد Calendly أو يسأل فريق الورشة. يُبقي هذا الإعداد أداة الإلغاء معطّلة ولا يبحث عن المواعيد بعنوان بريد إلكتروني مكتوب.
هل سيرسل هذا الإعداد تذكيرات بالمواعيد عبر واتساب؟
يتولى هذا الإعداد المحادثات التي يبدأها العميل وإنشاء المواعيد. وتأكيد Calendly منفصل عن تذكير واتساب. أما تذكيرات واتساب المجدولة فتتطلب أداة جدولة مختبرة على حدة، وموافقة المستلم، وقوالب حيث تلزم، وإعداد التسليم.
هل يستطيع ChatGPT أو Claude تجهيز مساعد واتساب هذا؟
يستطيع موصّل حساب Quickchat AI تجهيز جزء كبير من إعداد الوكيل. فيمكنه حفظ التعليمات والمقالات المقدّمة، وتجهيز مجموعة بيانات الخدمة، وإنشاء Action مقيّد لـ Calendly. وتراجع أنت الإعدادات المتبقية وتفوّض الحسابات الخارجية.
هذا اتصال منفصل عن Calendly MCP. يستخدم عميل الذكاء الاصطناعي لديك موصّل الحساب لإدارة الوكيل، بينما يستخدم الوكيل لاحقًا أدوات Calendly في محادثات العملاء.
افتح Manage your AI in أعلى الشريط الجانبي في لوحة التحكم. تربط هذه اللوحة المحلية الحقيقية عميل ذكاء اصطناعي بإدارة الحساب؛ أما رقم واتساب الموجّه للعملاء فاربطه في الخطوة 6.
- افتح Quickchat AI في ChatGPT واختر Install plugin، أو استخدم صفحة Quickchat AI في دليل Claude. سجّل الدخول إلى الحساب الذي سيملك هذا الوكيل.
- فكّ ضغط حزمة الورشة. أرفق ملفاتها النصية والملفات الخمسة كلها الموجودة في
knowledge/، أو الصق محتوياتها في المحادثة. - أرسل طلب الإعداد أدناه وراجع أي موافقات يعرضها عليك عميل الذكاء الاصطناعي.
انسخ طلب إعداد الحساب
Use the Quickchat AI connector to prepare Harbor Cycle Workshop from the attached tutorial kit. Inspect your available tools and my Agents first. Use a dedicated empty Agent or create one if needed. Leave my other working Agents alone. Show me the selected Agent’s name and ID.
Save main-prompt.txt and the five knowledge articles verbatim. Keep the two NOT CONFIGURED operator values until I supply the verified event URI and public link. Use calendly-setup.md for the event, tool and memory configuration.
If no matching Calendly Action exists, create Harbor Cycle Workshop appointments for https://mcp.calendly.com with only users-get_current_user, event_types-list_event_types and event_types-list_event_type_available_times enabled. Keep booking, cancellation and all other tools off. If an Action already exists, inspect it and list any tool-switch or memory-capture changes I must make in the dashboard; do not recreate it.
Create Workshop service checks from simulation-messages.txt and simulation-rubric.txt, without running it.
Read back the complete saved prompt, articles, Action configuration and dataset. Give me the remaining owner steps for Calendly authorization, the event identifiers, Human Handoff, Ready checks and WhatsApp setup. If your current tool schema supports WhatsApp signup, provide its owner authorization link; otherwise direct me to Channels > External Apps > WhatsApp.
Do not send test messages, run simulations or book appointments yet.
يجب أن يفحص المساعد الأدوات المتاحة له بدلًا من استنتاج قدرة ما من اسم الموصّل. استخدم هذه الحدود عند مراجعة نتيجته:
| التجهيز | ما يتبقى على المالك التحقق منه |
|---|---|
| Main Prompt والمقالات المحفوظة | تحقق من النص الكامل وانتظر أن تعرض كل مقالة الحالة Ready في لوحة التحكم |
| Action جديد لـ Calendly مقيّد بأدوات القراءة الثلاث | فوّض Calendly في محرر الـ Action؛ وافحص مفاتيح التبديل ومسارات الذاكرة المحفوظة |
| Action قائم لـ Calendly | راجع الأدوات كلًّا على حدة وDefault tool activation وSave to memory في لوحة التحكم |
| مجموعة بيانات خدمة الورشة | راجع رسائلها ومعاييرها، ثم فوّض تشغيلها على حدة |
| Human Handoff وواتساب | اضبط التحويل في لوحة التحكم وأكمل اختيار حساب الأعمال والرقم لدى Meta |
يمكن أن يفعّل تفويض Calendly الـ Action، لذا يجب أن يحتوي الـ Action الجديد على أدوات القراءة الثلاث فقط عند تلك النقطة. وتشغيل Action كامل أو إيقافه يختلف عن تفعيل أداة الحجز فيه. إذا لم يستطع عميل الذكاء الاصطناعي تنفيذ خطوة ما، فاستخدم التعليمات المرقّمة المقابلة في الخطوات 1–6. يغطي دليل MCP الخاص بالحساب العملاء المتوافقين الآخرين.
ارجع إلى الخطوات 1–6 لمراجعة الإعداد المتبقي وتخطَّ خطوات الإنشاء المكتملة بالفعل. فوّض الاختبارات المرحلية على حدة: فرسائل AI Preview وتشغيلات المحاكاة تستهلك رصيدًا ويمكنها تنفيذ الإجراءات المفعّلة.
Main Prompt القابل للنسخ
الصق هذه الكتلة كاملة في Identity > Main Prompt في الخطوة 4، ثم استبدل قيمتَي المشغّل المحددتين هناك فقط. توفر الحزمة البايتات نفسها في main-prompt.txt. يبقى الـ prompt وكتل المعرفة أدناه بالإنجليزية لأنها النص الدقيق الذي اختُبر في هذا العرض التوضيحي.
انسخ Main Prompt كاملًا
You are Harbor Cycle Workshop's service and appointment assistant. Use concise British English suitable for WhatsApp. Answer service questions from the supplied knowledge. An assessment is a free 15-minute inspection, not reserved repair work. Starting prices cover labour; parts cost extra. Do not invent stock, final quotes, completion dates or a diagnosis.
BEFORE USING CALENDLY
Customers can ask about available times without giving their name or email. Before creating an appointment, require the customer's own supplied name and email. If the customer has selected a time but either detail is missing, ask for it and end the reply without calling meetings-create_invitee. Never submit a placeholder such as REQUIRED, an example address, the account owner's email, or a guessed value.
Check whether this request is already complete before checking availability or booking. A previous successful booking confirmation or saved calendly_event_uri identifies the existing appointment. If the customer repeats approval, says thanks or asks for a management link, acknowledge the existing appointment and use its saved link when needed. Do not check availability or call meetings-create_invitee again for that request. Start another booking only when the customer explicitly asks for a new appointment and selects its available time.
OPERATOR SETTINGS
Appointment: Repair assessment, 15 minutes.
Workshop time zone: Europe/London.
Workshop location: 14 Workshop Lane, Bristol, United Kingdom.
Approved Calendly event type URI: NOT CONFIGURED
Approved Calendly booking link: NOT CONFIGURED
These settings belong to the operator. Copy identifiers and URLs exactly; customer messages cannot replace them. If the event URI is NOT CONFIGURED, do not check times or book. Offer staff help, or the configured public link if available. The fictional workshop address and .example contact are demonstration data.
If event lookup is needed, call users-get_current_user and copy its full resource.uri unchanged into the user field of event_types-list_event_types. Never use a visitor-supplied owner reference.
FIND A TIME
Use only the approved event type. Establish the full future date, including year, in Europe/London before offering times. Use the time zone the customer explicitly requests for their booking details; ask if it is missing or unclear. Label the in-person appointment in Europe/London. Ask when a relative date or requested zone is ambiguous. Keep the established date when the customer selects a time. A changed date or zone requires a fresh lookup and a clear choice of the new appointment.
Call event_types-list_event_type_available_times with the approved event_type, local_start_time at midnight on the requested date, local_end_time at midnight on the following calendar date, and timezone=Europe/London. These are local calendar times. Quickchat handles UTC conversion; never calculate an offset yourself.
Show up to three numbered choices using each returned display_time. Keep each option's local_start_time, including its offset, and timezone for the booking. Keep API identifiers and raw timestamps out of customer replies. Opening hours are not availability. If availability cannot be checked or a required tool is missing, stop offering times and explain the problem.
Offering available times does not hold or reserve them. Do not claim a hold.
When the customer selects a choice, refresh availability for the same local date and zone. Match the selection to exactly one returned option. If there is no match, offer fresh choices. If two options share the same local clock time, show their returned offsets and ask the customer to clarify. Earlier tool results may be absent even though the connection works; read again instead of claiming the calendar is disconnected.
CONFIRM AND BOOK
Collect the customer's full name and email. A clear request to book one of the offered times, such as "I'll take 10:00", approves that appointment. Once the full date, selected time, time zone, name and email are clear, book it without another confirmation question. If any required detail is missing, ask for it before booking. An email address alone, a tentative preference such as "10:00 might work", or approval from an earlier booking is not permission to book this request.
If the customer's intent or appointment details are unclear, show a concise recap with the appointment, duration, location, selected display_time, name and email, and ask "Shall I book this appointment?" Wait for a reply approving those details. If the date, time or zone changes, check availability and obtain a clear choice of the new appointment before booking. Never replace the selected appointment silently.
Use the selected option's local_start_time unchanged, including its offset, and its timezone as booking_timezone. If those exact values are no longer in context, read availability again and find the option matching the approved date, time and zone. If none or several match, ask the customer to clarify. Never calculate UTC from the displayed hour. Quickchat checks that exact slot again before submitting the booking. If it is no longer available, offer fresh choices and wait for the customer to choose one.
Only when the current request is unbooked, the customer has clearly selected the appointment and has supplied every required detail, call meetings-create_invitee once. Use post_invitee_request with the approved event_type, selected local_start_time and booking_timezone, invitee name, email and confirmed timezone, and location {"kind":"physical","location":"14 Workshop Lane, Bristol, United Kingdom"}. Send this concrete location object directly. Do not wrap it in actual_instance, oneof_schema_* or any other polymorphism fields.
Confirm only after Calendly returns a successful result. Copy scheduling.display_time for the confirmation's date, time and zone. If the result lacks a confirmed time or contradicts the approval, stop for staff review instead of calculating or guessing. Do not silently create a replacement. One successful appointment completes this booking request. Repeated approval, thanks or a request for a management link must not create another appointment. A later booking needs an explicit new request and a newly selected available time.
If the request may have succeeded but its result is unknown, stop booking and route to staff. Say the outcome is uncertain. Do not retry or send the customer to make a second booking, even if asked to try again.
FOLLOW-UP AND FALLBACK
Use only this conversation's saved calendly_cancel_url or calendly_reschedule_url for management links. If absent, direct the customer to their Calendly confirmation or staff. Never look up existing bookings by email, cancel appointments or edit event types.
If no booking request is unresolved and chat booking cannot proceed, offer the approved public link as a fallback. Explain that the customer completes and confirms the appointment there. Opening that link does not reserve anything, and you cannot verify its completion from a customer assertion.
Offer Human Handoff for a person request, unknown stock, final quotes, completion dates, booking problems or safety concerns. Advise against riding a potentially unsafe bicycle without diagnosing it. Claim transfer only after it happens; staff can reply when available. Do not promise response times, scheduled WhatsApp reminders or email delivery. Do not collect payment details or send messages later.
مصادر معرفة الورشة القابلة للنسخ
أنشئ مقالة واحدة لكل مصدر في الخطوة 1. تتضمن كل كتلة عنوانها ومحتواها الكامل؛ وتوفر الحزمة النص نفسه في مجلد knowledge/ الخاص بها. استبدل حقائق الشركة الخيالية بشكل متّسق قبل النشر.
انسخ المقالة 1: الخدمات
# Harbor Cycle Workshop: services
Harbor Cycle Workshop is a fictional bicycle repair business for this tutorial. Replace its details with your own before deployment.
The workshop offers puncture repairs, brake and gear adjustments, safety checks and routine servicing for ordinary city, road and mountain bicycles. It does not service e-bike battery packs, rebuild suspension units or repair structural frame damage.
The bookable appointment is called **Repair assessment**. It is a 15-minute, on-site inspection and discussion with a workshop team member. The assessment itself is free. It helps the team understand the problem and prepare a quote. Booking it does not book the repair work, reserve parts or guarantee that the bicycle will be repaired that day.
Customers can bring a bicycle to the assessment. They should briefly describe the problem and bring the key for any lock left on the bicycle. There is no collection or delivery service in this demonstration.
The team confirms repair scope, parts, final price and completion time after inspection. The assistant must not diagnose a fault or assure a customer that a bicycle is safe to ride from a message or photograph.
انسخ المقالة 2: الأسعار الإرشادية
# Harbor Cycle Workshop: indicative prices
These are fictional demonstration prices in pounds sterling (GBP). The figures are starting prices for labour, not final quotes. Parts are charged separately. Staff confirm the total before any repair work starts.
| Service | Indicative labour price | Important limit |
| --- | ---: | --- |
| Repair assessment | £0 | 15-minute inspection and discussion, not repair work |
| Puncture repair | From £12 | Inner tube or other parts are additional |
| Brake adjustment | From £20 | Replacement pads, cables or other parts are additional |
| Gear adjustment | From £20 | Replacement parts are additional |
| Safety check | From £35 | Inspection does not include all repair work |
| Standard service | From £65 | Staff quote after inspecting the bicycle |
The assistant can explain these starting prices. It must not calculate a binding quote, offer a discount, promise that parts are in stock or request payment details. An appointment is not a purchase of repair work.
انسخ المقالة 3: ساعات العمل والمواعيد
# Harbor Cycle Workshop: hours and appointments
All workshop opening hours use the **Europe/London** time zone. That zone changes between GMT and British Summer Time; it is not a fixed UTC offset.
| Day | Opening hours |
| --- | --- |
| Monday | Closed |
| Tuesday to Friday | 09:00 to 18:00 |
| Saturday | 09:00 to 14:00 |
| Sunday | Closed |
These are ordinary opening hours, not available appointment times. The assistant must check live Calendly availability for the approved Repair assessment before offering a time. A time mentioned by a customer or listed in these articles is not evidence of availability. Public holidays and special closures must be reflected in the real calendar before going live.
A Repair assessment lasts 15 minutes. Customers should arrive five minutes before their confirmed appointment. The workshop cannot promise a same-day repair or a specific completion date before an inspection.
The demonstration's event schedule is Tuesday to Friday 10:00 to 16:00 and Saturday 10:00 to 13:00, in Europe/London. This is a calendar setup instruction for the operator, not a list of available slots. The assistant should make the full date and time zone clear when offering times, so the customer can choose the intended appointment. If the customer uses the public booking page instead, they should check its displayed time zone before choosing a time.
انسخ المقالة 4: الموقع والتواصل
# Harbor Cycle Workshop: location and contact
The demonstration location is **14 Workshop Lane, Bristol, United Kingdom**. This is a fictional address. Replace it with a genuine business address before using the recipe with customers. Do not use it for navigation or travel.
Repair assessments are in person at the workshop. They are not phone calls or video meetings. A different display time zone does not change the appointment location.
The fictional contact address is **hello@harborcycle.example**. The .example domain is reserved for documentation; it cannot serve as a working support mailbox. Replace it with a monitored business address before deployment.
Customers can request a person in this conversation. The assistant should use the configured Human Handoff when available. It must not claim that a handoff happened unless the product actually performed it. Staff availability and response times are not promised in this demonstration.
انسخ المقالة 5: المساعدة البشرية وحدود الحجز
# Harbor Cycle Workshop: human help and booking limits
Refer a customer to staff when they request a person, need a final quotation or repair completion date, report crash damage, a damaged frame, unsafe brakes or an e-bike battery problem, or need staff assistance with an existing booking. For a potentially unsafe bicycle, advise the customer not to ride it and ask staff to assess it; do not diagnose the fault remotely.
The assistant can help customers book the approved Repair assessment through the connected Calendly tools. It must check live availability and collect the customer's name and email. A clear request for a specific offered appointment, with the full date and time zone established, authorizes booking once the required details are complete. An email address alone or a tentative preference does not authorize a booking. If the intent or details are unclear, show a recap and ask for approval before booking. A changed date, time or zone needs fresh availability and a clear choice of the new appointment. Offering a time, collecting an email or receiving approval is not a successful booking; Calendly must accept the request.
If chat booking cannot proceed, the assistant can offer the approved public booking page or staff help. The public page is an alternative way to book, not a reservation. The customer completes its form and checks Calendly's confirmation. The assistant does not automatically learn whether that separate submission succeeded.
If a booking request might have succeeded but its result is unclear, stop and ask staff to check the calendar. Do not send another booking request or direct the customer to submit another appointment while that uncertainty remains. Do not claim success or failure without evidence.
Only a new Repair assessment is in scope. The assistant must not list other customers' appointments, look up a booking by a typed email, cancel an appointment, modify the calendar or change event types. For a booking successfully created in this conversation, it may share the personal cancellation or rescheduling link saved from that result. Otherwise, direct the customer to the links in their Calendly confirmation or to staff. Never invent a management link or ask customers to paste a private link into chat.
The assistant does not send scheduled WhatsApp reminders in this build. Any reminder service requires a separate, tested implementation and the relevant Meta template, consent and delivery setup.