📖 Complete Documentation · v5.6.11

JavisTab Help Center

Everything you need to install, configure, and get the most from the Restaurant Booking Pro WordPress plugin — from payments and notifications to CRM and loyalty programs.

✓ v5.6.11 WordPress 5.8+ PHP 7.4+ MySQL 5.7+ 🌐 English
📦
Step 01 · Getting Started

Installing the Plugin

Install JavisTab Booking Pro on your WordPress site in minutes

⚠️
System Requirements WordPress 5.8+ · PHP 7.4+ · MySQL 5.7+ · Active internet connection (required for license verification)
  1. Log in to WordPress Admin → go to Plugins → Add New Plugin → Upload Plugin
  2. Click Choose File, select restaurant-booking-pro.zip, then click Install Now
  3. After installation completes, click Activate Plugin
  4. The 🍽️ Booking Pro menu will appear in your left sidebar — the plugin is ready to configure
Automatic database setup After activation, the plugin automatically creates all required database tables. No additional manual steps are needed.
🔑
Step 02 · Getting Started

License Activation

Unlock full features with your license key, or start a free 15-day trial

Navigate to 🍽️ Booking Pro → 🔑 License in the WordPress admin sidebar. Enter your License Key and the email address used at purchase, then click Activate.

FieldDescription
License Key Your key in format RBP-1Y-XXXXXX-XXXXXXXX — found in your purchase confirmation email
Email Address The email used when purchasing. Must match exactly with the purchase record.
🎁
Free 15-day Trial — No credit card required On the License page, click “🎁 Start 15-day Free Trial” and enter your email. The system will automatically generate and activate a trial key for your domain.

Available License Plans

Trial
Free
15 days
1 Month
$19.9
30 days
6 Months
$59.9
180 days
Save 18%
Best Value
1 Year
$99.9
365 days
Save 26%

Compare all plans at javistab.com/pricing

📌
Step 03 · Getting Started

WordPress Shortcodes

Embed booking functionality on any WordPress page

Create a WordPress page, switch to Text / HTML mode in the editor, and paste the shortcode. JavisTab provides 4 shortcodes for different use cases:

📅
[rbp_booking-form]
Main booking form — the primary front-end interface for customers to reserve a table. Includes date/time picker, guest count, package selection, and integrated payment. Supports lang="en", lang="vi", and lang="fr" attributes.
🔍
[rbp_booking-lookup]
Booking lookup tool — customers enter their booking reference code to view their reservation status or cancel a booking without logging in.
🗺️
[rbp_table-layout]
Live table floor plan — displays real-time table availability across your restaurant’s floor map. Read-only view for website visitors; interactive for admins.
📆
[rbp_availability-calendar]
Availability calendar — shows a monthly calendar view with available and fully-booked dates clearly highlighted, helping customers plan their visit.
💡
Per-page language override Force a specific language on any individual page, regardless of the global plugin language setting:
[rbp_booking-form lang="en"]  ·  [rbp_booking-form lang="vi"]  ·  [rbp_booking-form lang="fr"]
⚙️
Step 04 · Configuration

General Settings

Booking Pro → ⚙️ Settings → General tab

Navigate to Booking Pro → ⚙️ Settings → General tab. This information appears in confirmation emails and the booking form presented to customers.

FieldDescriptionRequired
restaurant_nameYour restaurant name as displayed in emails and the booking form
restaurant_addressFull physical address of your restaurant
restaurant_phoneContact phone number shown to customers
restaurant_emailRestaurant contact email address
admin_notify_emailsEmail addresses that receive new booking notifications. Separate multiple addresses with commas.
e.g. admin@restaurant.com, manager@restaurant.com
smtp_from_name“From” name shown in all outgoing plugin emails
smtp_from_email“From” email address for all plugin-sent emails
default_currencyCurrency for deposits and packages: VND or USD
plugin_languageLanguage for the booking form: Auto (follows WordPress locale), vi Vietnamese, en English, fr French. Overridable per page via shortcode lang attribute.
Step 05 · Configuration

Time Slots (Service Hours)

Booking Pro → ⏰ Time Slots

Time slots define when customers can make a reservation. Each slot specifies operating hours, days, and capacity. You must create at least one slot before the booking form will show available times.

FieldDescription
nameSlot display name shown to customers. e.g. “Lunch”, “Dinner”, “Weekend Brunch”
start_time / end_timeOperating hours in 24-hour format. e.g. 11:00 – 14:00 for lunch, 17:30 – 22:00 for dinner
slot_typelunch 🌞 or dinner 🌙 — used for display categorization and front-end filtering
days_of_weekDays this slot operates. Select all applicable days (Monday through Sunday)
max_bookingsMaximum number of bookings allowed per slot period. Set to 0 for unlimited.
max_guestsMaximum total guest count per slot — applies when capacity mode is set to by_guests
💡
Recommended setup for most restaurants Create separate slots for lunch and dinner, and additional slots for weekdays vs. weekends if your operating hours differ. For buffet restaurants, use by_guests capacity mode with max_guests configured per slot.
🗺️
Step 06 · Configuration

Table Layout (Floor Plan)

Booking Pro → 🗺️ Table Layout

The live floor plan shows real-time table availability for your restaurant. Organize tables by Floors and Rooms, and click any table to view or manage its booking for the selected date.

FeatureDescription
FloorsDivide your restaurant into multiple floors (e.g. Floor 1, Rooftop, Terrace). Each floor appears as a separate tab in the layout interface.
RoomsSubdivide each floor into rooms or sections (e.g. VIP Room, Main Hall, Bar Area). Tables are assigned to specific rooms.
Table Status Colors● Available — no active booking  |  ● Booked — confirmed or currently seated  |  ● Locked — manually blocked by admin
Date PickerSelect any date to view the floor plan for that day. Defaults to today’s date on load.
📋
Step 07 · Configuration

Booking Rules

Settings → Booking tab

FieldDescriptionDefault
auto_confirmON — new bookings are immediately confirmed and the table locked. OFF — bookings require manual confirmation from an admin.OFF
deposit_thresholdMinimum guest count that triggers a required deposit. Bookings with ≥ this number of guests must pay before confirmation.10
deposit_amountDeposit amount in the configured currency (VND or USD)200,000
prepaid_discountPercentage discount (%) offered to customers who pay the full amount upfront10%
max_advance_daysMaximum number of days ahead that customers can book. Dates beyond this range are disabled on the booking calendar.60
capacity_check_modeby_tables: Real-time table availability check — slot is full when all tables are booked (confirmed/seated).
by_guests: Total guest count check per slot — best suited for buffet or fixed-capacity events.
by_tables
full_slot_labelText label displayed on the booking calendar when a time slot is fully bookedHẾT BÀN
no_show_blacklist_thresholdNumber of no-shows required before a customer is automatically added to the blacklist3
🍱
Step 08 · Configuration

Service Packages (Buffet / Menu)

Settings → Service Packages tab

Packages allow customers to select a specific menu or buffet option during booking. The price per person is automatically multiplied by guest count. Packages appear in step 2 of the booking form.

FieldDescription
pkg_namePackage name shown to customers in the dropdown. e.g. “Buffet Standard · 350,000đ/person”, “Premium Set Menu”
pkg_descShort description of what’s included — dishes, courses, drinks, etc.
pkg_pricePrice per person. The booking form automatically calculates: total = price × number of guests
pkg_activeEnable or disable this package. Disabled packages are hidden from the booking form without being deleted.
🏦
Payment Gateway 01

VietQR — Bank Transfer

Settings → Payment tab · Compatible with all Vietnamese banks · No merchant account required

VietQR generates an instant QR code so customers can pay via bank transfer directly from their banking app. No merchant registration required — just enter your bank details and activate the toggle.

FieldDescription
vietqr_enabledToggle to enable VietQR as an available payment method
bank_nameBank identifier code (lowercase). Must match the VietQR bank list.
Supported: vcb · bidv · techcombank · mbbank · acb · vpbank · tpbank
bank_account_numberYour bank account number (numbers only, no spaces)
bank_account_nameAccount holder name exactly as registered with the bank — use UPPERCASE
💳
Payment Gateway 02

Stripe — International Cards

Settings → Payment tab · Visa, Mastercard, and global payment methods

Stripe handles Visa, Mastercard, and other international card payments. Requires a free Stripe account. Use Test mode keys while configuring, then switch to Live when ready to accept real payments.

FieldDescription
stripe_enabledToggle to enable Stripe as an available payment method
stripe_public_keyPublishable key from Stripe Dashboard → Developers → API keys
Test: pk_test_…  |  Live: pk_live_…
stripe_secret_keySecret key — never share or commit to version control
Test: sk_test_…  |  Live: sk_live_…
stripe_webhook_secretWebhook signing secret for confirming payments server-side. Format: whsec_…
🔗
Stripe Webhook Setup Go to Stripe Dashboard → Developers → Webhooks → Add endpoint.
Endpoint URL: https://yoursite.com/wp-json/rbp/v1/payments/webhook/stripe
Select event type: payment_intent.succeeded · Copy the Signing secret → paste into stripe_webhook_secret in plugin settings.
🅿️
Payment Gateway 03

PayPal

Settings → Payment tab · Global PayPal payments

  1. Go to developer.paypal.comMy Apps & Credentials
  2. Create a new App → copy the Client ID and Secret Key
  3. Set mode to Sandbox for testing, switch to Live for production
  4. Paste the credentials into the PayPal section under Settings → Payment tab and enable the toggle
🔷
Payment Gateway 04

OnePay Vietnam

Settings → Payment tab · Local Vietnamese payment gateway

  1. Register a merchant account at onepay.vn
  2. Receive your Merchant ID, Access Code, and Hash Key from the OnePay team
  3. Test your integration with MTF mode at mtf.onepay.vn before going live
  4. The Return URL is auto-configured: https://yoursite.com/?rbp_gateway=onepay — no additional configuration needed
📧
Notification 01

Email Automation & Templates

Settings → Notifications tab + Email Templates tab

JavisTab sends automated transactional emails at key booking lifecycle moments. Each email type has a fully customizable HTML template with dynamic data variables. Enable or disable each type independently.

Email TypeDescriptionDefault
email_confirmation_enabledBooking confirmation email — sent immediately when a reservation is created or confirmed by adminON
email_reminder_3dayReminder email sent automatically 3 days before the booking dateON
email_reminder_1dayReminder email sent automatically 1 day before the booking dateON
email_reminder_6hFinal reminder sent 6 hours before the scheduled booking timeON
email_abandon_enabledWin-back email sent to customers who cancelled their reservation. Configurable delay in days after cancellation.OFF

Available Email Template Variables

In Settings → Email Templates, customize each email with HTML. These dynamic variables are replaced with real booking data at send time:

{{full_name}} {{booking_ref}} {{booking_date}} {{booking_time}} {{guests}} {{seniors}} {{children}} {{buffet_package}} {{phone}} {{table_number}} {{special_requests}} {{site_name}} {{booking_url}} {{amount}}
📱
Notification 02

SMS Notifications via Twilio

Settings → Notifications tab · Requires 1-month plan or higher

Send SMS booking confirmations and reminders via Twilio. Requires a Twilio account with a verified sender number. International SMS delivery is fully supported.

FieldDescription
twilio_enabledToggle to enable SMS notifications via Twilio
twilio_sidAccount SID from Twilio Console → Dashboard. Format: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
twilio_tokenAuth Token from Twilio Console — treat as sensitive, never expose publicly
twilio_fromYour verified Twilio sender number in E.164 format.
e.g. +84901234567 or +14155552671
💬
Notification 03

Zalo OA Messaging + Chat Widget

Settings → Notifications tab · Requires 1-month plan or higher

JavisTab integrates with Zalo in two distinct ways: OA Messaging (automated booking notifications sent directly to customers via Zalo) and Chat Widget (a floating Zalo chat button embedded on your website using the official Zalo SDK).

📋
How to obtain your OA ID & Access Token
  1. Login to oa.zalo.me → select your OA → Manage → OA Info → copy your OA ID
  2. Go to developers.zalo.me → create an app → link your OA → obtain the OA Access Token
  3. For ZNS (Zalo Notification Service): create a template at business.zalo.me → copy the Template ID
⚠️
OA Access Token expires every 90 days Refresh your token at: Zalo for Business → My OA → API. Expired tokens will cause notification failures.
FieldDescription
zalo_enabledToggle to enable Zalo OA automated messaging for booking confirmations and reminders
zalo_oa_tokenOA Access Token from developers.zalo.me. Used to POST messages to https://openapi.zalo.me/v3.0/oa/message/cs
zalo_template_idZNS Template ID (optional). When set, the plugin uses ZNS — enabling delivery to customers who haven’t followed your OA.
zalo_oa_idRequired for the Chat Widget. Your OA ID — a long numeric string like 1234567890123456789. Found at oa.zalo.me → Manage → OA Info.
zalo_chat_widget_enabledToggle to display a floating Zalo Chat button on all pages of your website
zalo_chat_positionButton position: bottom_right or bottom_left
zalo_chat_welcomeGreeting message automatically shown when a visitor opens the chat widget
🏷️
Feature 01

Form Labels Customization

Settings → Form Labels tab

Every label, placeholder, button text, and status message in the booking form is fully editable. Use this to rename fields to match your brand voice or add bilingual text alongside the default language.

FieldPurpose
form_titleMain heading displayed at the top of the booking form
form_label_dateLabel for the date picker input field
form_label_timeLabel for the time slot / service hour picker
form_label_guestsLabel for the adult guest count input
form_label_seniors / childrenLabels for the senior citizen and children count fields
form_label_name / email / phoneLabels for the customer contact information fields
form_label_packageLabel for the buffet or service package selection dropdown
form_label_submitText displayed on the final confirm / submit button
form_label_successSuccess confirmation message shown to the customer after booking is submitted
form_label_no_slotsMessage displayed when no time slots are available for the selected date
👥
Feature 02

CRM — Customer Management

Booking Pro → 👥 Customers · Requires 1-month plan or higher

The built-in restaurant CRM system automatically builds a rich customer database from your booking data. View complete visit history, cumulative spending, personal notes, and blacklist status for every customer — no manual setup required.

📊 Full Visit History
💰 Total Spending Tracked
📝 Personal Notes
🚫 Blacklist Management
🔍 Search & Filter
📱 No-show Tracking
📤 CSV Export
Zero configuration — fully automated Every booking enriches the customer profile automatically: visit count, total spending, preferred time slots, special requests, and no-show history are all tracked without any manual work.
🏆
Feature 03

Loyalty Points Program

Booking Pro → Loyalty Settings · Requires 1-month plan or higher

Automatically reward repeat customers with loyalty points for each completed booking. Points are tracked in each customer’s CRM profile and can be redeemed for discounts on future reservations. The earn rate, redemption ratio, and eligibility rules are all fully configurable.

⭐ Auto-earn on completed bookings
🎁 Redeem for booking discounts
📈 Full points history per customer
⚙️ Configurable earn & redeem rates
🧾
Feature 04

Invoices & Print

Booking Pro → 🧾 Invoices · Requires 1-month plan or higher

Generate professional printable invoices for any booking directly from the WordPress admin. Invoices include complete booking details, selected package, payment information, customer data, and your restaurant’s branding. Export to PDF or send directly from the browser.

🖨️ One-click browser print
📄 PDF export
🎨 Branded with restaurant logo & info
📋 Full booking & payment summary

Still have questions?

Reach out to our support team, explore live demos of the booking features, or compare pricing plans to find the right tier for your business.

JavisTab Booking Pro v5.6.11 · WordPress 5.8+ · PHP 7.4+ · support@digitalzila.com · javistab.com