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.
Installing the Plugin
Install JavisTab Booking Pro on your WordPress site in minutes
- Log in to WordPress Admin → go to Plugins → Add New Plugin → Upload Plugin
- Click Choose File, select
restaurant-booking-pro.zip, then click Install Now - After installation completes, click Activate Plugin
- The 🍽️ Booking Pro menu will appear in your left sidebar — the plugin is ready to configure
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.
| Field | Description |
|---|---|
| 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. |
Available License Plans
Compare all plans at javistab.com/pricing
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:
lang="en", lang="vi", and lang="fr" attributes.[rbp_booking-form lang="en"] · [rbp_booking-form lang="vi"] · [rbp_booking-form lang="fr"]
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.
| Field | Description | Required |
|---|---|---|
| restaurant_name | Your restaurant name as displayed in emails and the booking form | ✓ |
| restaurant_address | Full physical address of your restaurant | — |
| restaurant_phone | Contact phone number shown to customers | — |
| restaurant_email | Restaurant contact email address | — |
| admin_notify_emails | Email 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_currency | Currency for deposits and packages: VND or USD | ✓ |
| plugin_language | Language for the booking form: Auto (follows WordPress locale), vi Vietnamese, en English, fr French. Overridable per page via shortcode lang attribute. | ✓ |
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.
| Field | Description |
|---|---|
| name | Slot display name shown to customers. e.g. “Lunch”, “Dinner”, “Weekend Brunch” |
| start_time / end_time | Operating hours in 24-hour format. e.g. 11:00 – 14:00 for lunch, 17:30 – 22:00 for dinner |
| slot_type | lunch 🌞 or dinner 🌙 — used for display categorization and front-end filtering |
| days_of_week | Days this slot operates. Select all applicable days (Monday through Sunday) |
| max_bookings | Maximum number of bookings allowed per slot period. Set to 0 for unlimited. |
| max_guests | Maximum total guest count per slot — applies when capacity mode is set to by_guests |
by_guests capacity mode with max_guests configured per slot.
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.
| Feature | Description |
|---|---|
| Floors | Divide your restaurant into multiple floors (e.g. Floor 1, Rooftop, Terrace). Each floor appears as a separate tab in the layout interface. |
| Rooms | Subdivide 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 Picker | Select any date to view the floor plan for that day. Defaults to today’s date on load. |
Booking Rules
Settings → Booking tab
| Field | Description | Default |
|---|---|---|
| auto_confirm | ON — new bookings are immediately confirmed and the table locked. OFF — bookings require manual confirmation from an admin. | OFF |
| deposit_threshold | Minimum guest count that triggers a required deposit. Bookings with ≥ this number of guests must pay before confirmation. | 10 |
| deposit_amount | Deposit amount in the configured currency (VND or USD) | 200,000 |
| prepaid_discount | Percentage discount (%) offered to customers who pay the full amount upfront | 10% |
| max_advance_days | Maximum number of days ahead that customers can book. Dates beyond this range are disabled on the booking calendar. | 60 |
| capacity_check_mode | by_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_label | Text label displayed on the booking calendar when a time slot is fully booked | HẾT BÀN |
| no_show_blacklist_threshold | Number of no-shows required before a customer is automatically added to the blacklist | 3 |
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.
| Field | Description |
|---|---|
| pkg_name | Package name shown to customers in the dropdown. e.g. “Buffet Standard · 350,000đ/person”, “Premium Set Menu” |
| pkg_desc | Short description of what’s included — dishes, courses, drinks, etc. |
| pkg_price | Price per person. The booking form automatically calculates: total = price × number of guests |
| pkg_active | Enable or disable this package. Disabled packages are hidden from the booking form without being deleted. |
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.
| Field | Description |
|---|---|
| vietqr_enabled | Toggle to enable VietQR as an available payment method |
| bank_name | Bank identifier code (lowercase). Must match the VietQR bank list. Supported: vcb · bidv · techcombank · mbbank · acb · vpbank · tpbank |
| bank_account_number | Your bank account number (numbers only, no spaces) |
| bank_account_name | Account holder name exactly as registered with the bank — use UPPERCASE |
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.
| Field | Description |
|---|---|
| stripe_enabled | Toggle to enable Stripe as an available payment method |
| stripe_public_key | Publishable key from Stripe Dashboard → Developers → API keys Test: pk_test_… | Live: pk_live_… |
| stripe_secret_key | Secret key — never share or commit to version control Test: sk_test_… | Live: sk_live_… |
| stripe_webhook_secret | Webhook signing secret for confirming payments server-side. Format: whsec_… |
Endpoint URL:
https://yoursite.com/wp-json/rbp/v1/payments/webhook/stripeSelect event type:
payment_intent.succeeded · Copy the Signing secret → paste into stripe_webhook_secret in plugin settings.
PayPal
Settings → Payment tab · Global PayPal payments
- Go to developer.paypal.com → My Apps & Credentials
- Create a new App → copy the Client ID and Secret Key
- Set mode to Sandbox for testing, switch to Live for production
- Paste the credentials into the PayPal section under Settings → Payment tab and enable the toggle
OnePay Vietnam
Settings → Payment tab · Local Vietnamese payment gateway
- Register a merchant account at onepay.vn
- Receive your Merchant ID, Access Code, and Hash Key from the OnePay team
- Test your integration with MTF mode at
mtf.onepay.vnbefore going live - The Return URL is auto-configured:
https://yoursite.com/?rbp_gateway=onepay— no additional configuration needed
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 Type | Description | Default |
|---|---|---|
| email_confirmation_enabled | Booking confirmation email — sent immediately when a reservation is created or confirmed by admin | ON |
| email_reminder_3day | Reminder email sent automatically 3 days before the booking date | ON |
| email_reminder_1day | Reminder email sent automatically 1 day before the booking date | ON |
| email_reminder_6h | Final reminder sent 6 hours before the scheduled booking time | ON |
| email_abandon_enabled | Win-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:
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.
| Field | Description |
|---|---|
| twilio_enabled | Toggle to enable SMS notifications via Twilio |
| twilio_sid | Account SID from Twilio Console → Dashboard. Format: ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| twilio_token | Auth Token from Twilio Console — treat as sensitive, never expose publicly |
| twilio_from | Your verified Twilio sender number in E.164 format. e.g. +84901234567 or +14155552671 |
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).
- Login to oa.zalo.me → select your OA → Manage → OA Info → copy your OA ID
- Go to developers.zalo.me → create an app → link your OA → obtain the OA Access Token
- For ZNS (Zalo Notification Service): create a template at business.zalo.me → copy the Template ID
| Field | Description |
|---|---|
| zalo_enabled | Toggle to enable Zalo OA automated messaging for booking confirmations and reminders |
| zalo_oa_token | OA Access Token from developers.zalo.me. Used to POST messages to https://openapi.zalo.me/v3.0/oa/message/cs |
| zalo_template_id | ZNS Template ID (optional). When set, the plugin uses ZNS — enabling delivery to customers who haven’t followed your OA. |
| zalo_oa_id | Required for the Chat Widget. Your OA ID — a long numeric string like 1234567890123456789. Found at oa.zalo.me → Manage → OA Info. |
| zalo_chat_widget_enabled | Toggle to display a floating Zalo Chat button on all pages of your website |
| zalo_chat_position | Button position: bottom_right or bottom_left |
| zalo_chat_welcome | Greeting message automatically shown when a visitor opens the chat widget |
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.
| Field | Purpose |
|---|---|
| form_title | Main heading displayed at the top of the booking form |
| form_label_date | Label for the date picker input field |
| form_label_time | Label for the time slot / service hour picker |
| form_label_guests | Label for the adult guest count input |
| form_label_seniors / children | Labels for the senior citizen and children count fields |
| form_label_name / email / phone | Labels for the customer contact information fields |
| form_label_package | Label for the buffet or service package selection dropdown |
| form_label_submit | Text displayed on the final confirm / submit button |
| form_label_success | Success confirmation message shown to the customer after booking is submitted |
| form_label_no_slots | Message displayed when no time slots are available for the selected date |
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.
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.
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.
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
