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.zipReadme
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
- Configure at Bookings → Settings
- Add
[restaurant_booking]shortcode to a page - 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
| Tag | Published |
|---|---|
| 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.