GXbooking
a wordpress booking plugin - stripe payment enabled
by Genexmarketing Agency Ltd · github.com/genexmarketinggit/gxbooking · website
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/genexmarketinggit/gxbooking/archive/refs/heads/main.zipGXbooking is a WordPress booking plugin by Genexmarketing Agency Ltd.
Features
- Multi-agent booking model (
peopleorteams) with per-agent capacity. - Central Google Calendar sync:
- One Google OAuth connection in plugin settings.
- One central calendar ID for all bookings.
- Agents/teams subscribe to the same shared calendar.
- Booking edits can sync or cancel events automatically based on booking/payment status.
- Stripe deposits:
- Immediate payment at booking time.
- Redirect to a dedicated payment page.
- Secure encrypted storage for Google, Stripe, and CAPTCHA secrets.
- Visual booking form builder (no JSON editing required).
- Drag-and-drop field ordering in the form builder with Up/Down controls.
- Common-field presets in the form builder for faster setup.
- Advanced field types:
- Dropdown, radio group, checkbox group.
- Placeholders, help text, and configurable options.
- Conditional field visibility rules.
- Live availability picker:
- Date-based time slot loading from current bookings and agent capacity.
- Daily booking window controls per form.
- Minimum notice, max advance window, and inter-appointment buffer controls per form.
- Blackout controls per form:
- Recurring weekday blackouts.
- Specific blackout dates.
- Admin calendar interface with month, week, day, and list views plus agent/status filters.
- Admin drag-and-drop rescheduling:
- Month and week views: drag bookings between days.
- Day and list views: drag a row to the reschedule drop zone.
- Public-facing calendar display:
- Gutenberg block:
GXbooking Calendar - Shortcode:
[gxbooking_calendar] - Views:
month,week,day,list. - Optional agent/status filters and animated day-detail drawer (month view).
- Optional clean permalink routes for month/date/agent/status filters on singular pages.
- Gutenberg block:
- ICS export:
- Admin booking list and booking editor download links.
- Public ICS links after booking success and on payment page.
- Token-protected public calendar ICS feed with cache headers.
- Enhanced frontend experience:
- Animated, polished booking and calendar UI.
- Smooth slot interactions and loading states.
- Gutenberg booking form block with style supports for GeneratePress / GenerateBlocks controls.
- Booking form layout/theme controls:
- Single or two-column form layout.
- Theme presets (
soft,clean,bold) plus block style controls.
Install
- Copy this plugin folder into
wp-content/plugins/gxbooking. - Activate GXbooking in WordPress admin.
- Open GXbooking > Settings and add Google/Stripe/CAPTCHA credentials.
- In the same settings page:
- Set Central Calendar ID (
primaryor a shared calendar ID). - Click Connect Google Account via OAuth.
- Set Central Calendar ID (
- Create agents in GXbooking > Agents.
- Create form definitions in GXbooking > Booking Forms.
- Add blocks to pages:
- GXbooking Form
- GXbooking Calendar
Stripe webhook
Set Stripe webhook URL to:
https://yourdomain.com/wp-json/gxbooking/v1/stripe-webhook
Add the webhook signing secret in GXbooking > Settings.
Google OAuth redirect URI
Use this redirect URI in Google Cloud OAuth app setup:
https://yourdomain.com/wp-admin/admin-post.php?action=gxbooking_google_oauth
Shortcodes
[gxbooking_form id="123" layout="single" theme="soft"][gxbooking_payment][gxbooking_calendar view="month" limit="20" show_past="false" show_cancelled="false" show_filters="true" show_agent_filter="true" show_status_filter="true" enable_day_drawer="true" pretty_routes="true"]
Clean filter URL pattern
When pretty_routes / Use Clean Filter URLs is enabled on a singular page, filter state can render as:
/your-page/gxbooking-cal/date/2026-02-25/agent/team-alpha/status/confirmed/
Public ICS feed
In GXbooking > Settings > Public Calendar Feed you can:
- Enable a token-protected public ICS feed.
- Regenerate the feed token.
- Set cache TTL for client/feed readers.
Optional URL filters:
status=confirmed|cancelled|allagent=agent-slugmonth=YYYY-MMdate=YYYY-MM-DD
Data model
gxb_form: visual field definitions + booking behavior.gxb_agent: fulfillment targets (person/team).gxb_booking: booking records + payment/calendar sync state.