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.

by Midas Moradi · github.com/midasmoradi/wp-restaurant-booking · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/midasmoradi/wp-restaurant-booking/archive/refs/heads/main.zip

Readme

WP Restaurant Booking

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.

Read the full README on GitHub →

Releases

TagPublished
v1.0.0 Jun 8, 2026

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