Skip to content

feat(integrations): add BookingPress action integration#158

Open
RishadAlam wants to merge 3 commits intomainfrom
feat/bookingpress
Open

feat(integrations): add BookingPress action integration#158
RishadAlam wants to merge 3 commits intomainfrom
feat/bookingpress

Conversation

@RishadAlam
Copy link
Copy Markdown
Member

Description

This PR adds BookingPress as a new action integration in Bit Integrations. Users can now connect BookingPress and run supported appointment/customer actions from automation flows. It includes backend execution handlers, frontend configuration UI, and integration registration in the action selector.

Motivation & Context

Users need to automate BookingPress operations directly from their flows without manual updates inside BookingPress. This change introduces the BookingPress action module so common appointment and customer operations can be mapped and executed through Bit Integrations.

Related Links: (if applicable)

Type of Change

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

Key Changes

Integrations (Backend)

  • Added BookingPress authorization endpoint to validate plugin availability before setup.
  • Added BookingPress action executor with support for:
    • cancel appointment
    • update appointment status
    • create customer
    • update customer
    • delete appointment
    • delete customer
  • Added field-map based request data builder with support for custom values/smart tag replacement.
  • Added integration execution logging for BookingPress action responses.

Frontend (Configuration UI)

  • Added complete BookingPress integration setup screens for create and edit flows.
  • Added action selection UI and field mapping UI with required/optional field handling per action.
  • Added BookingPress authorization/connect step in integration setup.
  • Added BookingPress integration icon asset and action registration in UI integration lists.

Platform Registration

  • Added BookingPress in integration metadata and action picker registration.
  • Added BookingPress tutorial link placeholders in static tutorial links config.
  • Added BookingPress to custom form action integrations list.

Checklist

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

Changelog

  • New Actions: Added BookingPress action integration to automate appointment and customer operations from flows.
  • Feature: Added support for canceling appointments, updating appointment status, creating/updating customers, and deleting appointments/customers.
  • Improvement: Added guided BookingPress setup with connection check and field mapping UI for faster configuration.

RishadAlam added 2 commits May 1, 2026 18:15
- Implemented BookingPress integration in the frontend, including components for editing, creating, and authorizing the integration.
- Added backend functionality for BookingPress actions, including authorization and record handling.
- Introduced field mapping for BookingPress actions, allowing users to map form fields to BookingPress fields.
- Created static data for BookingPress actions and fields.
- Added a new image asset for BookingPress integration.
Copilot AI review requested due to automatic review settings May 1, 2026 12:26
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request implements a new integration for BookingPress, adding the necessary backend infrastructure for authorization and record handling, as well as frontend components for user configuration. The review identified a bug where an instance method was called statically in PHP, a missing JavaScript import for tutorial links, and a redundant ternary operator in the UI logic.

Comment thread backend/Actions/BookingPress/RecordApiHelper.php Outdated
Comment thread frontend/src/components/AllIntegrations/BookingPress/BookingPressIntegLayout.jsx Outdated
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 1, 2026

✅ 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

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Adds BookingPress as a new action integration, enabling BookingPress appointment/customer operations to be executed from Bit Integrations automation flows.

Changes:

  • Registered BookingPress in the action selector and integration routing (new + edit + info screens).
  • Added BookingPress frontend configuration UI: authorization/connect step + action selection + field mapping.
  • Added backend BookingPress authorize route/controller and action execution helper with logging.

Reviewed changes

Copilot reviewed 17 out of 18 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
frontend/src/components/Flow/New/SelectAction.jsx Adds BookingPress to the action type list.
frontend/src/components/AllIntegrations/NewInteg.jsx Loads and renders the new BookingPress integration configurator.
frontend/src/components/AllIntegrations/IntegInfo.jsx Adds BookingPress “info” authorization view.
frontend/src/components/AllIntegrations/EditInteg.jsx Adds BookingPress edit integration entry point.
frontend/src/components/AllIntegrations/BookingPress/staticData.js Defines BookingPress actions and field schemas for mapping.
frontend/src/components/AllIntegrations/BookingPress/EditBookingPress.jsx Adds edit screen wiring for BookingPress action configs.
frontend/src/components/AllIntegrations/BookingPress/BookingPressIntegLayout.jsx Implements BookingPress action selection + field-map UI.
frontend/src/components/AllIntegrations/BookingPress/BookingPressFieldMap.jsx Implements per-row mapping UI including custom/smart-tag inputs.
frontend/src/components/AllIntegrations/BookingPress/BookingPressCommonFunc.js Adds helpers for config input and field-map validation/building.
frontend/src/components/AllIntegrations/BookingPress/BookingPressAuthorization.jsx Adds BookingPress availability/authorization (plugin check) step UI.
frontend/src/components/AllIntegrations/BookingPress/BookingPress.jsx Adds new-flow multi-step BookingPress integration setup.
frontend/src/Utils/StaticData/webhookIntegrations.js Adds BookingPress to custom form action integrations list.
frontend/src/Utils/StaticData/tutorialLinks.js Adds BookingPress tutorial link placeholders.
backend/Core/Util/AllTriggersName.php Registers BookingPress in integration metadata list.
backend/Actions/BookingPress/Routes.php Adds backend authorize endpoint route.
backend/Actions/BookingPress/RecordApiHelper.php Adds BookingPress action execution dispatcher + req-data builder + logging.
backend/Actions/BookingPress/BookingPressController.php Adds authorize handler and execution entry point.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread backend/Actions/BookingPress/RecordApiHelper.php Outdated
Comment thread backend/Actions/BookingPress/RecordApiHelper.php
Comment thread backend/Actions/BookingPress/RecordApiHelper.php
Comment thread frontend/src/components/AllIntegrations/BookingPress/staticData.js
Comment thread frontend/src/components/AllIntegrations/BookingPress/staticData.js Outdated
Comment thread frontend/src/components/AllIntegrations/BookingPress/staticData.js Outdated
Comment thread frontend/src/components/AllIntegrations/BookingPress/staticData.js Outdated
Comment thread frontend/src/components/AllIntegrations/BookingPress/staticData.js Outdated
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