Appointment Product

Brief Introduction  #

Booking appointments have now become easier than before,  the MultiVendorX Pro simplifies online scheduling of products and services. You can also accept payments with WooCommerce, automate workflow and reduce no-shows with customer reminders.



MultiVendorX Pro

WooCommerce Appointment

Overview  #

  • Configure Appointment Settings and add appointmentable Products
  • Add Bookings for product 

Allow vendors to upload Appointment Product Type

Check the box for “Appointment product” under module settings via MultiVendorX >> Module.

Add booking product #

Go to Add Product page under Product Manager from the Vendor Dashboard.

Add a Product Name (title), description, product image(s) in the first section.

To add an image or an image gallery that your product will reckon with, click on the “Featured Image and Product Gallery” section. Then click on the Upload button to upload a featured image whereas to add a gallery of images, click on the Add Product Gallery Images to add more images to your gallery.

Move on to the second section – Select Appointment product from the Product Type drop-down menu.

By default you should select ‘Virtual’ if this isn’t a physical product, so no shipping costs are applied. After making these selections, the fields will change to reflect appointable products options.

Under General settings, you’ll see include most of the configuration you will need to make your appointable product ready to work as planned: the price, inventory, duration, padding time, lead time, scheduling window and confirmation / cancellation requirement. Interval needs to be smaller or equal to duration.

Price for the appointment is defined the same way as for any WooCommerce product. Regular Price applies at all times, whereas Sale Price applies at a time when customer is scheduling an appointment and not at a time when an appointment is taking place.

You can also choose to hide the price and show custom text label instead by choosing Label instead of price?. This way, your customers will not be required to make any payments online.

If you feel really adventurous and want to set price based on date/time or any other availability rule, you can do that as well. Custom pricing rules are very straightforward and you set them up the same way as your availability rules. Base cost is applied to the appointment as a whole, whereas Slot cost is applied to each appointment slot separately. When appointment lasts for 2 days or more, this cost applies to each day in range separately.

When using + in custom pricing rules, the add-ons are added to the price. But when using = in the custom pricing rules, the add-on costs are not being applied to the price → the custom pricing rule overrides the add-on costs and the product price.

Duration : This determines how long an appointment lasts. The actual duration units can be Months, Days, Hours or Minutes. You can delegate exactly what time the appointments can start inside Availability product options.

Interval : Select intervals when each appointment slot is available for scheduling. If your appointment last for 2 hours, you can set the interval of available slots on 15 minutes. This way, your customers will have option to schedule appointment every 15 minutes. When they do schedule it, 2 hours will be booked out and slot intervals of 15 minutes will start after that.

Padding Time : If you need time to prepare for your appointment before / after the appointment, you should use padding time. This time is not calculated into duration and visible to customer and only applies before / after scheduled appointments.

Lead Time : Choose how much in advance do you need, before customer schedules an appointment. For instance, if you choose 1 day, customers will not be able to schedule an appointment within 24 hours before it takes place.

Scheduling Window : Choose how far in advance are customers allowed to schedule an appointment. For instance, if you choose 1 month, customers will not be able to schedule an appointment more than 1 month before it takes place.

Requires confirmation : Check this option if the appointment requires to be approved by an admin / staff before being confirmed. Rather than take payment at checkout, the user will input their details and submit it for your approval. After you approve it, customer will receive an email with an optional payment link inside.

See: Managing Appointments :

Can be cancelled : Check this option if you want the user to have the ability to cancel their appointment. After selecting the option, you will see two fields that allow you to choose how many Minutes/Hours/Days/Months before the start date your customers are allowed to cancel their appointment.

Customer timezones : Check this option if you want to adjust appointable product times to customer’s timezone. Customer can also manually change their automatically detected timezone (in case they are travelling) and their set timezone is displayed throughout the booking process. Times are also displayed in their timezone in emails sent to them (confirmation, cancellation, reminder, … emails).

Inventory : By default, only 1 appointment per available time slot is possible. With increasing inventory, you can take more appointments at one time. Use this with precaution so you don’t over-schedule yourself. This option is also useful if you want to take group appointments / classes, where you can limit number of attendants to selected capacity. When inventory is set to more than 1 appointment per slot, customer has option to schedule multiple appointments by increasing the number of appointments in standard WooCommerce quantity field. If you want to allow 2 slots to be booked at once, you should set the Max order to 2. Same goes for Min order option.

Staff : Only Admin can add Staff in the site. 

Availability : Availability (what slots can be scheduled) can be controlled via the Availability tab. Availability rules can also be defined on Global level inside WooCoommerce > Settings > Appointments > Global Availability or your can define Staff Availability individually for each staff inside staff’s User edit screen.

Availability Check : If you choose to check availability per starting slot only, you can set any date/time rules you want and your customer will be shown available slots no matter which slot they schedule, as long as starting date/time is available at the time of booking. Otherwise, availability is checked against all slots in booked range.

Auto-select : Check this option if you want the plugin to automatically select first available slot for the customer. This way customer doesn’t need to first pick the date/time as it is auto-selected for them.

Restrict start days : If you check this option you can select the days of the week when appointments can start. This does not affect availability and appointments will still be available on week days that are not checked, but they will start only on days checked.

Custom Availability : You can setup specific availability rules, such as availability for:

  • months
  • day of the week
  • recurring time
  • specific date
  • To add a rule, click the Add Rule button:

A new row will be created in which you can choose a Range type, Range (from/to), Inventory, Priority and Appointable (yes or no) options. Inventory allows you to override product inventory for scheduling on specific date/time.

The from/to values differ based on the range type:

Date range – [from / to] will show a datepicker fields. All available slots between selected dates are affected.

Date range with time – [from / to] times will affect all available slots between the start time on [from] date and end time on the [end] date.

Range of months – [from / to] will show a dropdown of months (January to December). All available slots between selected months are affected.

Range of weeks – [from / to] will show a dropdown of weeks (1 to 52). All available slots between selected weeks are affected.

Range of days – [from / to] will show a dropdown of weekdays (Monday to Sunday). All available slots between selected weekdays are affected.

Time Ranges – [from / to] will show an input of times (00:00 to 24:00). All available slots between selected times are affected.

Recurring Time (all week): all available slots between selected times for each day are affected.

Recurring Time (date range): all available slots between selected times for each date in date range are affected.

Monday through Sunday: all available slots between selected times for each day rule selected are affected.

Range Type

Select which rule type you would like to use. Take into account that time rules will also affect date range, unless defined otherwise. Same goes for date rules, they will affect time rules as well.


Select the range for your rule type. Ranges are defined from certain point to another, where starting range is included (<=), whereas ending range is not included (>).


Optionally override product inventory for selected rule.Inventory defines the maximum number of appointments per slot.


Optionally define priority number. Rules with lower priority numbers will override rules with a higher priority (e.g. 9 overrides 10 ). By using priority numbers you can execute rules in different orders for all three levels: Global, Product and Staff rules. This means your can override rules set on Global level or rules set on Staff level. You can do the same on all levels.


Select if rule adds to availability or not. If not appointable, users won’t be able to choose slots in this range for their appointment. Take into account that products are not appointable by default and you have to define the appointable rules, when products are available for scheduling.


Rows can be removed by clicking the X on the far right, or dragged and dropped to sort using the handle on the far left. If multiple rows match the product being scheduled, the furthest down the list will take priority.


If you want the product to be available from Monday to Friday from 08:00 am to 01:00 pm, set 2 rules in this order:

Leave a Reply