نظام حجز واتساب | WhatsApp Booking
ليش نظام حجز واتساب؟
أغلب الناس ما تحب تحجز عن طريق اتصال ولا إيميل. العميل يكتب لك "أبي أحجز"، يبي يشوف المواعيد، يختار الوقت، يدفع العربون، ويخلص — كله في واتساب. Wutt يبني لك flow حجز كامل من ٦ خطوات، ويرسل تذكير قبل ٢٤ ساعة وتذكير قبل ساعتين، ويقدر العميل يؤجل أو يلغي بضغطة زر.
الـ ٦ خطوات بالترتيب
- اختيار الخدمة — البوت يعرض قائمة الخدمات بالأسعار والمدة.
- اختيار الموظف (اختياري) — لو عندك أكثر من مصفف/طبيب.
- اختيار اليوم والوقت — slot picker يجلب المواعيد الفاضية من Google Calendar.
- تأكيد البيانات — الاسم ورقم الجوال والإيميل.
- دفع العربون — يرسل رابط دفع Moyasar / Stripe / Tap.
- تأكيد الحجز + إضافة للتقويم + تذكير قبل ٢٤ ساعة + تذكير قبل ساعتين.
JSON الـ Flow الكامل
هذا الـ flow اللي ترسله إلى POST /api/booking-flows. يدعم التخزين المؤقت للـ slot عشان ما يختار شخصين نفس الوقت.
{
"flow_id": "salon_booking_v2",
"currency": "SAR",
"deposit_required": true,
"deposit_amount": 50,
"nodes": [
{ "id": "s1", "type": "send_list", "data": {
"header": "اختر الخدمة",
"button": "عرض الخدمات",
"sections": [{
"title": "خدماتنا",
"rows": [
{ "id": "cut", "title": "قص شعر", "description": "60 دقيقة — 120 ر.س" },
{ "id": "color", "title": "صبغة", "description": "120 دقيقة — 350 ر.س" },
{ "id": "spa", "title": "سبا", "description": "90 دقيقة — 280 ر.س" }
]
}]
}},
{ "id": "s2", "type": "send_list", "data": {
"header": "اختر الموظف",
"button": "عرض الفريق",
"sections": [{
"title": "الفريق",
"rows": [
{ "id": "stylist_1", "title": "سارة" },
{ "id": "stylist_2", "title": "نورة" },
{ "id": "any", "title": "أي موظف متاح" }
]
}]
}},
{ "id": "s3", "type": "slot_picker", "data": {
"calendar_id": "primary",
"service_duration_min": 60,
"days_ahead": 14,
"work_hours": { "from": "10:00", "to": "22:00" },
"tz": "Asia/Riyadh"
}},
{ "id": "s4", "type": "ask_form", "data": {
"fields": [
{ "id": "name", "label": "الاسم الكامل", "required": true },
{ "id": "phone", "label": "رقم الجوال", "required": true, "validate": "sa_mobile" },
{ "id": "email", "label": "الإيميل (اختياري)", "required": false }
]
}},
{ "id": "s5", "type": "payment_link", "data": {
"provider": "moyasar",
"amount": 50,
"description": "عربون حجز",
"callback_url": "https://wutt.net/webhooks/booking-paid"
}},
{ "id": "s6", "type": "create_calendar_event", "data": {
"calendar_id": "primary",
"title": "{{service}} — {{customer_name}}",
"send_invite": true
}},
{ "id": "s7", "type": "send_template", "data": {
"template": "booking_confirmed_ar",
"vars": ["{{customer_name}}", "{{service}}", "{{date}}", "{{time}}", "{{stylist}}"]
}},
{ "id": "s8", "type": "schedule_template", "data": {
"template": "reminder_24h_ar",
"send_at_offset_minutes": -1440
}},
{ "id": "s9", "type": "schedule_template", "data": {
"template": "reminder_2h_ar",
"send_at_offset_minutes": -120
}}
],
"edges": [
{ "from": "s1", "to": "s2" },
{ "from": "s2", "to": "s3" },
{ "from": "s3", "to": "s4" },
{ "from": "s4", "to": "s5" },
{ "from": "s5", "to": "s6", "condition": "paid" },
{ "from": "s6", "to": "s7" },
{ "from": "s7", "to": "s8" },
{ "from": "s7", "to": "s9" }
]
}الرسائل اللي يستخدمها الـ flow
| الخطوة | القالب | الهدف |
|---|---|---|
| تأكيد الحجز | booking_confirmed_ar | يرسل رقم الحجز والتفاصيل |
| تذكير ٢٤ ساعة | reminder_24h_ar | يسأل العميل يأكد أو يؤجل |
| تذكير ساعتين | reminder_2h_ar | مع العنوان وزر "اتجه للموقع" |
| إلغاء العميل | booking_cancelled_ar | يرجع العربون حسب السياسة |
| تأجيل | booking_rescheduled_ar | يعرض أقرب ٣ أوقات فاضية |
متى ترسل التذكير فعلاً؟
تجربتنا تقول: تذكير واحد قبل ٢٤ ساعة يخفض الـ no-show بنسبة ٣٠٪. تذكير ساعتين ينزلها لـ ٧٪. تذكير رابع (نص ساعة) ممكن يزعج العميل ويخليه يلغي من كثر الرسائل. لا تبالغ.
جرّب Wutt لمدة $1 — ابدأ الآن
فعّل صفحة حجز عربي، اربط Google Calendar، وابدأ تستقبل حجوزات مؤتمتة من الليلة.
جرّب Wutt لمدة $1 — ابدأ الآن