WP Manifestindependent plugin directory
manifest / events / wp-restaurant-booking

WP Restaurant Booking

Professional WordPress restaurant booking system - reservations, time slots, dashboard, emails, REST API. Built from Toranj experience.

★ 0stars
v1.0.0latest · 4mo ago

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/midasmoradi/wp-restaurant-booking/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard → Updates. Install new releases yourself, or let Git Updater track the repository.

Professional restaurant reservation system for WordPress — built from real-world Toranj restaurant experience.

Author: Midas Moradi

Features

Feature Description
Reservation CPT Custom post type with date, time, party size, customer info, status
Time Slots Weekly schedule, slot intervals, capacity per slot, blackout dates
Admin Dashboard Today's stats, upcoming reservations, quick confirm/cancel
Email Notifications Customer confirmation, admin alert, status change emails
REST API Slots, create/list/update reservations (wprb/v1)
Booking Form Multi-step shortcode [restaurant_booking] with AJAX

Architecture

src/
├── App.php
├── Container/Container.php
├── PostTypes/ReservationPostType.php
├── TimeSlots/TimeSlotManager.php
├── Email/NotificationService.php
├── Api/ReservationRestController.php
├── Ajax/BookingHandler.php
├── Admin/DashboardPage.php
├── Admin/SettingsPage.php
└── Frontend/BookingShortcode.php

Installation

git clone https://github.com/midasmoradi/wp-restaurant-booking.git
cd wp-restaurant-booking
composer install --no-dev

Copy to wp-content/plugins/ and activate.

Usage

  1. Configure at Bookings → Settings
  2. Add [restaurant_booking] shortcode to a page
  3. Manage reservations from Bookings dashboard

REST API

GET  /wp-json/wprb/v1/slots?date=2026-06-15&party_size=4
POST /wp-json/wprb/v1/reservations
GET  /wp-json/wprb/v1/reservations          (auth required)
PATCH /wp-json/wprb/v1/reservations/{id}    (auth required)

Create reservation (public)

POST /wp-json/wprb/v1/reservations
{
  "date": "2026-06-15",
  "time": "19:00",
  "party_size": 4,
  "name": "John Doe",
  "email": "john@example.com",
  "phone": "+1234567890",
  "notes": "Window seat please"
}

Hooks

add_action( 'wprb_reservation_created', function ( int $post_id ) {} );
add_action( 'wprb_reservation_status_changed', function ( int $id, string $old, string $new ) {} );
add_filter( 'wprb_email_headers', function ( array $headers, string $to, string $subject ) {
    return $headers;
}, 10, 3 );

License

GPL v2 or later.

Releases

1 release.

Tag
Published
v1.0.0 latest
Jun 8, 2026 4mo ago

These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.