Saltar al contenido

Referencia

Reservas

Consulta las reservas de todos tus restaurantes y créalas de servidor a servidor. La creación comprueba la capacidad, por lo que la API nunca puede sobrereservar una franja.

GET/api/v1/bookings

Lista paginada de reservas de todos tus restaurantes, las más recientes primero.

Consulta: restaurantId, status, from (fecha ISO), to (fecha ISO), limit (≤100), cursor

200 OK
{
  "data": [
    {
      "id": "clxa1...",
      "restaurantId": "clw...",
      "date": "2026-01-15T00:00:00.000Z",
      "time": "19:30",
      "partySize": 4,
      "status": "CONFIRMED",
      "notes": "Window table if possible",
      "source": null,
      "createdAt": "2025-12-01T10:42:33.000Z",
      "diner": { "name": "Jane Doe", "email": "jane@example.com", "phone": null }
    }
  ],
  "nextCursor": "clxa0..."
}
POST/api/v1/bookings

Crea una reserva de cliente en un restaurante que posee tu clave. Devuelve 201 con el confirmCode y lanza booking.created en los webhooks suscritos.

cURL
curl -X POST https://www.openalacarte.com/api/v1/bookings \
  -H "Authorization: Bearer oac_live_<your-key>" \
  -H "Content-Type: application/json" \
  -d '{
    "restaurantId": "clw...",
    "date": "2026-01-15",
    "time": "19:30",
    "partySize": 4,
    "guestName": "Jane Doe",
    "guestEmail": "jane@example.com",
    "guestPhone": "+44 7700 900000",
    "notes": "Allergic to peanuts"
  }'

Obligatorio: restaurantId, date (AAAA-MM-DD), time (HH:MM), partySize (1–50), guestName, guestEmail.

Capacidad comprobada en el servidor bajo bloqueo: si la franja está llena, obtienes 409 — la reserva nunca se asigna por duplicado, incluso con solicitudes simultáneas.