v1.1.1 PRO Complete Edition

Restaurant Table Bookings PRO

The comprehensive restaurant table reservation, floor management, and hostess POS suite for WordPress. Engineered for high-volume venues, bars, and bistros.

1. Overview & Architecture

Restaurant Table Bookings PRO combines the solid foundation of the free core with an enterprise suite of front-of-house tools designed specifically for restaurant operations.

It operates as a lightweight, high-performance add-on to levelnetwork-restaurant-table-bookings. All custom database tables (wp_pub_reservations, wp_pub_clients, wp_pub_tables) and plugin options are 100% shared, guaranteeing zero data loss whether upgrading, updating, or maintaining staging copies.

What PRO Adds to Your Restaurant

  • Fullscreen Touch-Optimized POS Terminal: Designed for reception tablets (iPad, Android) and desktop floor stands with real-time digital clock and sticky headers.
  • Light / Dark OLED Theme Switcher: One-tap toggle between a high-contrast daylight theme and an eye-friendly, battery-saving dark OLED theme.
  • Live Room Occupancy & Interactive Floor Map: Real-time KPI summary bar and color-coded table cards reflecting live seat availability.
  • Smart Auto-Approval Automation Engine: Confirms reliable repeat patrons automatically based on past completed visits and reliability scores.
  • Multi-Staff User Roles: Dedicated restopub_manager, restopub_staff, and restopub_viewer roles with granular capability mappings.
  • 1-Click JSON Backup & Restore: Export and import Table Layouts, Client CRM profiles, and Reservation History.
  • Automatic Updates & License Manager: 1-click in-dashboard updates via GitHub Releases and Lemon Squeezy licensing.

2. Roles & Granular Capabilities PRO

PRO registers three dedicated WordPress roles and four granular capabilities, allowing you to configure tablet logins for waitstaff without providing access to unrelated WordPress admin menus:

Role Name Assigned Capabilities Access Scope
Restaurant Manager
restopub_manager
view_restopub_reservations
create_restopub_reservations
manage_restopub_tables
manage_restopub_settings
Full operational and configuration control. Can manage bookings, floor plans, client profiles, shift hours, and email templates.
Restaurant Staff / Hostess
restopub_staff
view_restopub_reservations
create_restopub_reservations
manage_restopub_tables
Front-of-house floor access. Can operate the POS Staff Terminal, check-in guests, assign tables, and record walk-ins. Cannot modify global plugin settings.
Restaurant Viewer
restopub_viewer
view_restopub_reservations Read-only monitoring. Ideal for kitchen display monitors or service coordinators who need to monitor headcounts and table turnover.
â„šī¸

Admin & Editor Compatibility

Standard WordPress Administrators and Editors automatically inherit full management rights so existing workflows remain completely uninterrupted.

3. Staff POS Terminal (Backend & Frontend) PRO

The Staff POS Terminal provides a touch-friendly, distraction-free environment for hostesses and floor managers to orchestrate guest seating during peak service:

Deploying the Terminal

  • Inside WP-Admin: Navigate to Restaurant Bookings → Staff Terminal (`admin.php?page=levelnetwork-restaurant-table-bookings-terminal`) or access it directly inside the Reservations Dashboard (default view when PRO is active).
  • On Frontend Tablets: Create a private or password-protected page (e.g. /terminal/) and place the shortcode:
    [restopub_staff_terminal]

Key Terminal Capabilities

Feature Operational Description
Live Digital Clock & Date Real-time localized digital clock in the header bar ensures hostesses can track reservation grace periods and upcoming turns accurately.
Theme Toggle Switcher Instant switch between a clean Light Theme and a high-contrast Dark OLED Theme. Saved per-device in browser localStorage.
One-Click Touch Statuses Large, responsive buttons to mark guests as Checked In, Seated, Completed, or No-Show without reloading.
Direct Phone Dialing & Email Customer phone numbers feature clickable tel: links with phone icons for instant calling from tablets or VoIP softphones.
Client Reliability Badge Instant visual badges (Green, Yellow, Red) displayed next to each customer to highlight VIP regulars and identify risky bookings.
Sticky Headers & Virtual Scroll The table grid maintains fixed column headers during vertical scrolling so staff never lose context during busy service.

4. Live Room Occupancy & Interactive Floor Map PRO

Located immediately beneath the status controls on the POS terminal and in the dashboard tab Live Occupancy & Table Cards:

Real-Time KPI Bar

  • Total Bookings: Total parties scheduled for the active date and shift.
  • Seated Guests: Real-time headcount of patrons currently seated in the dining room.
  • Available Tables: Number of physical tables currently unoccupied.
  • Occupancy Rate (%): Percentage of venue dining capacity currently in use.

Visual Table Status Cards

Every physical table is represented as an interactive, color-coded status card:

  • Available Table is clean and ready for immediate walk-in seating.
  • Reserved Table is assigned to an upcoming party arriving during the current shift.
  • Occupied Party is currently seated at the table.

Click any card to view party details, change table assignments, or clear the table for the next seating.

5. Reservations Dashboard & Dual View Modes

Under Restaurant Bookings → Reservations (`admin.php?page=ln-restopub-dashboard&tab=reservations`), PRO offers two viewing modes:

  • POS View (Default in PRO): The touch-optimized interface featuring the live occupancy bar, clock, and one-click actions.
  • Classic View: A dense tabular grid with advanced date range picking, shift dropdowns, search, and .ics export links. Features instant status auto-saving via AJAX with a green "Saved" badge, dedicated manual checkmark save button, modern floating Toast notifications, and a status filter dropdown (All, Confirmed, Pending, Completed, Cancelled, No-Show).
  • Live Pending Attention Banner & Sidebar Menu Badge: Real-time pending counter bubble badge in the WordPress admin sidebar (Restaurant Bookings [X]) and a prominent banner atop the classic table alerting floor staff to requests awaiting review with 1-click filtering.

Staff can seamlessly toggle between POS View and Classic View using the top action buttons.

6. Smart Auto-Approval Automation Engine PRO

Stop wasting time manually verifying every regular customer while protecting peak weekend tables against no-shows.

How Smart Mode Works

When enabled under Restaurant Bookings → Settings, the system runs an automatic background check on incoming online bookings against the customer's CRM profile:

  1. The guest enters their details on the frontend booking form.
  2. The system checks their history in wp_pub_clients by email and phone number.
  3. If the guest has completed at least smart_min_completed visits (e.g. 2 visits) and maintains a reliability score ≥ smart_min_score (e.g. 80%), their reservation is automatically confirmed instantly and an .ics invitation is dispatched.
  4. New customers or guests with past no-shows are held in Pending status for staff review.

7. Client CRM & Reliability Scoring

Every customer is tracked inside the CRM directory (wp_pub_clients). The reliability percentage is computed automatically:

Reliability Score (%) = (Completed Bookings / Total Bookings) * 100

Badges appear across all grids and POS cards:

  • 80% - 100% Reliable: Regular guests who honor their bookings.
  • 50% - 79% Moderate / Caution: Occasional cancellations.
  • 0% - 49% High Risk: Frequent cancellations or past no-shows.

Managers can search, edit visit counts, or purge records under Restaurant Bookings → Dashboard → Clients.

8. Table & Floor Layout Management

Manage dining areas and individual table configurations under Restaurant Bookings → Dashboard → Tables & Layout:

  • Dining Areas: Organize by zone (Indoor Main Dining, Terrace, Patio, Bar).
  • Capacities: Set minimum and maximum seating. The booking wizard automatically matches party sizes against available tables.
  • Active Toggles: Enable or disable tables for private events or floor reconfigurations.

9. 1-Click JSON Backup & Restore PRO

Safeguard your restaurant's data or synchronize settings between staging and production under Restaurant Bookings → Settings → Data Maintenance:

  • Export Table Layouts: Generates a clean JSON file containing all dining areas, tables, capacities, and active states.
  • Export Client CRM: Backs up all customer profiles, visit history, and reliability scores.
  • Export Reservation History: Exports full booking archives for tax, accounting, or audit compliance.
  • Import JSON Backup: Restore any exported JSON file with 1-click sanitized import verification.

10. Customer Booking Form & Layouts

Embed the reservation wizard on any page using:

[ln_restaurant_booking_form]

Choose between Modern Cards (elevated cards with slate navy header & electric azure accents), Classic Bistro (two-column grid with segmented pill tabs and vibrant amber & gold accents), Dark Mode Luxe (ultra-premium OLED obsidian black & 24K liquid gold styling), or Sidebar Split (two-column layout with persistent booking summary) directly in Settings.

International Phone Prefix Selector: Guests can select from over 40 country calling codes with emoji flags. The system auto-detects their country instantly from timezone and browser language, backed by asynchronous IP lookup.

Real-Time Input Verification: Validates RFC 5322 email syntax and ITU-T E.164 phone numbers with live inline warning badges to ensure error-free reservations.

Special Request Tags: Special request tags (âš ī¸ Allergy, 🌾 Gluten Free, đŸĨ• Vegan, đŸ‘ļ High Chair, 🎂 Birthday) or custom tags in square brackets (e.g. [ VIP ]) are sent directly to the POS terminal and reservations table for instant kitchen and host visibility.

11. Shortcode Reference

Shortcode Target Audience Function
[ln_restaurant_booking_form]
aliases: [ln_restaurant_booking], [restopub_booking_form]
Public Website Visitors Multi-step customer reservation wizard with real-time shift slot calculation, phone prefix selector, and instant .ics calendar sync.
[ln_restaurant_cancel_booking]
alias: [restopub_cancel_booking]
Reserved Guests Internal template renderer for guest self-service cancellations. Verifies cryptographic HMAC security tokens passed from confirmation email links ({cancel_booking_link}), displays the booking recap, and releases tables instantly. (Note: Handled 100% automatically via email links; no manual page creation required).
[restopub_staff_terminal]
alias: [ln_restaurant_staff_terminal]
Floor Staff, Hostesses, Waiters Fullscreen touch-optimized POS terminal with real-time clock, Light/Dark OLED switcher, and live room occupancy bar.

12. Configuration & Settings

Global plugin behavior is configured under Restaurant Bookings → Settings:

  • Approval Mode & Smart Thresholds PRO: Select Smart mode to unlock the minimum completed bookings threshold (smart_min_completed) and reliability score threshold (smart_min_score). When PRO is active, trusted returning customers are automatically approved on autopilot.
  • Restaurant Staff Notification Email: Set one or multiple comma-separated email addresses where staff receives instant alert notifications for every new online booking and guest cancellation.
  • Urgent Staff Alert for Pending Bookings: When an online reservation arrives in Pending status, the staff email subject automatically highlights [ACTION REQUIRED - Pending Approval] with a direct call-to-action button linking directly to the admin dashboard to review and confirm or cancel the request.
  • Customizable Staff Alert Template: Full customization of subject lines and message body for staff notifications on incoming online reservations using dynamic tags ({booking_code}, {client_name}, {client_phone}, {table_name}, {admin_booking_url}, etc.).
  • Pending Reservation Email (Customer Notice): Dedicated notification sent to guests when their reservation is placed in Pending Approval, explaining the review process without sending a premature confirmation or .ics invite. Fully customizable subject and body in Settings.
  • Automated Confirmation & .ics Dispatch: The moment staff changes a pending reservation to Confirmed in the admin table or edit modal, the official Confirmation Email with .ics calendar invitation is triggered and dispatched to the customer automatically.
  • Lunch & Dinner Windows: Configure shift opening and closing times. Leave empty to disable a shift.
  • Slot Interval: 15, 30, or 60 minutes.
  • Booking Duration: Table turn time in minutes (default: 90 min).
  • Closed Days & Vacations: Block online reservations on weekly closing days or scheduled venue holidays.
  • Elegant HTML Email Templates & 1-Click Loader: Instantly load professionally designed, responsive HTML email templates with luxury accents, branded headers, clear reservation boxes, and call-to-action buttons. Features a live preview modal and an immediate Undo / Restore Previous button allowing you to revert to your custom templates whenever you want.
  • Transactional Emails & Rich HTML Formatting: Customize Confirmation, Pending, Modification, Cancellation, and Staff Alert templates with dynamic placeholders ({booking_code}, {client_name}, {booking_date}, {booking_time}, {table_location}, {ics_download_link}, {cancel_booking_link}, {cancel_booking_url}, {late_arrival_notice}). All template bodies fully support custom HTML tags (<strong>, <a>, <img>, <span style="...">, buttons, styling) with automatic tag balancing.
  • Email Delivery Best Practice: WordPress relies on wp_mail() (PHP mail/sendmail). For reliable delivery to real inboxes, configure an SMTP service using a plugin like WP Mail SMTP or FluentSMTP.
  • Demo Data Loader: Pre-populate testing data on a fresh install.
  • Clear All Data on Uninstall: Safely wipe custom tables and settings upon plugin deletion if enabled.

13. License Management & Automatic Updates PRO

Manage your PRO license directly in the dedicated Restaurant Table Bookings PRO Licence card located in the sidebar of Restaurant Bookings → Settings:

  • Lemon Squeezy Integration: Enter your license key and click Validate Licence to unlock all PRO features instantly. Product ID verification is performed directly from code and Lemon Squeezy API (no manual Product ID entry required by customers).
  • License Actions: Click Sync Status to re-verify status with Lemon Squeezy, or Unlink Licence to release the activation slot for another domain.
  • Automated Uninstall Deactivation: When the PRO plugin is deleted via WordPress Admin (Plugins → Delete), it automatically invokes Lemon Squeezy's /v1/licenses/deactivate endpoint, immediately releasing the activation slot on central servers.
  • Localhost & Staging Bypass: Developing locally on localhost, 127.0.0.1, or .local domains is automatically permitted without consuming active license activations. On remote staging servers, you can also define define('LN_RESTOPUB_PRO_DEV_MODE', true); in wp-config.php.
  • 1-Click Updates: Once activated, new versions are delivered seamlessly through standard WordPress updates (powered by private GitHub Releases and Lemon Squeezy license verification).

14. FAQ & Troubleshooting

Q: Can waitstaff access the POS terminal without administrative privileges?

A: Yes! Assign the Restaurant Staff (restopub_staff) role to their WordPress account. They can operate the terminal, check in guests, and record bookings without having access to site settings, plugins, or themes.

Q: How do I enable the Dark OLED theme on the hostess tablet?

A: On the POS terminal, tap the theme switcher button (â˜€ī¸ / 🌙) in the top action bar. The dark mode is optimized for low-light bar and evening dining environments and is saved on that specific tablet.

Q: Does the .ics calendar export work on mobile devices?

A: Yes. The calendar stream complies with RFC 5545 standards. Tapping the link on iOS or Android directly prompts the user to add the reservation to Apple Calendar or Google Calendar.

Q: What happens if PRO is deactivated?

A: The core free plugin continues operating normally. All your reservations, client CRM histories, and tables remain 100% intact. Re-activating PRO at any time instantly restores all premium features.

Q: What is the purpose of the Restaurant Viewer (restopub_viewer) role?

A: The Viewer role is designed for read-only monitoring (possessing only view_restopub_reservations). It is ideal for kitchen display screens or service coordinators who need to monitor real-time headcount, upcoming arrival times, dietary notes, and room occupancy without any ability to accidentally edit, delete, or reassign tables and bookings.

Q: How do guest self-service cancellations and email alerts work?

A: Every customer confirmation email contains a secure self-service cancellation link ({cancel_booking_link}). When clicked, the reservation is verified via a cryptographic HMAC security token and cancelled, the assigned table is immediately released back to available inventory, the guest's CRM reliability score is updated, and an instant alert is sent to the restaurant notification inbox.

Q: Do I need to manually create a cancellation page with [restopub_cancel_booking]?

A: No, absolutely not. Customer self-service cancellation is 100% automated and managed securely via email. The link generated by {cancel_booking_link} contains a unique cryptographic token tied to that specific reservation. If a visitor opens a standalone page containing [restopub_cancel_booking] directly (without clicking an authentic link from their email), the system intentionally displays an "Invalid Cancellation Link" security notice. This prevents malicious third parties from attempting to guess booking codes and cancel someone else's table.

Q: How can I hide exact remaining table counts or seat capacities from the public booking form?

A: In Restaurant Bookings → Settings → Operating Hours & Capacity Rules, configure the Public Availability Display setting. By default, it is set to Discreet / Simplified (displaying clean notices such as "Tables available for booking" and "Table available for your party" without disclosing exact capacity numbers). You can also choose Hide Seat Capacities (shows only table counts) or Detailed (shows both table counts and remaining seat capacities).

Q: Why are emails not reaching inboxes during testing?

A: By default, WordPress wp_mail() relies on the server's local PHP mail() utility, which is inactive or unconfigured in local development (Local, Docker, MAMP) and many shared hosting environments. To ensure reliable inbox delivery in production, install an authenticated SMTP plugin such as WP Mail SMTP, FluentSMTP, or Brevo.