Mọi thứ bạn cần để
quản lý bàn chuyên nghiệp
Everything you need for
professional table management
8 tính năng cốt lõi thiết kế riêng cho nhà hàng. Hiển thị ngay trên website WordPress của bạn. 8 core features purpose-built for restaurants. Rendered directly on your WordPress website.
Sơ đồ tầng trực tiếpReal-Time Floor Plan
Hiển thị tình trạng từng bàn theo thời gian thực. Chỉ có bàn có trạng thái confirmed hoặc seated mới bị đánh dấu Đã đặt — không hiển thị sai lệch do booking pending. Displays every table’s live status. Only bookings with confirmed or seated status mark a table as Booked — preventing false occupation from pending bookings.
Chọn ngày linh hoạtFlexible Date Picker
Xem sơ đồ bàn cho bất kỳ ngày nào. Hỗ trợ URL param ?rbp_date=YYYY-MM-DD để link trực tiếp. Mặc định là ngày hôm nay.
View the floor plan for any date. Supports URL param ?rbp_date=YYYY-MM-DD for direct linking. Defaults to today automatically.
Nhiều tầng & phòngMulti-Floor & Multi-Room
Tổ chức nhà hàng theo tầng (Tầng 1, Sân thượng, Terrace) rồi chia thành phòng (VIP, Main Hall, Bar). Mỗi tầng hiển thị riêng biệt, có thể chuyển tab. Organise by floors (Floor 1, Rooftop, Terrace) then subdivide into rooms (VIP, Main Hall, Bar). Each floor renders separately with tab navigation.
3 trạng thái trực quan3 Visual Status States
Trống (xanh lá), Đã đặt (đỏ), Khoá (cam). Mỗi trạng thái có màu nền, màu viền và nhãn riêng. Nhìn là biết ngay. Available (green), Booked (red), Locked (amber). Each state has distinct background, border, and label. Instantly readable.
Khoá bàn thủ côngManual Table Lock
Admin có thể khoá bàn cho một ngày cụ thể (lý do: vệ sinh, sự kiện, v.v.) từ WP Admin. Bàn khoá không thể đặt dù còn trống thực sự. Admin can lock any table for a specific date (reason: cleaning, private event, etc.) from WP Admin. Locked tables cannot be booked even if physically free.
Chi tiết booking khi hoverBooking Detail on Hover
Bàn đã đặt hiển thị giờ booking, số lượng khách ngay trên sơ đồ — không cần mở trang quản lý. Đủ thông tin để xếp bàn nhanh cho staff. Booked tables show booking time and guest count directly on the floor plan — no need to open admin. Enough info for staff to manage seating instantly.
2 hình dạng bàn2 Table Shapes
Bàn chữ nhật (mặc định) và bàn tròn. Bàn tròn tự động áp dụng aspect-ratio: 1/1 và border-radius: 50% — không cần CSS thêm.
Rectangle (default) and round tables. Round tables automatically apply aspect-ratio: 1/1 and border-radius: 50% — no extra CSS needed.
Nhúng bằng shortcodeShortcode Embed
Nhúng sơ đồ bàn vào bất kỳ trang WordPress nào bằng [rbp_table-layout]. Không cần code thêm. Hỗ trợ multi-restaurant với restaurant_id.
Embed the floor plan on any WordPress page with [rbp_table-layout]. Zero extra code needed. Multi-restaurant via restaurant_id attribute.
3 trạng thái — Nhìn là biết ngay 3 Status States — Always Crystal Clear
● Trống — Available● Available
Bàn chưa có booking confirmed hoặc seated. Khách có thể đặt bàn này. Nền xanh lá, viền #86efac.
No confirmed or seated booking exists. Guests can book this table. Green background, #86efac border.
● Đã đặt — Booked● Booked / Occupied
Có booking confirmed hoặc seated trong ngày đó. Hiển thị giờ đặt và số khách. Nền đỏ, viền #fca5a5. Chỉ admin mới unlock được.
A confirmed or seated booking exists. Shows time and guest count. Red background, #fca5a5 border. Only admin can change status.
● Khoá — Locked● Locked (Manual)
Admin khoá thủ công từ WP Admin (vệ sinh, sự kiện riêng, sửa chữa…). Lưu trong bảng rbp_table-locks với lock_type='manual'. Cam, viền #fcd34d.
Manually locked by admin (cleaning, private event, repair…). Stored in rbp_table-locks with lock_type='manual'. Amber background, #fcd34d border.
Sơ đồ bàn trực quan The floor plan at a glance
Hình dạng bàn được hỗ trợ Supported Table Shapes
shape: rectangleDefault shape
shape: roundborder-radius: 50%
Từ shortcode đến sơ đồ bàn — 4 bước From shortcode to live floor plan — 4 steps
Thêm shortcode vào trang WordPressAdd shortcode to a WordPress page
Tạo page, paste [rbp_table-layout] hoặc [rbp_table-layout restaurant_id="2"] cho multi-restaurant. Không cần thêm PHP hay JS riêng.
Create a page, paste [rbp_table-layout] or [rbp_table-layout restaurant_id="2"] for multi-restaurant. No additional PHP or JS needed.
Plugin đọc cấu trúc tầng / phòng / bànPlugin reads floor → room → table structure
RBP_Availability::get_table_grid() truy vấn DB theo restaurant_id → floors → rooms → tables. Mỗi bàn được kiểm tra lock và booking status.
RBP_Availability::get_table_grid() queries DB by restaurant_id → floors → rooms → tables. Each table is checked for manual locks and booking status.
Gán trạng thái cho từng bànStatus is assigned per table
Ưu tiên: manual_lock → occupied (confirmed/seated booking) → available. Booking pending, cancelled, no_show không làm bàn bị đánh dấu Booked. Priority order: manual_lock → occupied (confirmed/seated) → available. Pending, cancelled, no_show bookings never mark a table as Booked.
Render HTML với màu sắc theo trạng tháiHTML rendered with status-based styling
Mỗi bàn render thành .rbp-tl-table.available / .occupied / .locked. Khách xem website thấy sơ đồ bàn live. Thay ngày trong picker → reload trang với URL param mới.
Each table renders as .rbp-tl-table.available / .occupied / .locked. Website visitors see the live floor plan. Change date in picker → page reloads with new URL param.
Thông số kỹ thuật Technical Specifications
| Thuộc tínhProperty | Chi tiếtDetail |
|---|---|
| ShortcodeShortcode | [rbp_table-layout] [rbp_table-layout restaurant_id=”N”] |
| URL param | ?rbp_date=YYYY-MM-DD — ghi đè ngày hiển thịoverrides displayed date |
| PHP class | RBP_Availability::get_table_grid() |
| DB tables | rbp_floors / rbp_rooms / rbp-tables / rbp_table-locks / rbp-bookings |
| Lock types | lock_type = ‘booking’ (auto) | lock_type = ‘manual’ (admin) |
| Trạng thái block bànStatus that blocks tables | confirmed, seated — pending / cancelled / no_show không blockpending / cancelled / no_show do NOT block |
| Hình dạng bànTable shapes | rectangle (default) | round |
| CSS classes | .rbp-tl-table.available / .occupied / .locked |
| Plan required | Tất cả plan (Free Trial → Annual)All plans (Free Trial → Annual) |

