Gravity Forms Bookings
Turn Gravity Forms into your WordPress booking platform. Schedule, manage, sync, and beyond.
What does it do?
This plugin allows you to create and manage flexible bookings using Gravity Forms. Whether a quick meeting, a reservation or appointment, or a weekend getaway, Gravity Forms Bookings adapts to your form’s scheduling requirements with spellbinding customizability.
Once bookings start rolling in, you’ll manage them from the GP Bookings dashboard: a powerful multi-calendar view that keeps everything in sync with your original form entries and connected to external services like Google Calendar.
With GP Bookings, you can create:
- Counseling sessions
- Salon appointments
- Package-based spa bookings
- Fitness classes & gym sessions
- Vacation rentals
- Property viewings
- Medical appointments
- Equipment rentals
- Restaurant reservations
- And many more!
Features
- Turn Gravity Forms into a customizable booking app.
Entries become bookings. Set up your availability, capacity, occupancy, and pricing logic, then use Gravity Forms for scheduling. - Build scheduling flows your way.
Manage multiple schedules, set flexible booking durations, add buffers between appointments, and more. - Integrated multi-view calendar dashboard.
Stay on top of all schedules in one dynamic dashboard right inside WordPress. - Two-way calendar syncing.
Keep GP Bookings and your external calendars in sync—both ways. - Self-serve appointment management.
Allow your customers to reschedule or cancel bookings on their own, on a deadline of your choosing. - Automatic event-based notifications.
Send confirmation emails, appointment reminders, and cancellation notices automatically. - Automatic updates.
Get updates and the latest features right in your WordPress dashboard. - Legendary support.
We’re here to help! And we mean it.
Documentation
How do I enable this functionality?
After installing and activating GP Bookings, a new GP Bookings menu item will appear on the WordPress sidebar. When you first access it, you’ll be presented with a wizard that will guide you through the initial setup process.

To help illustrate how all pieces of GP Bookings come together, you’ll have multiple templates to choose from. We recommend choosing whichever one is the most similar to your use case in concept—it will make exploration easier.
You may also choose to skip the wizard entirely and create your first service from scratch.
Feature Details
GP Bookings has a lot to unpack, so here is a logical flow overview to get you up to speed with its main elements.
GP Bookings allows you to:
- Create bookings from Gravity Forms entries
- Manage those bookings in WordPress from a powerful, calendar-based dashboard
- Sync schedules to and from external calendars (e.g. Google/Apple Calendar)
Bookings are composed of:
- A service: What is being booked.
- One or more resources: Who or what is providing the service, grouped by resource type. (Optional)
- Occupancy: How many people, animals, or things are being booked in the same booking. (Optional)
- Pricing: How much each booking is and what influences its price. (Optional)
- Availability: When the service and/or resource is available, unavailable, or booked.
These elements are highly customizable to adapt to your use case. You may create as many services and resources as you like, and resources can be shared between services.
Example:
You run a modeling agency where photographers can be booked for both makeup and photoshoots.
- Services:
MakeupandPhotoshoot - Resource Type:
Photographers - Resources:
Dave,Jane,Roger
After creating services / resources, and setting up their availability, you can add Booking fields to your forms to start scheduling bookings from new Gravity Forms submissions.
Those bookings are then reflected in the GP Bookings Dashboard, a powerful calendar and agenda manager that allows you to approve, cancel, reschedule, complete, and view entry details, all from one place.
Lastly, in the GP Bookings Settings, you can set up automatic booking behaviors (e.g. mark a booking as Confirmed once payment is processed) and a Booking Management Page to allow users to reschedule/cancel bookings themselves.
Bookable: Services
Services are the core of what you’re providing, be it haircuts, restaurant service, cabin rentals, or yoga classes. Setting up a service is necessary for creating booking slots.
Service Setup

Here’s a quick overview of a full service setup:
|
Navigate to GP Bookings › Services on the left sidebar. |
|
Click on Add New Service. |
|
Give your service a name. |
|
Configure the General and Management Service Settings. |
|
(Optional) Under Resource, create and/or select which resources apply to the service. |
|
(Optional) Under Occupancy, determine minimum and maximum occupancy for the service. |
|
(Optional) Under Pricing, define how the service’s pricing rules work. |
|
Under Availability, set up the service’s availability windows. |
|
(Optional) Under Calendar Sync, sync external calendar events to the service. |
|
Use Customization (to the right) to set a calendar color (reflected in the dashboard). Optionally, you can copy the Calendar Feed URL or click on one of the calendar buttons to sync bookings to external calendars. |
|
Hit Publish! |
Service Settings
The Service Settings will determine how individual bookings for the service will behave. This section will go over General and Management tabs, and how to select Resources.
To learn about the other service settings, use the navigation below:
- Jump to resource creation.
- Jump to Occupancy.
- Jump to Pricing.
- Jump to Availability.
- Jump to Calendar Sync.
- Jump to Customization.
General
The general settings of a service affect the behavior all bookings associated with that service.

Duration Settings
Choose the Block Size, aka amount of time a booking is going to take from minutes to a full day. You can choose from common durations or set up a custom duration (in minutes or hours).
Check Allow flexible booking durations based on block size to let users book between a minimum and a maximum amount of time in sections based on block size.

If your block size is Full Day:
- You’ll have an additional option called Treat as nights rather than days (e.g. hotels, B&Bs).
- For multi-day reservations, flexible booking durations must be enabled.

Capacity
Input how many different bookings can exist within the same booking block. Checking Unlimited lets individual blocks be booked indefinitely.
To control how many units can exist within the same booking (e.g. guests in a rental), go to Occupancy.
Buffer Settings
You can add buffer times before and after a scheduled block to ensure preparation time between bookings and prevent back-to-back scheduling.
Buffers can be set in minutes, hours, or days. By default, the buffer uses the same unit as the Block Size. If you manually switch units, the value is automatically converted (e.g. 2 days becomes 48 hours).
Management

These settings affect the Booking Management Page for any booking done under a service.
You can choose to use the global settings or specifically enable/disable the ability for users to reschedule and/or cancel their bookings for a service. Furthermore, you can set a deadline up to when users are able to reschedule or cancel (e.g. 48 hours before booking time).
Resources
On this tab you can select which resources are assigned to this service. If you don’t have any resource types created, you’ll see the following screen. You can create resource types and resources directly from this tab.

Once created, resources will appear under their respective resource type. You can assign individual resources and/or entire resource types to a service. Resources can be assigned to multiple services at once.

To edit the settings for a resource, mouse over it and click on the pen symbol.
Bookable: Resources
Depending on the type of service you provide, resources represent the who/what that the service is provided through.
Setting up resources is not necessary for setting up bookings, but if what you’re providing is multifaceted, resources will give you the most flexibility.
Individual resources are grouped in resource types.
Examples:
- Resource Type:
Hairdressers→ Resources:Dave,Sarah,Roger - Resource Type:
Cabins→ Resources:Mountain Cabin,Forest Cabin,Lake View Cabin - Resource Type:
Yoga Studios→ Resources:Zen Studio,Main Studio
Resource types and individual resources can be assigned to multiple services at the same time.
Resource Creation
Service Settings Route
GP Bookings Settings Route
Resource Setup
Regardless of where the resource was created, the rest of the setup is the same. To access this setup:
- From Resource Type: Click on the resource name.
- From Service Settings: Click on the edit symbol that appears when hovering over the resource name.
|
Configure the General Resource Settings. |
|
(Optional) Under Occupancy, define minimum and maximum occupancy rules specific to the resource. |
|
(Optional) Under Pricing, define pricing rules specific to the resource. |
|
Under Availability, add availability and unavailability windows for the resource. These can be previewed in the Availability Preview below. |
|
(Optional) Under Calendar Sync, import an external calendar as unavailability windows. |
|
Use Customization (to the right) to set a calendar color (reflected in the dashboard). |
|
(Optional) Copy the Calendar Feed URL or click on one of the calendar buttons to sync bookings to external calendars. |
Resource Types
Resource types are groups for housing resources. Once created, you can find resource types in three places:
- Submenus under GP Bookings in the WordPress sidebar.
- Inside of services under the Resources tab.
- In the Resource Types tab under GP Bookings › Settings.
To delete or edit a resource type, you must access it under the Resource Types tab in the GP Bookings settings. You can navigate directly or click on the resource type name in a service’s Resources tab.
Resource Settings
The Resource Settings provide configuration options for an individual resource. Any option not defined at the resource level defaults to setting in the service being booked.
This section will go over General and Services tabs. To learn about the other resource settings, use the navigation below:
- Jump to Occupancy.
- Jump to Pricing.
- Jump to Availability.
- Jump to Calendar Sync.
- Jump to Customization.
General

Buffer Settings
You can add buffer times before and after a scheduled block to ensure preparation time between bookings and prevent back-to-back scheduling.
Buffers can be set in minutes, hours, or days. By default, the buffer uses the same unit as the Block Size. If you manually switch units, the value is automatically converted (e.g. 2 days becomes 48 hours).
Capacity
Input how many different bookings can exist within the same booking block. Checking Unlimited lets individual blocks be booked indefinitely.
To control how many units can exist within the same booking (e.g. guests in a rental), go to Occupancy.
Services
All services that are currently using this resource are listed and linked to here. This tab also notes if the resource was assigned to the service directly or via resource type.

Occupancy
This setting is available for services and resources.
Occupancy handles the minimum and/or maximum amount of units that can be booked within the same booking. When left blank, it defaults to 1.
Examples:
- A cozy B&B with a maximum of 6 guests.
- A private dining room with a minimum of 8 diners but that can accommodate 12.

Occupancy can be used in pricing rules too.
Pricing
This setting is available for services and resources.
Pricing in GP Bookings is done through pricing rules. Each rule can have its own:
- Conditions: When the rule is applied.
- Actions: What the rule does to the price.
Adding multiple pricing rules creates dynamic pricing where each rule influences the final price as long as their conditions are met.
The main pricing rules are set up in each service. Then, each resource can have their own pricing rules that either add to the service rules or override them altogether.

To add a new pricing rule, click on Add Rule. The Rule Summary in the bottom of these settings serves as a parameter for confirming the rules are doing what is expected.

Rule Conditions
Rule conditions determine all factors that must be true for a rule to apply. Combine conditions to create more specific rules. Rules with no conditions will apply to all bookings — ideal for base prices.
| Type | Description |
|---|---|
| Date Range | Sets or adjusts pricing based on a specific date range, which can recur yearly. Uses your site’s configured date format. Example: Holiday Surcharge Between November 15th and January 15th, prices are 1.5x higher. |
| Time Range | Sets or adjusts pricing based on a specific time range. Uses your site’s configured time format. Example: After-Hours Premium Appointments after 6PM cost $10 more. |
| Days of Week | Sets or adjusts pricing based on selected days of the week. Example: Weekend Rate Instead of $150, weekends cost $180. |
| Quantity | Sets or adjusts pricing based on the booking quantity meeting a certain requirement. Example: Bulk Discounts Purchasing 5 tickets grants a $10 discount. |
| Occupancy | Sets or adjusts pricing based on the occupancy meeting a certain requirement. Example: Automatic Gratuity Parties larger than 6 get charged 20% gratuity automatically. |
| Duration | Sets or adjusts pricing based on the booking duration meeting a certain requirement. Example: Conference Rooms Normally $40/hour for 1–3 hours durations, but then $150 flat for 4–8 hours. |
| Price Threshold | Sets or adjusts pricing based on the final price meeting a certain requirement. Example: Private Chef Services Normally charges $100/hour (duration) + $25 per person (quantity). For a short 1-hour dinner for 2 people, the total would only be $150, not worth ingredient prep or travel. A $300 base ensures service is worthwhile. |
Rule Action
Rule actions determine how the rule will affect the price.
Action Types:
- Set Price: Creates a base or replaces a current price with a fixed amount.
- Add/Subtract: Adds or subtracts an amount from the current price. Positive numbers add, negative numbers subtract.
- Multiply: Multiplies the current price by a value. Supports decimals.
Multipliers can be added to rule actions to multiply the action per booking block, booking quantity, or occupants.
Resource Pricing
Under Resource Settings, you can enable pricing for a resource. This allows you to set its own pricing rules that either supplement or override the service pricing.

Pricing Type
- Supplement: Resource pricing adds to the service price.
- Override: Resource pricing replaces the service price.
Availability
This setting is available for services and resources.
In GP Bookings, availability works like an inventory of available blocks (of time slots or days) for services and resources. You’ll be able to see availability in the GP Bookings Dashboard, as well as inside of each service and resource in the Availability Preview.
If you are using resources, you might not need to set up Availability Windows for the corresponding service and vice-versa.
Examples:
- Availability set on the Service only
Use Case: You offer a special potion-infused massage service that is only available Mondays, Wednesdays, and Fridays. You don’t care which massage table it happens on—just when.
→ Set availability on the service. - Availability set on the Resource only
Use Case: Your spa has three magical chairs, each with its own enchanted schedule (e.g. one recharges on Tuesdays). The services can be booked any day, but only when a chair is available.
→ Set availability on each resource, not the service. - Availability set on both
Use Case: You only offer a crystal glow facial during evening hours, but one of your crystal rooms is closed for cleansing on Thursdays.
→ Set limited hours on the service and blackout times on the resource.
Availability Windows

Availability Windows are located under Service Settings and Resource Settings. They are used to determine when that particular service or resource is available through Availability Windows, or unavailable through Unavailability Windows. Dates and times are shown according to your site’s configured date and time format.
To add a new window, click on Add Window under Availability.
Availability Window: For adding when a service / resource is available. (e.g. shifts, opening hours)

Click on Add Window to complete the setup for that window. New availability windows are illustrated in green in the Availability Preview below.
Unavailability Window: For blocking when a service / resource is not available. (e.g. lunch breaks, holidays, maintenance)

Click on Add Window to complete the setup for that window. New unavailability windows are illustrated in red in the Availability Preview below.
Availability Windows Settings
Days of the Week: Select which days of the week the window applies to. If no day of the week is selected, but a date range is provided, the window will apply to all days within that range. The All, Weekdays, and Weekend buttons work as toggles to select and deselect their respective days.
Date Range (Optional): Set a specific period of days for the window.
Time Range (Optional): Set specific hours for the window. Leave blank to affect entire days.
Notes (Optional): Write any note about the window. This note will show up in different calendar views as a helpful reminder about why this time is available/unavailable.
Availability Preview
Once Availability Windows are set up, you’ll see them illustrated in the Availability Preview below.

- Green: Available window.
- Blue: Booked time slots.
- Red: Blocked windows.
- Orange: Buffer time.
- Grey: Outside availability.
You can move between weeks using the arrows. For resources, you can choose which service’s bookings to preview.
If a service’s block size is Full Day, you’ll see your Availability illustrated in a monthly view.

- Green: Available day.
- Blue: Booked day.
- Red: Blocked day.
- Grey: Outside availability.
You can move between months using the arrows. For resources, you can choose which service’s bookings to preview.
Calendar Sync & Customization
These settings are available for services and resources.
GP Bookings has a built-in calendar dashboard that works with inbound and outbound ICS feeds for calendar syncing. Each service and resource can be individually synced.
ICS (iCalendar) feeds are one-way and read-only. Events synced into GP Bookings from external calendars must be edited in the original calendar, and bookings synced into external calendars from GP Bookings must be edited within GP Bookings.
Calendar Color

Click on the circular color selector on the right-hand side to set a color for the service or resource you are editing. You can use the color picker or enter specific Hex, HSL, or RGB values.
Export Bookings to External Calendars
You can find GP Bookings ICS feeds for any service or resource under Customization, on the right-hand side.

If you’re using Google Calendar, Apple Calendar, or Outlook, their respective buttons take you directly to the prompt to add the GP Bookings calendar to them. To add ICS feeds to other calendar apps, or to add it manually to either of those three, you can copy the Calendar Feed URL directly.
Technical Details
- By default, GP Bookings feeds pull bookings up to 6 months in the future. This range is configurable via filter.
- Feeds resync every hour. This is also configurable via filter.
- This feature includes a unique 32-character security token.
- To regenerate tokens for access control or debugging, click on the Regenerate Token button. Once a new token is generated, the old token is deactivated.
Import External Calendars to GP Bookings
External calendar apps can be imported to services and resources alike under the Calendar Sync tab located in their respective settings.

Events from the imported calendar will be added as unavailability windows to prevent booking overlaps during those times. Imported events will use your site’s configured date and time format.
Technical Details:
Each calendar app will sync GP Bookings feeds at their own discretion. Here’s a quick comparison between three of the most popular ones to give you an idea of range:
| Calendar App | Refresh Frequency |
|---|---|
| Google Calendar | Typically once per day (up to 12 hours for iCal/ICS feeds) |
| Apple Calendar | Can be configured to refresh as frequently as every 5–15 minutes for subscribed calendars |
| Outlook.com | Uses daily sync by default; you can manually sync or configure intervals with send/receive settings |
GP Booking Settings
Under GP Bookings › Settings, you can find the following settings:

This section will go over the Booking tab. The Resource Types tab is covered under Resources.
Booking Settings
Default Booking Status: Choose the default status for new bookings between Pending and Confirmed.
Confirm Booking on Payment Status: Set bookings to be automatically confirmed when payment reaches specific statuses (e.g. Paid).
Cancel Booking on Payment Status: Set bookings to be automatically canceled if payment reaches specific statuses (e.g. Voided).
Booking Management
You can create a Booking Management Page to allow users to reschedule or cancel a booking on their own. The following settings apply globally, but they can be adjusted on a per-service basis under Service Settings.
Booking Management Page: Select which page to turn into the Booking Management Page, where users can manage their bookings from. Add the [gpb_manage] shortcode to the selected page.
Allow Rescheduling / Cancellation: Enable or disable the ability for users to reschedule / cancel their bookings through the Booking Management Page.
Reschedule / Cancel Deadline: Allow customers to reschedule / cancel their bookings until a specified deadline (in hours).
You can find a booking’s individual management URL under its booking details. Here’s an example of what that page looks like in action:

Form Fields
GP Bookings comes equipped with a four-in-one Booking field for setting up booking scheduling in Gravity Forms.

Booking Field
The Booking field acts as a gateway for you to insert fields for the four possible components of a booking: Service, Resource, Occupancy, and Booking Time. When you use these fields, an entry becomes a booking.

To add a field for each component, click on Add. Resources are the only component that allow for multiple fields.
Service Field
Allows you or users to select a service based on the chosen Selection Mode.
Service Field Settings
Preselected Service

Service: Choose which service to use.
Manual Selection

Input Type: Choose how users will select a service between a drop down and radio buttons.
Available Services: Choose which services are available for selection. You can choose multiple services or leave empty to show all services.
Resource Field
Allows you to include resources to be booked. Multiple Resource fields are supported for conditional logic. This means you could conditionally show/hide a different Resource field for a booking depending on other factors on the form.
Example: You’re booking meeting rooms and you have one group of meeting rooms for small groups and another for large groups, you could add a separate Resource field for each meeting room size and conditionally show the appropriate Resource field based on the number of participants.

Resource Field Settings
Service Field: Map to a Service field. This will determine which resources are available to this field based on the service.
Resource Type: Choose which resource types can be booked from this field. You can choose All Types, which will include all resources associated to the service from the Service field, or a specific resource type.
Allocation Mode: Select the criteria for determining which resource is going to be assigned to a particular booking:
- Manual Selection: Creates a drop down that allows users to select a resource.
- Fixed Resource: Allows you to set a specific resource to always be used for that Service field. When selected, a “Resource” drop down appears under it.
- Automatic Assignment: Automatically assigns a resource based on a chosen strategy. When selected, a “Strategy” drop down appears under it where you can choose which of the three strategies you wish to use.
| Round Robin | Capacity Spread | Capacity Pack |
| Allocates resources by distributing bookings evenly across all resources, prioritizing the resources that were booked the least recently. Purpose: Ensures even wear and usage across all resources. | Prioritizes resources with fewer existing bookings in the requested time period. Purpose: Distributes bookings to maximize availability and minimize overlap. | Focuses on filling up the capacity for each resource before moving over to the next. Purpose: Consolidates bookings to minimize resource usage and leave other resources free. |
If you use automatic assignment, we recommend hiding the field.
Occupancy Field
Allows users to input how many units (e.g. people, pets) will be attending a specific booking.

Occupancy Field Settings
Input Type: Choose how users can input the number of occupants between a free-form number input, a drop down, and radio buttons.
Occupancy limits are configured on services/resources. Options for the drop down and radio buttons will be automatically generated from the configured min/max.
Booking Time Field
The Booking Time field allows users to select:
- When they want to book a service.

- How many days they want to book a service for (with flexible durations).

- How much time they want to book a service for (with flexible durations).

The Booking Time field styling uses variables from the Gravity Forms Theme Framework and follows the WordPress’ Date, Time, and “Week Starts On” settings.
Booking Time Field Settings
General

Time Slot Mode:
- Aligned with block size: Time slots will follow the block size set up in the Service Settings.
E.g., If the block size is 30 minutes, time slots will be10AM-10:30AM,10:30AM-11AM, etc. - Flexible intervals: Time slots will follow your chosen set interval. An interval selector will appear under this setting.
E.g., If you choose an interval of 10 minutes, time slots will be10-10:30,10:10-10:40,10:20-10:50, etc.
Starting Month: Choose how the default month for the booking time selector will be determined between the first month with an availability window, the current month, or a specific month/year (selectors will appear under this setting).
Appearance

Show end times for time slots (Default): When enabled, time slots will show the start and end times for the booking. (e.g., A two hour appointment will say 10:00 am - 12:00 pm).
Show timezone indicator (Default): When enabled, a message informing users of the booking timezone will appear if their browser timezone is different from the booking timezone. The default message is “All times shown in {timezone}“. The booking timezone follows your site’s timezone.
Show spots left: When enabled, the number of available Capacity left will be displayed for each booking block. The default message is “{spots} [[spots|spot]] left”.

Quantity Field
Adding a quantity field to a form using a Booking Field will link it to the booking. That allows users to input how many bookings they want to book in a single time slot. This can be limited via Capacity.
Merge Tags
GP Bookings brings the following merge tags:
| Merge Tag | Example | Modifiers |
{gpb_booking}Displays service, resource, date, time, and duration of the booking. | Counseling Service Dr. Sarah Williams Jan 1, 2026 10:00 AM – 11:00 AM (1 hour) | :startDate: Booking start date.:endDate: Booking end date.:duration[nights/days/hours/minutes]: Booking duration.All merge tag modifiers can be used in conditional logic, while the booking duration modifier can be used in calculations. |
{gpb_datetime}Displays date and time of the booking. | Jan 1, 2026 10:00 AM – 11:00 AM (1 hour) | – |
{gpb_service}Displays the booking’s service. | Counseling Service | – |
{gpb_resource}Displays the booking’s resource(s). | Dr. Sarah Williams Room 1 | :format[comma]: Lists resources in a comma separated list. (e.g. Dr. Sarah Williams, Room 1) |
{gpb_manage_booking_url}Displays URL to the Booking Management Page. | http://mymagical.site/manage-booking/?key=GZsDo7uVrSS92fGb58RC3EKc5XL4QVJz | – |
Notifications
GP Bookings adds five notification events:
Booking CreatedBooking ConfirmedBooking CancelledBooking UpcomingBooking Rescheduled
Most of them trigger when the event happens. Booking Upcoming can be scheduled for minutes or even months before a booking.

Bookings
Gravity Forms entries that were used to schedule a service/resource with GP Bookings are considered bookings.
Inside of a booking’s entry details, there is a Booking Information meta box listing and linking to the services and resources that were booked through that entry.

Bookings link directly to the view of the associated booking in the GP Bookings Dashboard from the entries list.

Pricing Breakdown
When pricing rules are added to a service/resource, bookings also come with a comprehensive Pricing Breakdown meta box, where you can see each applied rule that led to the final combined total.

Edit Booking via Entry
When you edit an entry with a booking attached to it, you can edit the booking details as well.

Booking Price: Calculated automatically, never editable.
Service: Editable if field is set to Manual Selection.
Resource: Always editable.
Occupancy: Always editable.
Booking Time: Always editable. Edits can surpass Occupancy, Capacity, and Availability Block limits. To move a booking outside of Availability Blocks, change selection to Manual Entry.
Dashboard
The GP Bookings Dashboard is your main hub for managing bookings. It comes with four default views: Overview, Calendar, Resource Calendar, Agenda, and List. All views can be filtered by Services, Resources, and Booking Status. List views have an additional Date Range filter.
Entries are automatically updated for bookings updated through the dashboard.
You can create custom views to save a configuration of filters to a specific view type. Custom views are added as a new view tab.

Booking Details
Within all of the tabs, any time you see a booking, you can click on it to see the details.

Date & Time: Date and time the booking is scheduled for.
Status: Interactive drop down for the booking status. Statuses are Pending, Confirmed, Completed, and Canceled.
View Entry: Button that takes you to the entry associated with the booking.
Management URL: Link users can utilize to manage their bookings. (Jump to booking management configuration.)
History: History of all actions taken on the booking (e.g. reschedules).
Entry Details: Overview of the entry.
Overview
The Overview tab shows a summary of current and soonest upcoming bookings. You can find a number readout of Today’s Bookings, This Week’s Bookings, Pending Bookings, and Confirmed Bookings.

Upcoming Bookings
The Upcoming Bookings section shows up to five upcoming bookings. It displays the scheduled date and time, which service was booked, the customer who booked it (pulled from Name fields), the status of the booking, and quick actions based on that status.
The expand button takes you to the List view.
Agenda
The Overview’s agenda is a weekly readout of all scheduled bookings for a given week. You can use controls on the top left to navigate between weeks.
Calendar View
The Calendar view is a flexible calendar that displays all bookings. You can set it to Day, Week, or Month views, and use controls on the top left to navigate between time periods. Bookings will appear in the color set in Customization.

If you need to reschedule, you can drag and drop bookings to the desired block. While dragging a booking, the calendar will display the available, unavailable, and outside of availability windows.

Resource Calendar View
The Resource Calendar view is a daily calendar that allows for quick scheduling checks and adjustments. Bookings will appear in the color set in the resource’s customization.

If you need to reschedule a booking, you can drag and drop it within its resource. While dragging a booking in the Resource Calendar, it will show the available, unavailable, and outside of availability windows for the resource.

Agenda View
The Agenda view gives a lean glance on the all bookings for a given week.

List View
The List view displays bookings in a list with the scheduled date and time, which service was booked, the customer who booked it (pulled from Name fields), the status of the booking, and quick actions based on that status.

Date and Time Formats
GP Bookings uses the Timezone, Date Format, Time Format, and Week Starts On settings from the WordPress General Settings for all date and time output, including merge tags.

Required Capabilities
To interact with GP Bookings, users/roles are required to have specific GP Bookings capabilities via WordPress user roles.
| Capability Label | Description | Capability Slug |
| Bookings: Bookables (Services and Resources) | Lets user view and edit services and resources. | gp-bookings_bookables |
| Bookings: Dashboard | Lets user view and edit the dashboard. | gp-bookings_dashboard |
| Bookings: Settings | Lets user view and edit the GP Bookings settings. | gp-bookings_settings |
| Bookings: Uninstall | Lets user uninstall GP Bookings. | gp-bookings_uninstall |
Import/Export
GP Bookings data can be imported and exported with Gravity Forms’ Import Form and Export Form features. When enabled, services, resources, resource types, and availability blocks used in a form are included in its export file.

WP-CLI Commands
GP Bookings includes powerful WP-CLI commands.
Main Command: wp gp-bookings
Subcommands:
-
booking: Manages booking operations. -
seed: Seeds the database with example bookings. Includes services, resources, forms, and entries.Parameters:
-create-pages-skip-bookings
-
seeds: Manages seed operations. -
reset: Resets all data. -
booking list: Outputs list of all bookings. -
booking get bookingID: Outputs details of a specific booking. -
--help: Outputs details about thewp gp-bookingscommand.
Troubleshooting Issues
If GP Bookings isn’t working as expected, here are some troubleshooting tips you can try.
- Google Calendar has a limit on the size of files you can import. If your ICS file is too large, it won’t import successfully. One solution would be to break down the ICS file into smaller parts. You can use a text editor to manually split the file.
FAQ
Why do I see an “Invalid management key” error?
The [gpb_manage] shortcode on your Manage Booking Page needs a valid key in the URL to load a booking. Without a matching key, it shows “Invalid management key.”
Be sure to include the {gpb_manage_booking_url} merge tag in your emails or notifications so each user gets a link with their unique key.
Is the booking data publicly visible when syncing my bookings to an external calendar (e.g., Outlook or Google Calendar)?
No. The calendar feed URL used to sync bookings with external calendars includes a unique 32-character security token, making it effectively unguessable. This is similar to how private calendar feeds are shared in Google Calendar. If you ever believe your feed URL has been compromised, you can click Regenerate Token in the GP Bookings settings. This will immediately invalidate the old URL and generate a new secure link.
How can I create overlapping time slots?
By default, GP Bookings generates non-overlapping slots (e.g., 8:00-10:00, 10:00-12:00, 12:00-2:00) because the Time Slot Mode is set to “Aligned with block size”. To create overlapping slots, change the Time Slot Mode to “Flexible intervals”, then set your desired Interval.
For example, with a 2-hour duration and a 1-hour interval, your slots will look like so: 8:00-10:00, 9:00-11:00, 10:00-12:00, 11:00-1:00, 12:00-2:00, etc.

Known Limitations
- Service field: Only supports a single selected service. In the future, we will add support for the ability to select multiple services.
Translations
You can use the free Loco Translate plugin to create translations for any of our Perks. If you’ve never used Loco translate before, here’s a tutorial written for beginners.
Hooks
Gravity Forms has hundreds of hooks. Check out our Gravity Forms Hook Reference for the most thorough guide to Gravity Forms’ many actions and filters.
Related Resources
No related resources found.

