التوفر
نقاط النهاية للاستعلام عن المواعيد المتاحة للحجوزات.
GET
/api/v1/disponibilidad/{peluquero_id}/{fecha}/
يحصل على الفترات الزمنية المتاحة لمحترف في تاريخ محدد.
معلمات المسار
| المعامل | النوع | الوصف |
|---|---|---|
peluquero_id |
integer | معرف المحترف |
fecha |
string | التاريخ بتنسيق YYYY-MM-DD |
معلمات الاستعلام
| المعامل | النوع | الوصف |
|---|---|---|
servicio_id |
integer | معرف الخدمة (لحساب المدة) |
servicios |
string | معرفات الخدمات مفصولة بفاصلة (للمتعددة) |
duracion |
integer | مدة مخصصة بالدقائق |
مثال على الطلب
cURL
curl -X GET "https://app.salonbookit.com/api/v1/disponibilidad/5/2024-01-20/?servicio_id=15" \
-H "X-API-Key: hh_pub_live_abc123..."
الاستجابة (200 OK)
JSON
{
"success": true,
"data": {
"fecha": "2024-01-20",
"profesional": {
"id": 5,
"nombre": "Carlos García"
},
"duracion_solicitada": 30,
"slots": [
{
"hora_inicio": "09:00",
"hora_fin": "09:30",
"disponible": true
},
{
"hora_inicio": "09:30",
"hora_fin": "10:00",
"disponible": true
},
{
"hora_inicio": "10:00",
"hora_fin": "10:30",
"disponible": false,
"motivo": "ocupado"
},
{
"hora_inicio": "10:30",
"hora_fin": "11:00",
"disponible": false,
"motivo": "ocupado"
},
{
"hora_inicio": "11:00",
"hora_fin": "11:30",
"disponible": true
}
// ... بقية فترات اليوم
],
"slots_disponibles_count": 18,
"proximo_disponible": "09:00",
"ultimo_disponible": "19:30"
}
}
حقول الاستجابة
| الحقل | النوع | الوصف |
|---|---|---|
fecha |
string | التاريخ المستعلم عنه |
profesional |
object | معلومات المحترف |
duracion_solicitada |
integer | المدة المستخدمة لحساب الفترات |
slots |
array | قائمة الفترات الزمنية |
slots[].hora_inicio |
string | وقت البدء (HH:MM) |
slots[].hora_fin |
string | وقت الانتهاء (HH:MM) |
slots[].disponible |
boolean | إذا كان متاحاً للحجز |
slots[].motivo |
string | السبب إذا لم يكن متاحاً |
فاصل الفترات
يتم إنشاء الفترات بفواصل 15 أو 30 دقيقة حسب إعدادات النشاط التجاري.
GET
/api/v1/disponibilidad/dias/
يحصل على الأيام المتاحة في نطاق تواريخ.
معلمات الاستعلام
| المعامل | النوع | الوصف |
|---|---|---|
peluquero_id |
integer | معرف المحترف (اختياري) |
servicio_id |
integer | معرف الخدمة |
desde |
string | تاريخ البدء (YYYY-MM-DD). الافتراضي: اليوم |
hasta |
string | تاريخ الانتهاء (YYYY-MM-DD). الافتراضي: +30 يوم |
مثال على الطلب
cURL
curl -X GET "https://app.salonbookit.com/api/v1/disponibilidad/dias/?peluquero_id=5&servicio_id=15&desde=2024-01-15&hasta=2024-02-15" \
-H "X-API-Key: hh_pub_live_abc123..."
الاستجابة (200 OK)
JSON
{
"success": true,
"data": {
"desde": "2024-01-15",
"hasta": "2024-02-15",
"dias": [
{
"fecha": "2024-01-15",
"disponible": true,
"slots_libres": 12,
"primer_slot": "09:00",
"ultimo_slot": "18:30"
},
{
"fecha": "2024-01-16",
"disponible": true,
"slots_libres": 8,
"primer_slot": "11:00",
"ultimo_slot": "19:00"
},
{
"fecha": "2024-01-17",
"disponible": false,
"slots_libres": 0,
"motivo": "completo"
},
{
"fecha": "2024-01-18",
"disponible": false,
"slots_libres": 0,
"motivo": "festivo"
}
// ... بقية الأيام
],
"dias_disponibles_count": 22
}
}
هذه نقطة النهاية مفيدة لعرض تقويم حيث تظهر الأيام بدون توفر معطلة.
الأخطاء الشائعة
| الرمز | HTTP | الوصف |
|---|---|---|
PROFESSIONAL_NOT_FOUND |
404 | المحترف غير موجود |
INVALID_DATE |
400 | تنسيق تاريخ غير صالح (يجب أن يكون YYYY-MM-DD) |
DATE_IN_PAST |
400 | التاريخ قبل اليوم |
DATE_TOO_FAR |
400 | التاريخ يتجاوز حد الحجز المسبق |
PROFESSIONAL_NOT_WORKING |
200 | المحترف لا يعمل في هذا اليوم (فترات فارغة) |