Easy Digital Downloads is a fantastic platform if you want to sell services with WordPress. As it focuses on virtual products, services are a natural fit, and it provides a solution that does just what you need without a lot of additional stuff like shipping rates.
Since Easy Digital Downloads is great for selling services, the ability to sell bookings is a natural fit for the platform, but there was never a comprehensive add-on to do create and manage bookings. With the release of EDD Bookings ($82) last week, Easy Digital Downloads sites can now sell bookings or other scheduled services easily.
EDD Bookings let you:
- create bookings as download products
- sell sessions that last minutes, hours, days, or weeks
- limit the number of sessions customers can purchase at a time
- set rules on when sessions are available based on days, custom dates, months, and time slots
- view bookings from your store admin
We’ll take a look at the basic functionality of EDD Bookings and what’s possible for selling bookings with Easy Digital Downloads.
In order to sell a booking in your EDD store, you’ll need to create a product / download for this booking. When creating the product, you can set up the usual fields like its title and categories, can enable bookings with a single checkbox.
This will disable the regular Easy Digital Downloads pricing and download fields, and opens up the bookings management fields instead. You can set up the session length, cost per session, booking duration, and whether customers can purchase multiple sessions or not (along with the limit they can purchase).
Once you’ve set up these basic bookings details, you can then move onto availability rules. These will let you configure when the booking sessions are available, and the rules have a really simple mechanism where rules at the bottom of the table override rules higher up. For example, this could let me enable all weekdays, but then make specific dates unavailable further down in the table.
You can set up rules for availability based on days of the week, weeks of the year, months, and custom dates. You can also set up time slots or time slot groups on a per day basis, for all days, all weekdays, or weekends.
The set up is very simple, and I was able to get my Bookings product up and running within a few minutes. You can drag and drop rules to change priority and which rules override others.
I ran into a couple small issues that may help you should you set up your own bookings. First, if you want to enable time slots for certain days (i.e., all weekdays), you must first make sure you’ve listed those days as available with a “Days” rule.
Second, time overrides must be done a certain way. If one “weekday” / day time slot is configured (i.e., Weekdays 9a to 6p), you can’t “override” that with another “available” slot. This will not work:
- Weekdays: 9a to 6p (available)
- Fridays: 9a to 3p (available)
as Fridays will have double sessions — 9am to 6pm, and then another list of sessions for 9am to 3pm. Instead, if you want Friday’s rules to be overridden, you have to set up:
- Weekdays: 9a to 6p (available)
- Fridays: 3p to 6p (not available)
The advanced documentation indicates this isn’t expected behavior, so I’d keep an eye on the changelog for these to be updated.
While bookings are simple to set up, there are a few downsides. For example, you can have pricing variations for a booking — no “regular” and “pro” sessions within one booking. You’d have to create separate booking products for each price point. Pricing is also based only on session length, and you can’t consider other factors like number of people in the booking.
As Bookings removes other product fields, you can’t attach files to the download. This probably isn’t a big deal unless you wanted to attach a welcome packet or instructions for the booking, so you’d need to use a download note with a link to any files instead.
When a customer browses to your bookable product, the customer is presented with a date picker for the booking, and can select any available days. If your sessions are in terms of days or weeks, customers can click the starting date, and the session length is automatically selected.
If you’ve set up time slots per day (sessions in hours or minutes), customers can first select an available day, and then time slots will be shown for the customer to choose a session time, and increase the duration (quantity) if needed.
The customer can then check out normally, and the booking start and end information will be shown throughout the checkout process.
Only one session is available per time slot, so your Bookings are assumed to be a 1-to-1 ratio: one available booking per session. For example, you can’t offer two bookings from 1pm to 2pm on a day; while customers can book multiple sessions in a row, there’s no concept of “inventory” for your sessions in case you have multiple coaches, pieces of equipment, or whatever you’re booking.
Once your customers have placed an order that contains a booking, you’ll be able to see the details for that booking from your store admin. If you view the purchase history for the order, the booking details will be added in a new meta box with a link to the booking:
You can also navigate to bookings directly from Downloads > Bookings to get to your booking list.
Here you can view relevant details, such as links to the customer profile or booking details, and you can click the “edit” quick action to see the booking screen.
The booking management is very basic, as you can’t manually edit any booking details (for example, to reassign a booking to a different customer or adjust the time), nor can you manually add bookings.
You can view a list of bookings from the Bookings screen, but there’s no ability to view a calendar or export these bookings to a calendar format.
EDD Bookings isn’t a swiss army knife for bookings. It works very well for sites that need to sell a bookable product with one available session per time slot, and those sessions have only one fixed price. It’s a new plugin, so it will work out any kinks or small issues as time goes on, but that also gives it room to grow and add new things based on how it’s being used.
If you need pricing by variation, number of people, or other resources, this isn’t the solution for you (at least not yet). If you want an easy-to-use plugin that lets you sell single sessions for a product (i.e., renting a particular jet ski, or one-on-one coaching sessions), it’s a great solution and the availability rules are easy to understand and use.
I liked how quick set up was and how easy rules are to understand, but this comes at the tradeoff of more advanced pricing rules, which you may or may not need.
- Easy, fast setup
- Can sell bookable products alongside other products (like ebooks)
- Flexible, customizable availability rules
- Can set availability along with excluded dates / times for holidays, vacation, etc
- Can create several session lengths (min / hr / day / wk)
- Backed by great support and documentation
- Ties bookings into purchase history
- No support for variations / booking “levels”
- Price only based on session quantity (not people or resources)
- Cannot have multiple “sessions” per time slot (e.g., sell 2 slots from 3-4pm)
- No manual booking edits or additions
- No calendar integrations
I’d love to see improved booking management in the future, especially the ability to edit bookings and get a calendar view or sync them with a calendar. Even without these features, EDD Bookings gives you a simple to use and implement booking solution to sell your services or bookable products.