Tables et disponibilité
Étape 1 : lire l'établissement et faire correspondre vos tables
Belive identifie chaque table par un tableId (UUID). Votre système a ses propres identifiants. La première chose à construire est la table de correspondance entre les deux.
GET /v1/venue
Authorization: Bearer blv_test_…
Réponse (extrait) :
{
"venue": { "id": "31f705c0-…", "name": "La Cale Rabat", "slug": "la-cale-rabat", "status": "active" },
"reservationMode": "prepaid",
"tables": [
{ "id": "27ced4e4-…", "name": "Table 9", "number": "T9", "capacityMin": 1, "capacityMax": 6, "minimumSpend": 1800, "type": "standard", "bookable": true }
],
"slots": [ { "id": "…", "name": "Dîner", "start": "19:00", "end": "21:00", "daysOfWeek": [1,2,3,4,5,6,0] } ],
"policies": null,
"currency": "MAD"
}
Conseils :
- Faites la correspondance sur
number(T1, T2, …), qui est le nom affiché dans le lieu, et stockez letableIdchez vous. Ne recalculez pas la correspondance à chaque réservation. - Les tables
bookable: falsene peuvent pas être réservées par l'API. slotsliste les créneaux de l'établissement. Envoyez toujours un créneau dans vos réservations (voir §4), sinon la table est bloquée toute la soirée.- Relisez
/v1/venueune fois par jour ou à la demande : le plan de salle peut changer.
Étape 2 : vérifier la disponibilité avant d'accepter
Avant de confirmer une réservation dans votre système, demandez à Belive si la table est libre.
GET /v1/availability?date=2026-10-16&slot=21:30
{
"date": "2026-10-16", "slot": "21:30",
"tables": [
{ "id": "27ced4e4-…", "name": "Table 9", "available": false, "blockedBy": "belive" },
{ "id": "e550d638-…", "name": "Table 21", "available": true, "blockedBy": null }
]
}
blockedBy vaut belive (réservation prise sur Belive 360), partner (réservation envoyée par vous), manual (saisie par le personnel dans le portail) ou null.
Cette vérification est une aide, pas une garantie : la vérité est fixée au moment de la création (§4). Entre les deux, une autre réservation peut arriver.

