Chuyển tới nội dung chính

API Đặt bàn Trước

Chức năng cho phép hội viên đặt bàn tại các chi nhánh nhà hàng trên ứng dụng zodutcan-user, theo dõi trạng thái các đơn đặt bàn (Chờ duyệt, Đã duyệt, Đã đến, Đã huỷ) và huỷ bàn khi cần.


1. Lấy Cấu hình Đặt bàn​

Lấy thông tin cấu hình đặt bàn của chi nhánh hoặc hệ thống (khoảng thời gian hợp lệ, số lượng khách, quy định đặt cọc nếu có).

  • Method: GET
  • Endpoint: /api/{locale}/v1/member/reservations/config
  • Auth: auth:member_api (Bearer Token)

Response Thành công​

{
"status": "success",
"data": {
"min_guests": 1,
"max_guests": 30,
"time_slots": [
"11:00", "11:30", "12:00", "12:30", "13:00",
"17:30", "18:00", "18:30", "19:00", "19:30", "20:00"
],
"lead_time_minutes": 60,
"deposit_required": false
}
}

2. Lấy Danh sách Đơn Đặt bàn của Hội viên​

Lấy danh sách các đơn đặt bàn với phân trang và số lượng đếm tương ứng cho từng tab trạng thái trên giao diện app (all, pending, confirmed, arrived, cancelled).

  • Method: GET
  • Endpoint: /api/{locale}/v1/member/reservations
  • Auth: auth:member_api (Bearer Token)

Query Parameters​

Tham sốKiểuMặc địnhMô tả
pageinteger1Trang hiện tại.
per_pageinteger15Số lượng bản ghi mỗi trang.
datestringnullLọc theo ngày đặt bàn (YYYY-MM-DD).

Response Thành công​

{
"data": [
{
"id": "019b8d48-res-001",
"member_id": "019b8d48-97df-7177-8aa0-47f2107a8eb3",
"club_id": "019b8d48-club-hcm",
"quantity": 4,
"booking_time": "2026-05-25 18:30:00",
"notes": "Kỷ niệm sinh nhật, chuẩn bị bàn gần cửa sổ",
"status": "confirmed",
"created_at": "2026-05-21T10:00:00.000000Z",
"club": {
"id": "019b8d48-club-hcm",
"name": "Zodutcan Saigon Center",
"address": "65 Lê Lợi, Bến Nghé, Quận 1, TP.HCM"
}
}
],
"meta": {
"current_page": 1,
"per_page": 15,
"total": 4,
"last_page": 1,
"has_more": false,
"counts": {
"all": 4,
"pending": 1,
"confirmed": 2,
"arrived": 1,
"cancelled": 0
}
}
}

3. Tạo Yêu cầu Đặt bàn Mới​

Gửi phiếu đặt bàn từ ứng dụng lên máy chủ.

  • Method: POST
  • Endpoint: /api/{locale}/v1/member/reservations
  • Auth: auth:member_api (Bearer Token)

Request Body​

{
"booking_time": "2026-05-25 18:30:00",
"quantity": 4,
"notes": "Kỷ niệm sinh nhật, chuẩn bị bàn gần cửa sổ",
"contact_time": "2026-05-25 17:00:00"
}

Response Thành công​

{
"message": "Tạo đặt bàn thành công",
"booking": {
"id": "019b8d48-res-001",
"member_id": "019b8d48-97df-7177-8aa0-47f2107a8eb3",
"quantity": 4,
"booking_time": "2026-05-25 18:30:00",
"notes": "Kỷ niệm sinh nhật, chuẩn bị bàn gần cửa sổ",
"status": "pending",
"created_at": "2026-05-21T10:00:00.000000Z"
}
}

4. Huỷ Đơn Đặt bàn​

Hội viên huỷ đặt bàn trước giờ hẹn khi có thay đổi kế hoạch. Chỉ huỷ được khi đơn ở trạng thái pending hoặc confirmed.

  • Method: PUT
  • Endpoint: /api/{locale}/v1/member/reservations/{id}/cancel
  • Auth: auth:member_api (Bearer Token)

Response Thành công​

{
"message": "Đã huỷ đặt bàn thành công",
"booking": {
"id": "019b8d48-res-001",
"status": "cancelled"
}
}