Subscription-based booking with Memberpress and Gravity Forms

A focused approach to building branded booking and subscription systems using Gravity Forms and Memberpress-without relying on extra tools like Zapier, Amelia, or Calendly.

WordPress Development WordPress Plugins

Design Document

List of Plugins

One of the most common requests I get is to create some type of booking subscription platform using Memberpress and a third-party booking plugin like Amelia or Calendly. Whether it's for access to a wellness facility, booking a studio, or scheduling appointments, clients often start with these solutions.

While plugins like Amelia or The Events Calendar can serve specific industries well (e.g., salons), they become a poor fit once subscriptions are introduced. Memberpress is central to managing subscriptions, and these plugins typically require clunky workarounds or expensive integrations to connect the dots.

Booking plugins also come at an extra cost, lack native SMTP support for emails, and offer limited customization for branded experiences. Most setups end up relying on no-code tools like Zapier, introducing complexity and fragility. When it works, it's slow and rigid; when it doesn't, it's a support nightmare.

You're far better off hiring a developer on Upwork and investing in Gravity Forms add-ons. These give you long-term value and greater flexibility. More importantly, you avoid dashboard confusion - Memberpress will handle the core subscription and account management experience.

Below is the tech stack and process you'd want to use to implement a robust booking + subscription feature. Using this method will give you a serious edge over your competition.

Step 1: Create the Gravity Form

  • Build your Gravity Form and note the form ID and individual field IDs.
  • These will be used in custom hooks and logic later on.
  • Use the "Page Break" field to create a multi-step form if desired.

Step 2: Redirect to the Memberpress Product Page

Create three pricing cards. There are two main redirection strategies:

  • Option 1 (Simple): Link directly to a unique Gravity Form for each specific Memberpress subscription product.
  • Option 2 (Flexible): Use query parameters or hidden fields to pass the product ID, and conditionally redirect after form submission.

Optional Enhancements:

  • Create a multi-step "progress" form using Page Break fields.
  • Improve form styling using custom CSS or HTML.
  • Use custom field markup hooks like those documented in Outsellers Gravity Forms Filters.

Step 3: Customize the Gravity Forms Event Add-On

  • Hide the End Time field via CSS or a Gravity Forms filter.
  • Programmatically set the End Time to 30 minutes after the selected Start Time using a PHP hook.
  • Pre-fill recurrence options to streamline the UI.

Step 4: Integrate with GravityCalendar

  • Use GravityCalendar Developer Hooks to:
    • Customize how entries display on the calendar.
    • Dynamically modify event titles and visibility based on user roles or form values.

Step 5: Integrate with Memberpress

Customize the Member Dashboard

  • Create a /memberpress/ folder in your child theme or plugin to override Memberpress templates.
  • Follow the official guide: Memberpress Template Overrides.
  • Use overrides to add custom nav items and views to the user dashboard.

Add Custom Views and Navigation Items

  • Admin View:
    • Add a nav tab and view that displays all shared calendars.
    • Restrict this view to administrators only.
  • User View:
    • Allow users to view and manage their own event preferences.
    • Let them modify settings like date, time, and recurrence via Gravity Forms entries.