Disponibilité

Endpoints pour consulter les horaires disponibles pour les réservations.

GET /api/v1/disponibilidad/{peluquero_id}/{fecha}/

Obtient les créneaux horaires disponibles pour un professionnel à une date spécifique.

Paramètres de chemin

Paramètre Type Description
peluquero_id integer ID du professionnel
fecha string Date au format AAAA-MM-JJ

Paramètres de requête

Paramètre Type Description
servicio_id integer ID du service (pour calculer la durée)
servicios string IDs des services séparés par virgule (pour plusieurs)
duracion integer Durée personnalisée en minutes

Exemple de requête

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..."

Réponse (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
            }
            // ... reste des créneaux de la journée
        ],
        "slots_disponibles_count": 18,
        "proximo_disponible": "09:00",
        "ultimo_disponible": "19:30"
    }
}

Champs de réponse

Champ Type Description
fecha string Date consultée
profesional object Info du professionnel
duracion_solicitada integer Durée utilisée pour calculer les créneaux
slots array Liste des créneaux horaires
slots[].hora_inicio string Heure de début (HH:MM)
slots[].hora_fin string Heure de fin (HH:MM)
slots[].disponible boolean S'il est disponible pour réserver
slots[].motivo string Raison si non disponible
Intervalle des créneaux

Les créneaux sont générés par intervalles de 15 ou 30 minutes selon la configuration du commerce.

GET /api/v1/disponibilidad/dias/

Obtient les jours avec disponibilité dans une plage de dates.

Paramètres de requête

Paramètre Type Description
peluquero_id integer ID du professionnel (optionnel)
servicio_id integer ID du service
desde string Date de début (AAAA-MM-JJ). Par défaut : aujourd'hui
hasta string Date de fin (AAAA-MM-JJ). Par défaut : +30 jours

Exemple de requête

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..."

Réponse (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"
            }
            // ... reste des jours
        ],
        "dias_disponibles_count": 22
    }
}

Cet endpoint est utile pour afficher un calendrier où les jours sans disponibilité apparaissent désactivés.

Erreurs courantes

Code HTTP Description
PROFESSIONAL_NOT_FOUND 404 Le professionnel n'existe pas
INVALID_DATE 400 Format de date invalide (doit être AAAA-MM-JJ)
DATE_IN_PAST 400 La date est antérieure à aujourd'hui
DATE_TOO_FAR 400 La date dépasse la limite de réservation anticipée
PROFESSIONAL_NOT_WORKING 200 Le professionnel ne travaille pas ce jour (créneaux vides)