Restaurant Booking Pro
Setup Guide
Full bilingual documentation — English above, Vietnamese below each section.
Tài liệu song ngữ đầy đủ — Tiếng Anh phía trên, Tiếng Việt phía dưới.
-
Log in to WordPress Admin → Plugins → Add New Plugin → Upload PluginĐăng nhập WordPress Admin → Plugins → Thêm mới → Tải Plugin lên
-
Click Choose File, select
restaurant-booking-pro.zip, then click Install NowNhấn Chọn tệp, chọn filerestaurant-booking-pro.zip, nhấn Cài đặt ngay -
After installation completes, click Activate PluginSau khi cài xong, nhấn Kích hoạt Plugin
-
The 🍽️ Booking Pro menu will appear in the left sidebar — plugin is readyMenu 🍽️ Booking Pro sẽ xuất hiện trong sidebar trái — plugin đã sẵn sàng
Sau khi kích hoạt, plugin tự động tạo tất cả các bảng cơ sở dữ liệu cần thiết. Không cần thao tác thêm.
| Field / Trường | Description / Mô tả |
|---|---|
| License Key |
Your license key in format
RBP-1Y-XXXXXX-XXXXXXXX — found in your purchase confirmation emailLicense key định dạng
RBP-1Y-XXXXXX-XXXXXXXX — tìm trong email xác nhận mua hàng |
|
The email address you used when purchasing. Must match exactly.
Email bạn đã dùng khi mua hàng. Phải khớp chính xác.
|
No key needed — click “🎁 Start 15-day Free Trial” on the License page, enter your email. The system will automatically generate and activate a trial key for your domain.
Không cần key — nhấn “🎁 Dùng thử miễn phí 15 ngày”, nhập email. Hệ thống tự tạo và kích hoạt key trial cho domain của bạn.
| Shortcode | Description / Mô tả |
|---|---|
[rbp_booking-form]Optional:
lang="en" lang="vi" lang="fr" |
Main booking form — customers use this to reserve a table. Includes date/time picker, guest count, package selection, and payment.
Form đặt bàn chính — khách hàng dùng để đặt bàn. Có picker ngày/giờ, số khách, chọn gói dịch vụ và thanh toán.
|
[rbp_booking-lookup] |
Booking lookup — customers enter their booking code to view or cancel their reservation.
Tra cứu đặt bàn — khách nhập mã đặt bàn để xem hoặc huỷ đặt bàn.
|
[rbp_table-layout] |
Live table layout — shows real-time availability of tables on a floor map (read-only for visitors).
Sơ đồ bàn trực tiếp — hiển thị tình trạng bàn thời gian thực trên sơ đồ tầng (chỉ xem cho khách).
|
[rbp_availability-calendar] |
Availability calendar — displays a monthly calendar showing which dates have available slots.
Lịch trống — hiển thị calendar theo tháng, cho thấy ngày nào còn bàn trống.
|
You can force a specific language on any page regardless of the global setting:
Bạn có thể buộc ngôn ngữ cụ thể trên từng trang bất kể cài đặt toàn cục:
[rbp_booking-form lang="en"][rbp_booking-form lang="vi"][rbp_booking-form lang="fr"]
| Field / Trường | Description / Mô tả | Type |
|---|---|---|
| restaurant_name | Restaurant name displayed in emails and booking form Tên nhà hàng hiển thị trong email và form đặt bàn |
Required |
| restaurant_address | Full address of your restaurant Địa chỉ đầy đủ của nhà hàng |
Optional |
| restaurant_phone | Contact phone number Số điện thoại liên hệ |
Optional |
| restaurant_email | Restaurant email address Email của nhà hàng |
Optional |
| admin_notify_emails |
Email addresses that receive booking notifications. Separate multiple with commas.
Email nhận thông báo đặt bàn. Nhiều email cách nhau bằng dấu phẩy.
e.g. admin@restaurant.com, manager@restaurant.com
|
Required |
| smtp_from_name | “From” name shown in outgoing emails Tên hiển thị trong email gửi đi (trường From) |
Required |
| smtp_from_email | “From” email address for all plugin emails Địa chỉ email gửi đi cho tất cả email của plugin |
Required |
| default_currency | Currency used for deposits and packages. Options: VND or USDTiền tệ dùng cho đặt cọc và gói dịch vụ. Lựa chọn: VND hoặc USD |
Required |
| plugin_language |
Language for the booking form and admin labels. Options: Auto (follows WordPress locale),
vi Vietnamese, en English, fr French.Ngôn ngữ cho form đặt bàn và nhãn admin. Lựa chọn: Tự động (theo WordPress locale),
vi Tiếng Việt, en English, fr Pháp.Can be overridden per-page with shortcode attribute
lang="en" / Có thể ghi đè từng trang bằng thuộc tính shortcode lang="vi" |
Required |
| Field / Trường | Description / Mô tả |
|---|---|
| name |
Slot display name shown to customers
Tên ca hiển thị cho khách hàng
e.g. “Lunch · Ca trưa”, “Dinner · Ca tối”, “Weekend Brunch”
|
| start_time / end_time |
Opening and closing time for this slot (24-hour format)
Giờ bắt đầu và kết thúc của ca (định dạng 24 giờ)
e.g. 11:00 – 14:00 for lunch, 17:30 – 22:00 for dinner
|
| slot_type |
Type:
lunch 🌞 or dinner 🌙 — used for display and filteringLoại ca:
lunch 🌞 Ca trưa hoặc dinner 🌙 Ca tối — dùng để hiển thị và lọc |
| days_of_week |
Days this slot operates. Check all applicable days (Mon=1 through Sun=7).
Các ngày ca này hoạt động. Chọn tất cả ngày phù hợp (T2=1 đến CN=7).
|
| max_bookings |
Maximum number of bookings allowed per slot. Set to
0 for unlimited.Số lượng đặt bàn tối đa cho phép mỗi ca. Đặt
0 để không giới hạn. |
| max_guests |
Maximum total guests per slot — used when capacity mode is set to
by_guestsTổng khách tối đa mỗi ca — dùng khi chế độ kiểm tra sức chứa là
by_guests |
Create separate slots for lunch and dinner, and for weekdays vs. weekends if your hours differ. For buffet restaurants, use by_guests capacity mode with max_guests set per slot.
Tạo ca riêng cho trưa và tối, và cho ngày thường vs. cuối tuần nếu giờ khác nhau. Với nhà hàng buffet, dùng chế độ sức chứa by_guests với max_guests cho từng ca.
| Feature / Tính năng | Description / Mô tả |
|---|---|
| Floors / Tầng |
Organize your restaurant into multiple floors (e.g. Floor 1, Rooftop, Terrace). Each floor shows as a separate tab.
Phân chia nhà hàng theo tầng (VD: Tầng 1, Sân thượng, Hiên ngoài). Mỗi tầng hiển thị thành tab riêng.
|
| Rooms / Phòng |
Subdivide floors into rooms or areas (e.g. VIP Room, Main Hall, Bar Area). Tables are assigned to rooms.
Chia tầng thành phòng hoặc khu vực (VD: Phòng VIP, Sảnh chính, Khu Bar). Bàn được gán vào phòng.
|
| Table Status |
● Available — no booking · ● Booked — confirmed/seated · ● Locked — manually blocked
● Trống — chưa đặt · ● Đã đặt — xác nhận/đang ngồi · ● Khoá — bị chặn thủ công
|
| Date Picker |
Select any date to view the floor plan status for that day. Defaults to today.
Chọn ngày bất kỳ để xem tình trạng sơ đồ bàn cho ngày đó. Mặc định là hôm nay.
|
| Field / Trường | Description / Mô tả | Default |
|---|---|---|
| auto_confirm |
Toggle Auto-confirm bookings: When ON, all new bookings are immediately confirmed and the table is locked. When OFF, bookings require manual confirmation from the admin.
Bật/Tắt Tự động xác nhận: Khi BẬT, đặt bàn mới tự động chuyển sang xác nhận và khoá bàn. Khi TẮT, cần xác nhận thủ công từ admin.
|
OFF |
| deposit_threshold |
Number of guests that triggers a deposit requirement. Bookings with ≥ this number of guests must pay a deposit.
Số lượng khách kích hoạt yêu cầu đặt cọc. Đặt bàn có ≥ số này phải đặt cọc.
|
10 |
| deposit_amount |
Deposit amount in the default currency (VND or USD)
Số tiền đặt cọc theo đơn vị tiền tệ mặc định (VND hoặc USD)
|
200,000 |
| prepaid_discount |
Discount percentage (%) offered to customers who pay in full upfront
Phần trăm chiết khấu (%) cho khách trả trước toàn bộ
|
10% |
| max_advance_days |
How many days in advance customers can book. The booking form will not allow dates beyond this limit.
Khách có thể đặt trước tối đa bao nhiêu ngày. Form đặt bàn sẽ không cho phép chọn ngày quá giới hạn này.
|
60 |
| capacity_check_mode |
by_tables: Checks available tables in real time. Slot is “full” when all tables for that slot are booked (confirmed/seated).
by_guests: Checks total guest count per slot. Slot is “full” when max_guests is reached. Best for buffets.
by_tables: Kiểm tra bàn trống theo thời gian thực. Ca “hết bàn” khi tất cả bàn của ca đó đã được đặt (xác nhận/đang ngồi).
by_guests: Kiểm tra tổng lượng khách mỗi ca. Ca “hết” khi đạt max_guests. Phù hợp nhất cho buffet. |
by_tables |
| full_slot_label |
Label displayed on the booking calendar when a slot is full
Nhãn hiển thị trên lịch đặt bàn khi ca đã hết
|
HẾT BÀN |
| no_show_blacklist_threshold |
Number of no-shows before a customer is automatically added to the blacklist
Số lần không đến trước khi khách tự động bị thêm vào danh sách đen
|
3 |
| Field | Description / Mô tả |
|---|---|
| pkg_name | Package name shown to customers in the booking form Tên gói hiển thị cho khách trong form đặt bàn e.g. “Buffet A – Standard · 350,000đ/người”, “Buffet B – Premium” |
| pkg_desc | Description of what’s included in the package Mô tả nội dung của gói dịch vụ |
| pkg_price | Price per person. Total = price × number of guests. Giá mỗi người. Tổng tiền = giá × số lượng khách. |
| pkg_active | Enable/disable this package. Disabled packages are hidden from the booking form. Bật/tắt gói này. Gói bị tắt sẽ ẩn khỏi form đặt bàn. |
| Field | Description / Mô tả |
|---|---|
| vietqr_enabled | Toggle Enable VietQR payment method Bật/Tắt Bật phương thức thanh toán VietQR |
| bank_name |
Bank identifier code (lowercase). Must match VietQR bank list.
Mã ngân hàng (chữ thường). Phải khớp với danh sách ngân hàng VietQR.
e.g.
vcb (Vietcombank) · bidv · techcombank · mbbank · acb · vpbank · tpbank |
| bank_account_number | Your bank account number Số tài khoản ngân hàng của bạn |
| bank_account_name | Account holder name (as registered with the bank, UPPERCASE) Tên chủ tài khoản (đúng như đăng ký với ngân hàng, CHỮ HOA) |
| Field | Description / Mô tả |
|---|---|
| stripe_enabled | Toggle Enable Stripe payments Bật/Tắt Bật thanh toán Stripe |
| stripe_public_key |
Publishable key from Stripe Dashboard → Developers → API keys
Publishable key từ Stripe Dashboard → Developers → API keys
Test:
pk_test_… · Live: pk_live_… |
| stripe_secret_key |
Secret key (keep private — never share or commit to code)
Secret key (giữ bí mật — không chia sẻ hoặc để trong code)
Test:
sk_test_… · Live: sk_live_… |
| stripe_webhook_secret |
Webhook signing secret — required for confirming payments. See setup below.
Webhook signing secret — bắt buộc để xác nhận thanh toán. Xem hướng dẫn bên dưới.
Format:
whsec_… |
Go to Stripe Dashboard → Developers → Webhooks → Add endpoint
Vào Stripe Dashboard → Developers → Webhooks → Add endpoint
https://yoursite.com/wp-json/rbp/v1/payments/webhook/stripe
Select event: payment_intent.succeeded · Copy the Signing secret → paste into stripe_webhook_secret
Chọn event: payment_intent.succeeded · Copy Signing secret → dán vào stripe_webhook_secret
-
Go to developer.paypal.com → My Apps & CredentialsTruy cập developer.paypal.com → My Apps & Credentials
-
Create a new App → copy the Client ID and SecretTạo App mới → sao chép Client ID và Secret
-
Set mode to Sandbox for testing, Live for productionĐặt mode là Sandbox để test, Live khi chạy thật
-
Paste credentials into the PayPal section of Settings and enable the toggleDán thông tin vào phần PayPal trong Cài đặt và bật toggle
-
Receive your Merchant ID, Access Code, and Hash Key from OnePayNhận Merchant ID, Access Code, Hash Key từ OnePay
-
Test with MTF mode at
mtf.onepay.vnbefore switching to LiveTest với mode MTF tạimtf.onepay.vntrước khi chuyển sang Live -
Return URL is auto-configured:
https://yoursite.com/?rbp_gateway=onepay— no action neededReturn URL tự động:https://yoursite.com/?rbp_gateway=onepay— không cần cài thêm
| Email Type / Loại email | Description / Mô tả | Default |
|---|---|---|
| email_confirmation_enabled | Booking confirmation email sent immediately when a booking is created or confirmed Email xác nhận đặt bàn gửi ngay khi đặt bàn được tạo hoặc xác nhận |
ON |
| email_reminder_3day | Reminder email sent 3 days before the booking date Email nhắc nhở gửi 3 ngày trước ngày đặt bàn |
ON |
| email_reminder_1day | Reminder email sent 1 day before the booking date Email nhắc nhở gửi 1 ngày trước ngày đặt bàn |
ON |
| email_reminder_6h | Final reminder sent 6 hours before the booking time Nhắc nhở cuối gửi 6 tiếng trước giờ đặt bàn |
ON |
| email_abandon_enabled |
Win-back email sent to customers who cancelled. Configurable delay (days).
Email thu hồi gửi cho khách đã huỷ đặt bàn. Có thể cấu hình độ trễ (ngày).
|
OFF |
| Field | Description / Mô tả |
|---|---|
| twilio_enabled | Toggle Enable SMS notifications via Twilio Bật/Tắt Bật thông báo SMS qua Twilio |
| twilio_sid |
Account SID from Twilio Console → Dashboard
Account SID từ Twilio Console → Dashboard
Format:
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| twilio_token | Auth Token from Twilio Console (keep secret) Auth Token từ Twilio Console (giữ bí mật) |
| twilio_from |
Your Twilio phone number in E.164 format. Must be a verified Twilio number.
Số điện thoại Twilio của bạn theo định dạng E.164. Phải là số Twilio đã xác minh.
e.g.
+84901234567 or +14155552671 |
- Login to oa.zalo.me → select your OA → Quản lý → Thông tin OA → copy OA ID
- Go to developers.zalo.me → create app → link your OA → get OA Access Token
- For ZNS (Zalo Notification Service): create template at business.zalo.me → get Template ID
⚠️ OA Access Token expires every 90 days — refresh at: Zalo for Business → My OA → API
OA Access Token hết hạn sau 90 ngày — gia hạn tại: Zalo for Business → OA của tôi → API
| Field | Description / Mô tả |
|---|---|
| zalo_enabled | Toggle Enable Zalo OA automated messaging (booking confirmations & reminders) Bật/Tắt Bật Zalo OA gửi tin tự động (xác nhận đặt bàn & nhắc nhở) |
| zalo_oa_token |
OA Access Token from developers.zalo.me. Used to send messages via
POST https://openapi.zalo.me/v3.0/oa/message/csOA Access Token từ developers.zalo.me. Dùng để gửi tin qua
POST https://openapi.zalo.me/v3.0/oa/message/cs |
| zalo_template_id |
ZNS Template ID (optional). If provided, the plugin uses ZNS — which can reach customers who have not followed your OA.
Template ID ZNS (tuỳ chọn). Nếu có, plugin dùng ZNS — có thể gửi đến khách chưa theo dõi OA.
|
| zalo_oa_id |
Required for Chat Widget. Your OA ID (a long number like
1234567890123456789). Found at oa.zalo.me → Quản lý → Thông tin OA.Bắt buộc cho Chat Widget. OA ID của bạn (dãy số dài, VD:
1234567890123456789). Tìm tại oa.zalo.me → Quản lý → Thông tin OA. |
| zalo_chat_widget_enabled | Toggle Show floating Zalo Chat button on all pages of the website Bật/Tắt Hiển thị nút Zalo Chat nổi trên tất cả trang website |
| zalo_chat_position | Position of the chat button: bottom_right or bottom_leftVị trí nút chat: bottom_right (góc phải) hoặc bottom_left (góc trái) |
| zalo_chat_welcome | Auto-greeting message shown when a visitor opens the chat widget Tin nhắn chào tự động hiển thị khi khách mở widget chat |
| Field | Purpose / Mục đích |
|---|---|
| form_title | Heading of the booking form Tiêu đề form đặt bàn |
| form_label_date | Label for the date picker field Nhãn cho ô chọn ngày |
| form_label_time | Label for the time/slot picker Nhãn cho ô chọn giờ/ca |
| form_label_guests | Label for the adult guest count field Nhãn cho ô số lượng người lớn |
| form_label_seniors / children | Labels for senior and child guest count fields Nhãn cho ô số khách cao tuổi và trẻ em |
| form_label_name / email / phone | Labels for customer contact fields Nhãn cho các ô thông tin liên hệ của khách |
| form_label_package | Label for the buffet/package selection dropdown Nhãn cho dropdown chọn gói dịch vụ/buffet |
| form_label_submit | Text on the final submit/confirm button Text trên nút xác nhận cuối cùng |
| form_label_success | Success message shown after a booking is submitted Thông báo thành công hiển thị sau khi đặt bàn |
| form_label_no_slots | Message shown when no time slots are available for a date Thông báo hiển thị khi không còn ca trống cho ngày được chọn |
digitalzila.com · support@digitalzila.com
© 2024 Digitalzila · WordPress 5.8+ · PHP 7.4+

