Page tree
Skip to end of metadata
Go to start of metadata

Thank you for purchasing our extension. If you have any question that is beyond the scope of this document, do not hesitate to leave us an email.

Created: 22/06/2021 | By:Magenest| Support Portal: 


Magento 2 Booking and Reservation not only make it easy for your customers to schedule but also help you manage booking orders, customers, staffs and products on both larger screens and mobile devices. 

Features For Admins

- A new, separate product type for Booking & Reservation. 

- Define booking time by hours or days.

- Define a specific time range for Booking products, with multiple exclusion filters.

- Allow limiting Booking Orders with offline payment methods

- Declare and Display Terms & Conditions for your Booking Products.

- Display notification when there’re cancellation requests for Booking Product, allows admin to decline or approve the request. 

Features For Customers

- Responsive User Interface

- View all booking orders placed on the customer’s account, easily accessible in the menu bar.

- Request cancellations for placed orders, with the ability to specify the amount and message to the store owner.

System Requirements

Your store should be running on Magento Community Edition version 2.3.x and 2.4.x


Create a Booking Product

(plus) On the admin sidebar, choose Catalog > Products >Add Product >Booking & Reservation

  • Booking Products are virtual products, which have no weight and shipping costs.
  • All new Booking products will be added to Booking Category by default. After installation, our module will generate the “Booking And Reservation” category and set this as the Booking Category. You can remove this selection and choose the Categories you want, or set a different Booking Category in module configuration.
  • Hold Quantity: By default, booking products can be ordered with all payment methods (including free) and no restrictions. Hold Quantity allows limiting the concurrent number of Booking orders that can be placed with an offline payment method, like free or cash.
  • After a booking slot reached its Hold Quantity limitation, that slot (along with other products in the cart) can only be purchased with an online payment method. The Hold Quantity will be refilled once offline orders of that slot are considered “Paid”.

Check/Uncheck Enable Unpaid Order to utilize this feature.

Choose the available Hold Quantity in the input below. If zero (0) is chosen, the module will use the Hold Quantity in module configuration instead.

  • Booking Available: Choose the date range in which booking slots will be generated. Only the “From” date is required, the “To” date is optional.
  • Excluded Dates: Specify multiple Date Ranges in which you want to prevent booking orders. Booking Slots won’t be generated for dates in these ranges.
  • Booking Type: Choose a booking type to decide how Booking Slots going to be generated:

Booking by Hours: Choose multiple time slots for each available booking date. Specify the time range and quantity for each slot.

Booking by Days: Choose available quantities for each weekday that can be booked. The time range for each weekday can be specified by toggle Enable Time Range

Edit an available Booking Product

(plus) You can also edit available Booking products.

(plus) Magento’s Product Grid allows filtering Product by Type, and you can also save filters as custom views for easy access.

(warning) Note: Attribute specified for Booking products can not be modified once created.


On the admin sidebar, choose Booking & Reservation > Configurations:

(plus) General

  • Enable Module: Allow customers to access booking features. When disable, customers won’t be able to place orders on Booking Products. The chosen Booking category will also be hidden and can be view until the module is re-enabled.
  • Booking Category: Define the Booking Category, including:

Default category for new booking products.

Insert direct links to “My Booking Orders” in the menu bar entry of that category

Toggle category visibility on Frontend when enable/disable the module.

  • Hold Quantity: The global Hold Quantity settings. Will be used when Hold Quantity for a product is enabled and set as 0.

Tip: Enable a product’s Hold Quantity and setting its + global hold quantity to 0 will prevent placing orders with any offline payment methods.

  • Paid State: If an order with offline payment methods reached this state, the amount of Hold Quantity it has taken from the booking slot will be replenished.

An order might skip the state defined in this configuration. In that case, that order will be considered “Paid” once it has been invoiced.

(plus) Booking Settings

All timing calculations are done in the UTC timezone.

  • Allow customers to cancel orders before: Customer won’t be able to request cancellation if the amount of time left before Booked Date is below this value. Only calculate by Booking Date, not the Time Range (if specified) of that slot.
  • Maximum Booked Items: Limit the number of unpaid orders a customer can have, which include:

Placed Orders that haven’t reached “Paid” status.

Booking Products in customer’s cart.

        Leave as 0 to disable orders limit.

  • Minimum Booking Time: A slot can only be booked if the amount of time before its date is above this value. Only calculate by date, not the Time Range (if specified) of that slot.
  • Days Off: A global limit applied to all Booking Products. Prevent customers from booking the chosen weekdays, even if there’re slots available on that date.
  • Terms & Conditions: Enter unique Terms & Conditions for Booking Products. If available, the Terms & Conditions will be displayed as a tab in Booking Product pages, as well as a viewable popup when selecting Booking Slots.
  • Confirmation Required: Require customers to agree to your Terms & Conditions before adding Booking products to the cart.
  • Confirmation Message: Display on Product Booking Select popup, if Confirmation Required is enabled.
  • Error Message: Display as a popup, if confirmation tickbox has not been checked.

(plus) Label Settings

  • Color For Full Booking Days: Customize Full Booking Days (booking days with 0 quantity left) color on Booking Calendar popup in FE.
  • Color For Booking On Sale: Customize Booking On Sale (booking days with custom pricing thanks to Reservation Rule) color on Booking Calendar popup in FE.

(plus) Email Notifications

  • Email Sender: Select sender for Booking Orders’ emails.
  • Order Confirmation Template: Select Template sent to the customer after a Booking Order is placed.
  • Cancel Confirmation Template: Select Template sent to the customer after a Booking Order is canceled.

(warning) Note: Custom Email Template can be created in Marketing >Communications >Email Templates

Booking Orders Management:

All Booking orders placed can be viewed in our module’s Order Management grid, which can be accessed by clicking on Booking & Reservation >Order Management.

The Grid allows you to:

  • Quickly view all booked slots, or navigate to the slots you need by filtering. You can filter Booking Orders by its Magento Orders, Booked Date, Created Datel; as well as the Customer, Product, and current status of that orders.
  • Checking out an Order with a special Booking Status system, allowing you to quickly determine the best course of action:

Ordered status is assigned when an order is placed with qty within hold limit but hasn't reached the defined Paid Status, and hasn't been invoiced or only partially invoiced. Only applied for the product with Unpaid Order enabled.

An order is considered Paid if it has reached the defined Paid Status, or it was fully invoiced, or the associated product "Unpaid Order" attribute is disabled, or the order quantity exceeded Hold Quantity.

An order is Complete if it has gotten past the Booked Date without being Canceled.

When Customers request cancellation, Cancellation Requested status will be assigned to the order.

An order is considered Canceled if its Ordered Quantity = Canceled Quantity + Refunded Quantity.

  • Quickly respond to a cancellation request:

Review the request’s message and quantity

  • Quickly cancel the order if possible, otherwise redirect you to the order’s credit memo page:

(star) NOTE: 

    • Every booking order is available as an Order Item for a Magento’s Order:
    • Canceling a Magento Order will result in all order items (include all booking orders) for that order being canceled. If you need to cancel specific items in an order, please invoice all other items first before proceeding with cancellation.
    • You’ll be notified of all Booking Orders will be canceled, when using our Orders grid to review cancellation requests (See the picture below).
    • To cancel a specific quantity for a Booking Order, the admin can invoice the remaining amount, before canceling the order.
    • Example: If user requests canceling 3 out of 5 slots for an order, invoice 2 slots, then canceling the order.


Product Page

(star) NOTE: 

  • Booking Products can only be ordered by registered customers. Guest checkout is not supported at the moment.
  • Booking Products can’t be mixed with other products type in the cart. Do not add other types to the cart when ordering Booking Products.
  • Multishpping checkout is not available for Booking Product at the moment.
  • Booking Products require custom options and can’t be added to the cart directly from the product listing page. Customers will be redirected to the Product Page when trying to add the Booking product from the listing page.
    Options selection for Booking Product in the listing page is not available at the moment.
  • Terms & Conditions: Viewable as Product tab and Popup.

  • Select Booking Date:

Color for Full Booking Days: #7ad0f5

Color for Booking On Sale: #3beb31

  • Select Booking Slots:

The price and quantity are binding and will adjust accordingly to each other.

My Booking Orders

  • Customers can view details about orders they’ve placed, the amount of time left to cancel, and request/review cancellation requests.
  • A request that hasn’t been responded to can be edited, both the message and quantity.

Create Reservation Rule

Reservation rules will be used to create promotion programs for Booking products. To create a new Reservation rule, follow these steps:

(plus) Step 1: On the Admin sidebar, go to Booking & Reservation> Reservation Rule > Add New Rule 

(plus) Step 2: Complete Rule Information

SectionFiled nameContent
Rule Information

Rule NameName of rule
DescriptionDescription of the rule
ActiveStatus of the rule. Active or Inactive
From … To (*)

The time period which the rule applies. This time and rule option will make you fully qualified to apply the rules.

Note: If the Rule option is not set, all days in this period will be applied.


Enter a number to establish the Priority of this rule in relation to other rules.

The Priority setting is important when the same catalog product meets the conditions set for more than one price rule. The rule with the highest priority setting (1 being the highest) will become active for the product.

(plus) Step 3: Setup Rule Options

All options in this section will be applied in the above period of time (*). With this setting, you can set a recurring time to apply the rule such as Every day, Every week, Every month, and Every Year.

SectionFiled nameContent

Rule Option

All options in this section will be applied in the above period of time (*) 

Rule optionYou can set Recurring time: Every Day, Every Week, Every Month, Every Year
Rule Day From … Rule Day ToDays of the week or month that will apply the rule
Rule Date From … Rule Date ToDays of the year that will apply the rule
Rule Time From … Rule Time ToPeriod times of a day which will apply the rule

(plus) Step 4: Define the Conditions

Reservation rules support 2 conditions, that is, apply to all booking products in a specific category or SKU product

This section works like the Conditions section of Catalog Price Rule, please navigate here to know how to define conditions.

(plus) Step 5: Define the Actions

This section is similar to the configuration in Catalog Price Rule, please navigate here to check the instruction 


  • When a bug fix or new feature is released, we will provide you with the extension's new package.
  • All you need to do is repeating the above installing steps and uploading the package onto your store. The code will automatically override.
  • Flush the config cache. Your store and newly installed extension should be working as expected.


  • We will reply to support requests after 2 business days.
  • We will offer lifetime free update and 6 months free support for all of our paid products. Support includes answering questions related to our products, bug/error fixing to make sure our products fit well in your site exactly like our demo.
  • Support DOES NOT include other series such as customizing our products, installation and uninstallation service.

Once again, thank you for purchasing our extension. If you have any questions relating to this extension, please do not hesitate to contact us for support.

  • No labels