Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.koulis.ai/llms.txt

Use this file to discover all available pages before exploring further.

The reservations endpoints give you full operator-side control over your bookings: list and filter reservations, create them directly without the widget flow, confirm or cancel them, and assign them to specific tables. All requests require a valid JWT Bearer token.

List reservations

Returns a paginated list of reservations, with optional filters by date and status.

Endpoint

GET https://api.lakreme.fr/api/v1/restaurant/me/reservations

Query parameters

date
string
Filter reservations by a specific date. For example, 2025-05-15 returns only reservations on that day.
status
string
Filter by reservation status. Accepted values: pending, confirmed, cancelled.
page
number
default:"1"
Page number for pagination. Results are returned in fixed-size pages.

Response fields

items
object[]
required
Array of reservation objects matching the filters.
total
number
required
Total number of reservations matching the filters, across all pages.
curl "https://api.lakreme.fr/api/v1/restaurant/me/reservations?date=2025-05-15&status=confirmed&page=1" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
{
  "items": [
    {
      "id": "res_a1b2c3d4",
      "confirmation_code": "ABC-1234",
      "guest_first_name": "Marie",
      "guest_last_name": "Dupont",
      "guest_email": "[email protected]",
      "guest_phone": "+33 6 98 76 54 32",
      "party_size": 2,
      "reservation_date": "2025-05-15",
      "reservation_time": "12:30:00",
      "status": "confirmed",
      "notes": null,
      "occasion": null,
      "created_at": "2025-05-10T09:14:22Z",
      "table_id": "tbl_001",
      "table_merge_id": null
    }
  ],
  "total": 1
}

Create a reservation (operator)

Creates a reservation directly as an operator, bypassing the widget lock-and-confirm flow. Use this to manually enter walk-ins or phone bookings into the system.

Endpoint

POST https://api.lakreme.fr/api/v1/restaurant/me/reservations

Request body

reservation_date
string
required
The reservation date in YYYY-MM-DD format.
reservation_time
string
required
The reservation time in HH:MM format.
guests
number
required
Number of guests in the party.
guest_first_name
string
required
Guest’s first name.
guest_last_name
string
required
Guest’s last name.
guest_email
string
Guest’s email address. Optional for operator-created reservations.
guest_phone
string
Guest’s phone number. Optional for operator-created reservations.
notes
string
Internal notes about the reservation.
curl -X POST https://api.lakreme.fr/api/v1/restaurant/me/reservations \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "reservation_date": "2025-05-15",
    "reservation_time": "19:30",
    "guests": 4,
    "guest_first_name": "Jean",
    "guest_last_name": "Martin",
    "guest_phone": "+33 6 11 22 33 44",
    "notes": "Window seat requested"
  }'
{
  "id": "res_z9y8x7w6",
  "status": "confirmed",
  "message": "Reservation created successfully."
}

Update reservation status

Confirms or cancels a reservation. Use this to approve pending reservations when your restaurant is in manual confirmation mode, or to cancel any existing reservation.

Endpoint

PATCH https://api.lakreme.fr/api/v1/restaurant/me/reservations/{id}
id
string
required
The ID of the reservation to update.

Request body

status
string
required
The new status. Accepted values: "confirmed" or "cancelled".
curl -X PATCH https://api.lakreme.fr/api/v1/restaurant/me/reservations/res_z9y8x7w6 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"status": "confirmed"}'
{
  "id": "res_z9y8x7w6",
  "status": "confirmed",
  "message": "Reservation confirmed."
}

Assign a reservation to a table

Assigns a reservation to a specific table or merged table group. Set table_id and table_merge_id to null to remove the current assignment.

Endpoint

PATCH https://api.lakreme.fr/api/v1/restaurant/me/reservations/{id}/assign
id
string
required
The ID of the reservation to assign.

Request body

table_id
string
The ID of the table to assign. Pass null to unassign from a regular table.
table_merge_id
string
The ID of the merged table group to assign. Pass null to unassign from a merge. Set both table_id and table_merge_id to null to fully unassign the reservation.
curl -X PATCH https://api.lakreme.fr/api/v1/restaurant/me/reservations/res_z9y8x7w6/assign \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"table_id": "tbl_002", "table_merge_id": null}'
{
  "id": "res_z9y8x7w6",
  "confirmation_code": "XYZ-5678",
  "guest_first_name": "Jean",
  "guest_last_name": "Martin",
  "guest_email": null,
  "guest_phone": "+33 6 11 22 33 44",
  "party_size": 4,
  "reservation_date": "2025-05-15",
  "reservation_time": "19:30:00",
  "status": "confirmed",
  "notes": "Window seat requested",
  "occasion": null,
  "created_at": "2025-05-12T11:00:00Z",
  "table_id": "tbl_002",
  "table_merge_id": null
}