Skip to content

feat(restaurant-reservations): add Five Star Restaurant Reservations integration - #251

Merged
7 commits merged into
mainfrom
feat/restaurant-reservations
Nov 8, 2026
Merged

7 commits merged into
mainfrom
feat/restaurant-reservations

Conversation

@RishadAlam

@RishadAlam RishadAlam commented Nov 2, 2026 •

Copy link
Copy Markdown
Member

Pull Request

Description

Adds Five Star Restaurant Reservations to Bit Integrations as an action with 11 write actions, and registers its 9 Pro triggers. The free plugin owns the setup screens and the dropdown routes. The actions and triggers run in Pro: https://github.com/bit-apps-pro/bit-integrations-pro/pull/170

Motivation & Context

Five Star Restaurant Reservations is a WordPress table-booking plugin. This ports the Bit Flows integration (bit-apps-pro/bit-pi#895). Only write actions are ported. Get Booking and Find Bookings by Email only return data, so they are left out.

Type of Change

  • 🐛 Bug fix
  • ✨ New feature
  • 💥 Breaking change
  • 📚 Documentation update
  • ⚡ Improvement
  • 🔄 Code refactor

Key Changes

Backend (backend/Actions/RestaurantReservations)

  • Added RestaurantReservationsController with a plugin check and three dropdown routes: statuses, locations and tables.
    • Locations load only when the plugin location taxonomy exists.
  • Added RecordApiHelper: one switch case per action fires its own restaurant_reservations_* hook, then calls LogHandler::save with the booking, email or ban type. Each hook receives the utilities and settings only when the action uses them.
  • Added the trigger to AllTriggersName as a Pro trigger.

Frontend (AllIntegrations/RestaurantReservations)

  • Added the setup screens.
    • The Booking ID and the email of the target go in the field map, so each run can act on a different booking.
    • Status, Location and Tables are dropdowns with refresh buttons. On Create Booking and Update Booking they show "(optional)". A note explains what an empty status does.
    • Location shows only on sites that use locations, and Create Booking requires it there. Tables shows on Create and Update Booking only when the site has tables.
    • Send Notifications and Delete Permanently are plain checkboxes.
    • The option lists load together behind one loader. A success toast shows only on a manual refresh. A list that fails to load always shows an error toast.
    • The edit screen reloads the lists for the saved action. So locations or tables added after the flow was saved appear on edit.
  • Added notes for capacity checks, empty fields on update, template tags and ban lists.
  • Added registration in NewInteg, EditInteg, IntegInfo, SelectAction, tutorialLinks and the custom form trigger list, plus a 128px logo.

Testing

  • Tested as a user would. I built 11 Contact Form 7 → Five Star Restaurant Reservations flows in the wizard and ran each from a real form submit. Every flow log was a success.
  • Checked the edit screen: it restores the action, status, field map and checkboxes, and a changed status saves. Tables added after save show up on edit.
  • Checked that Next is blocked when a required field is not mapped.
  • Captured all 9 triggers with Fetch from real plugin actions in the admin and on the booking page.
  • eslint and Prettier are clean on the changed files. php-cs-fixer, PHP 7.4 compatibility and Plugin Check are clean.

Checklist

  • Code follows project style guidelines
  • Self-review completed
  • Tests added/updated
  • Documentation updated if needed
  • README updated if needed

Changelog

  • New Triggers (9):
    • Five Star Restaurant Reservations (9)
  • New Actions (11):
    • Five Star Restaurant Reservations (11)

🤖 Generated with Claude Code

…action routes

Controller, RecordApiHelper and Routes for 11 Pro actions. The free side fires one
hook per action, logs the result, and lists statuses, locations and tables for the
dropdowns. Register the Pro trigger name.
Booking ID, email and IP come from the field map. Status, location and tables are
dropdowns. Send Notifications and Delete Permanently are plain utility checkboxes.
…tion type

The location list now also checks the taxonomy, and the table list
returns an empty list when the plugin settings are not loaded. Logs use
the booking, email or ban type, as other integrations do.
…equire location

Create Booking and Update Booking show Status, Location and Tables as
dropdowns with an "(optional)" label. A status can now be cleared, which
the old checkbox and modal did not allow. Create Booking cannot be saved
without a location when the site uses locations. Option lists load
together behind one loader and show a toast only on manual refresh.
…ables exist

Create Booking and Update Booking showed an empty Tables dropdown on
sites without tables. The row now shows only when the plugin has tables,
the same as Location. Assign Tables still always shows it.
Copilot AI balanced review requested due to automatic review settings November 2, 2026 15:18

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown

✅ WordPress Plugin Check Report

✅ Status: Passed

📊 Report

All checks passed! No errors or warnings found.


🤖 Generated by WordPress Plugin Check Action • Learn more about Plugin Check

The status, location and table lists loaded only when an action was
picked, and the saved copies were reused on edit. A site that later added
locations or tables showed no row for them, so Create Booking failed with
"Location is required" and the user could not fix it without resetting
the action. The edit screen now reloads the lists for the saved action.
Copilot AI balanced review requested due to automatic review settings November 2, 2026 15:29

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.

@RishadAlam RishadAlam closed this pull request by merging all changes into main in 1d6534a Nov 8, 2026
@RishadAlam
RishadAlam deleted the feat/restaurant-reservations branch November 8, 2026 08:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants