J2Store Documentation
DownloadFeaturesApps
  • Introduction to J2Store
  • Getting Started
    • Introduction to J2Store
    • Getting started with J2store
    • Technical Requirements
    • Installation
    • Update
    • Upgrade from FREE version to PRO version of J2Store
    • Migrating from 2.x to3.x
  • Migration from J2Store 3 to 4
  • Set up
    • Content plugin settings
    • Configuration
    • Currency
    • Custom fields
    • Set up multi-currency
  • Quickstart guide
  • Product Types
    • Simple product
    • Variable product
    • Configurable product
    • Flexible variable product
    • Downloadable product
  • Layout
    • Product layout
    • Product tag layout
    • Usecases
    • Category Tree for displaying filters
    • Special module positions
  • Catalog
    • Assigning a product to multiple categories
    • Product description
    • Short codes
    • Adding specifications to your products
    • Advanced pricing
    • Setting up tax for your products
    • Options
      • Import product options
      • How to create options and add them to your products
    • Filters
      • Product filters
      • Translating filters to your language
    • Manufacturers
    • Vendors
    • Adding related products
    • Ordering products on your storefront
  • Subscriptions and Memberships
    • Introduction to subscriptions and memberships in J2Store
    • Quickstart
    • Requirements and Installation
    • Basic Settings
    • Creating subscription based products
    • Simple Subscription Product
    • Paypal Reference Transactions for Subscriptions
    • Usecases
    • Customizing the subscription mail templates
    • Frequently asked questions
  • Partial Payments
    • Introduction to Partial payments
    • Basic Settings
    • Setting up plans for Partial Payments
    • Instances
    • Usecases
  • Booking and Reservations
    • Limitation of the booking products type
    • Requirements and Installation
    • Basic settings and Booking Management
    • Booking and Reservations
    • Creating a Bookable Product
    • how to restrict multiple booking for a product person based restriction
    • Usecases
  • Localisation
  • Translation
    • Translate J2Store into your language
    • Setting up the store in your Language
    • How to write language override for plugin in multilingual site
    • Language overrides in Joomla with examples
    • Translating Product Options
  • Design
    • Email templates
    • Invoice Template (Pro Feature)
  • Tax configuration
    • Untitled
    • Recommended Tax configuration for US States
    • Recommended Tax configuration for Canadian Stores
    • Recommended Tax Configuration for EU stores
    • Setting up European VAT Rules for selling Physical Goods with J2store
    • A simplified guide for New EU VAT rules 2015 for digital goods and setting them up in J2Store
    • How Tax is Calculated
  • Easy Checkout
    • Easy checkout
    • Trouble shooting issues
  • Shipping methods
    • Free Shipping
      • How to create coupons for free shipping
    • How to set up local store pick up shipping method
    • Australia post shipping plugin
    • Bring shipping plugin
    • Canadapost shipping plugin
    • FedEx shipping plugin
    • Purolator
    • Postal Code shipping plugin
    • Royal Mail Shipping
    • Standard shipping methods
    • Table Rate Shipping
    • UPS Shipping
    • USPS Shipping
    • United States postal service Shipping Plugin
    • USPS Advanced
  • Payment Methods
    • AliPay Payment Plugin
    • Authorize.Net plugin
    • Bank Transfer
    • Barclays Payment plugin
    • Braintree payment plugin
    • Cash on Delivery
    • CardSave Payment plugin
    • CCAvenue payment plugin
    • CECA Payment
    • Checkout fi¨
    • Culqi Payment
    • DIBS payment plugin
    • Direcpay Payment Plugin
    • EBS Payment Plugin
    • Elavon Coverage/Virtual Merchant Payment Plugin
    • eway Payment Gateway for j2store
    • First Data Plugin
    • Flo2Cash for J2Store
    • GestPay
    • Heartland Payment Plugin
    • Icepay Payment Plugin
    • Interpay
    • Klarna Payment Plugin
    • Mollie payment plugin
    • Money Order
    • Moneris eselectplus Hosted Paypage
    • MultiSafe Payment Plugin
    • Nochex Payment Plugin
    • NMI Payment Gateway
    • Ogone Payment plugin
    • Pagseguro Payment plugin
    • Paybox Payment plugin
    • Payeezy
    • Payfast Payment plugin
    • Paygate Payment
    • Paymate
    • Paypal Sandbox
    • Paypal Adavnced Payment plugin
    • Payment Express for J2Store
    • Payment Sense
    • Paypal Express Checkout
    • Paypal payment plugin
    • Paypal Pro Payment Plugin
    • Payseal Payment Plugin
    • Paysera Payment Plugin
    • Payson Payment Plugin
    • Payson Invoice Payment Plugin
    • Pay U Latam
    • PayUMoney plugin
    • Poli Payment Plugin
    • Post Finance
    • QuickPay
    • Razorpay
    • Rabobank Omnikassa
    • RealEx Payment Plugin
    • Redsys/Servired/Sermepa Payment Plugin
    • Sagepay Form Payment Plugin
    • Secure Trading Plugin
    • Sepa Payment
    • Sisow Payment for J2Store
    • Skrill Payment Plugin
    • Sofort Banking
    • Stripe
    • Squareup Payments
    • Tranzila Payment Plugin
    • USAePay Payment Plugin
    • Voguepay Payment Plugin
    • Worldpay Payment Plugin
    • 2Checkout Plugin
  • Sales
    • Coupons
    • Vouchers
    • Customers
    • Orders
  • Report Sales
  • Modules
    • Product search module
    • J2store Detailed Cart
    • Product categories module
    • Product display module
  • Apps
    • Add to user group
    • Additional fee
    • Ask question / quote
    • Availability-notification
    • Bundled Products
    • Bulk discounts
    • Change Password
    • Checkout Redirect
    • Custom Tabs
    • Data validation
    • Donation
    • Drop-box
    • Email basket Plugin
      • Email basket issues
    • GDPR compliance
    • Google-analytics-ecommerce-tracking
    • Group Products
    • How to send download links through email notifications
    • Image Popup
    • Invoice Prefix Generator
    • Open hours (time based restriction)
    • Pay later/Pay against invoice
    • Points and Rewards
    • Re-Order
    • Shipstation
    • Simple CSV import and export tool
    • Tax Utilities
    • Upload file in checkout
    • Quantity dropdown
  • Frequently Asked Questions
    • Where can i find my sub-template
    • Products not aligned properly on list view
    • SCA support for payment plugins
    • To show the base price instead of price range in flexivariable products
    • Where do I add the CSS on my site
    • Unable to save the settings in any app
    • Difference between product types
    • Commonly found issues
    • Frequently Asked Questions
    • Quantity Restriction
  • Troubleshooting Guide
    • Products not visible on storefront
    • Cart not Working
    • Troubleshooting Cart related Issues
    • Moving the description
    • Troubleshooting Checkout Issues
    • Troubleshooting Common Issues
    • How to disable shipping address and payment in checkout
    • Joomla Article Error decoding json data
    • Troubleshooting Email Issues
    • Troubleshooting Paypal related Issues
    • Troubleshooting Product Display Module Issues
    • How to create a custom thank you message
    • Troubleshooting Shipping Issues
    • Troubleshooting Tax Issues
    • Troubleshooting Translate related Issues
  • Common Overrides
    • To add options to downloadable products
    • Moving additional image list to the left of the main image in product view page
    • To display the UPCE/BAN/ISBN on the product page
    • To Display Both the main Image and the additional image in the product view page
  • Video Tutorials
    • Quick Start
    • Catalog Management
    • Subscriptions
    • Booking and Reservation
    • Partial Payments
    • Tax
    • Shipping Methods
    • Discounts
    • Language
    • Apps
    • Email and Invoice Template
    • Checkout and Payment
    • Sales and Orders
    • J2Store CPanel
  • General
    • How to set cron job on your server
    • How to create an FTP account and super user account in Joomla
  • Developer Guide
    • Introduction
    • Queue System
    • App for J2store
    • Sub-templates
    • Creating an integration plugin for your component
    • Payment plugin
    • Templates
  • Canonical URL Plugin
Powered by GitBook
On this page
  • General Tab
  • Pricing tab
  • Persons
  • Availability
  • More examples
  • 1. Rent a car for a day
  • 2. Renting the flats on monthly basis
  • 3. Rent a sports helmet on hourly basis
  • 4. Tool kit rental in minutes:

Was this helpful?

  1. Booking and Reservations

Creating a Bookable Product

PreviousBooking and ReservationsNexthow to restrict multiple booking for a product person based restriction

Last updated 4 years ago

Was this helpful?

Once the global settings have been completed, we are all set to create a bookable product. To create a bookable product, go to Article Manager and create a new article.

While creating new product, choose Booking as a product type.

Apart form the default options that are available for all the product types, these are the various parameters that distinguish the booking type product from the other product types:

  • General tab

  • Pricing tab

  • Persons

  • Availability

General Tab

Booking duration

This options determines how long a booking is available. The duration can be defined by store admin (fixed block) or by customer (they need to input on the front-end). Duration can be set based on Hours, Minutes, Days or Months.

Fixed blocks

You can define a fixed block of dates that are to be allowed for booking while the others are being disabled in the frontend. For example: If you set up the booking duration parameter to be Fixed block of 1 day, then the user will be allowed to choose a single date for booking. That is, if customer books Dec 28, then the start date is Dec 28 and the End date is Dec 28.

booking day
  • Fixed block of 1 Month - For example, if you are providing flats for a rent on monthly basis, you can choose the Booking duration Fixed block of 12 months

On frontend, the blocks will be displayed like

  • Fixed block of 3 hours - Take an example, a owner of conference hall allows hall booking for 3 hours. Lets see how you could setup the booking product for conference hall booking. Choose Fixed block of 3 hours as a booking duration.

Customer-defined blocks You can allow the user to choose the start dates and end dates by themselves. You can also set up the minimum and maximum number of blocks that can be chosen when you choose the Booking duration as customer-defined blocks.

If you select the booking duration to Customer-defined blocks of 1 days, you would be prompted to choose the minimum and maximum duration allowed. If you choose 2 and 4 respectively, then the users will get a message if they choose dates that are more than 4 days or less than 2 days.

The frontend will be like this:

When the booking duration is chosen to be Customer-defined blocks of 1 days, the following options pop up:

  • Minimum duration - To set the minimum number of blocks that have to be selected.

  • Maximum duration - To set the maximum number of blocks that have to be selected.

The frontend will be like this:

When the user chooses more blocks than the specified limit, error occurs as follows:

When the maximum duration is exceeded, the following error occurs:

Calendar display mode

Choose when to display the calendar. You can choose to display the calendar by default or only after clicking.

The following video demonstrates the use of the calendar display mode option:

Allowing booking cancellation

It is possible to choose whether the store admin want his/her user to have the option to cancel their booking. Setting YES to Can be cancelled? will allow customer to cancel the booking after it has been purchased.

Pricing tab

The pricing tab for a booking type product has one extra option in addition to the default options as follows:

Block pricing While you are able to set a price to the product, the booking type product allows block-wise price charging in addition to the regular pricing which is now an added advantage.

Here is a screenshot to showcase the use of the block pricing option:

Persons

This tab allows you to make the booking for multiple persons. To enable this feature, select YES. It is also possible to set a minimum and maximum number of persons.

For example, A car could be rented and maximum 4 persons can only travel. So if you set Minimum person : 1 and Maximum persons: 4, then booking will not be taken for more than 5 persons.

Persons will also come into the following cost options:

Multiply block price by person count: If this option is enabled, all costs are multiplied by the number of persons the customer defines. It is also possible to enable person types. For example, Booking ticket for the journey might be having following restriction Only 2 Adults and 3 Children allowed. In this case, you could add person types and the pricing could be defined accordingly.

Once you enabled person types, you have the option to add multiple types.

Give your Person type a name (for example: Adult, Children) and define the cost (Base cost and Block cost) for the type. Adding a description is optional.

You can define a minimum and a maximum number for each person type. For example, you could require upto 2 adults and maximum 3 children for each booking. If you leave Max blank, there are no other restrictions than those of the bookable product itself.

Availability

This tab controls the availability of blocks (i.e.) what blocks can be booked. Availability of blocks can be defined based on following time frame:

  • Day(s)

  • Month(s)

  • Hour(s)

  • Minute(s)

Max bookings per block : By using this option, you could define the number of bookings per block. For example, if you enter 2, more than 2 bookings on individual blocks are not allowed.

Minimum block bookable and maximum block bookable : If today is March 1 and you set minimum block bookable to 1 day into the future, then the first date a customer could book would be March 2. The same applies to the maximum date bookable. If you set maximum block bookable to 2 day into the future, then blocks avalaiable for booking are March 2, March 3.

All dates are : This option allows you to define specific date range to be availble or not available by default. The date range can be defined based on following time frames Months, Days, Hours, Minutes.

Add date range

To add a custom date range, click the Add Range button:

On the new row created, choose a range type, From / to range and choose whether it is bookable or not and a priority number. The following are the several date ranges:

  • Date range – from and to will show a datepicker field

  • Range of days – from and to will show a dropdown of days of the week (Monday to Sunday)

  • Range of months – from and to will show a dropdown of months (January to December)

  • Range of weeks – from and to will show a dropdown of weeks (1 to 52)

  • Time ranges – from and to will show time inputs

  • Date Range with time – a time range can be set based on a custom date range

For example, if you would like to make the days from March 20 to March 22 to be non bookable, then you will have to choose Available by default to the All dates option and the date range should be set like below:

More examples

1. Rent a car for a day

Scenario:

  • Renting the car on a daily basis.

  • Setting the capacity of car to 5 persons.

  • Booking slots will be available only on week days and not on weekends.

Creating a product

  • Go to Article manager and create a new article.

  • Move to J2Store cart tab and choose YES to treat as a product.

  • Choose product type as Booking and save.

General tab After creating the product, navigate to general tab.

Booking duration In our sample scenario, we are renting the car on a daily basis. So Set the Booking duration to Fixed blocks of 1 day(s).

Pricing Set pricing for car renting and move to next tab.

Persons Our instance says that we are going to restrict the capacity only to 5 Persons. So following are the criteria to be set:

Min persons = 1 Max persons = 5

Availablity The car would be rented on a daily basis. The parameters should be set as follows:

Max bookings per block = 4

Minimum block bookable= 1 day(s) into the future Maximum block bookable= 30 day(s) into the future

To restrict the availability of the hall only to week days and block the availability on weekends:

Range type = Range of days Range = Saturday to Sunday Bookable = No

Following is the screenshot of frontend:

Video Tutorial:

2. Renting the flats on monthly basis

Scenario:

  • Renting the flats on a monthly basis.

  • Multiple bookings per block cannot be allowed.

Creating a product

  • Go to Article manager and create a new article.

  • Move to J2Store cart tab and choose YES to treat as a product.

  • Choose product type as Booking and save.

General tab After creating the product, navigate to general tab.

Booking duration In our sample scenario, we are renting the flats on a monthly basis. So Set the Booking duration to Fixed blocks of 12 month(s).

Pricing

Set pricing for car renting and move to next tab. There is no restriction for the capacity (persons) so navigate to the availability tab.

Availability

Criteria

  • The flats would be rendted on monthly basis.

  • Restrict multiple booking per block because multiple persons could not be booked for a single flat.

Max bookings per block = 1 Minimum block bookable= 1 month(s) into the future Maximum block bookable= 11 month(s) into the future

Screenshot of frontend

Video Tutorial:

3. Rent a sports helmet on hourly basis

Scenario:

  • Bookings will be opened daily for hourly basis(say 3 hours).

  • 10 bookings will only be taken per day.

  • The availability time range is 12:00 am to 09:00 pm.

Creating a product

  • Go to Article manager and create a new article.

  • Move to J2Store cart tab and choose YES to treat as a product.

  • Choose product type as Booking and save.

General tab After creating the product, navigate to general tab.

Booking duration Set this parameter to Fixed blocks of 3 Hour(s) to make the block available with custom time range.

Pricing tab Set the pricing accordingly and navigate to the availability tab.

Availability tab Max bookings per block = 10 Minimum block bookable = 0 days into the future Maximum block bookable = 1 month into the future Range type = Time range(all weeks) Range = 12:00 AM to 09:00 PM Bookable = Yes

Frontend screenshot

Video Tutorial:

4. Tool kit rental in minutes:

Scenario:

  • We are about to offer toolkit rental in terms of 90 minutes.

  • Only 5 bookings would be possible per block(here let us suppose we have 5 tool kits).

Creating the product:

  1. Go to article manager and create a new article.

  2. Click on the J2Store cart tab and choose treat as product as Yes.

  3. Set the product type as Booking and save.

General Tab Once the product type is chosen, navigate to the general tab.

Booking duration: The booking duration should be set to Fixed blocks of 90 minutes.

Pricing tab: Set the pricing accordingly and navigate to the availability tab.

Availability tab: Max bookings per block = 5 Minimum block bookable = 0 minutes into the future Maximum block bookable = 1 month(s) into the future

Frontend:

Video Tutorial:

booking month
bookingmonth
booking hour
booking duration
booking duration front
booking duration front1

booking duration front3
calender review

Now that we have set up block pricing, the users will be charged in this way:

booking pricing front
booking persons
person count exceed
booking person type
person type frontend
block available
non available dates
car rent
car rent persons
car rent availablity
car rent front
house rent general
house rent availablity
house rent frontend
sports helmet general
sports helemt availablity
sports helemt front
Booking Minutes
booking minutes availablity
booking minutes frontend
booking pricing
booking duration front2