ARB Plugin - Documentation


ARB Reservations plugin is an easy-to-use and easy-to-manage booking tool, which is the most flexible Booking Platform based on WooCommerce. This WooCommerce extension plugin allows your customers reserve hotel rooms or resorts, appointments for courses, doctors, salons and any other businesses which require appointment booking.

2.Installation & Updating

The installation process of ARB Plugin is quite simple and straightforward, and shouldn't cause you any troubles at all. Independent of you previous experience with WordPress plugins, you aren't likely to have any problems, just follow these simple steps:

  1. Download the Installable plugin file from CodeCanyon
  2. Upload the plugin to your WordPress
  3. There are 2 ways to do this::

    • Option 1 open your WordPress admin panel, go to Plugins -> Add new -> Upload and choose the file that you downloaded from CodeCanyon.
    • Option 2 open your WordPress installation folder in some FTP manager (CyberDuck, FileZilla, Total Commander, or any other), go to wp-content/plugins/ and upload the folder that you unzipped in previous step.
  4. Activate the plugin
    In your WordPress admin panel go to Plugins, find ARB | Appointment Reservation and Booking Solution for WooCommerce and click "Activate".
  5. Activation Token Number
    Click on the Settings link and you will find ARB Settings page. The most important part of this settings page is the Activation Token Number. To use ARB plugin you must put your unique 9 digit Token Number in the Activation Token Number field and click on Save Changes button. Congrats, your plugin is ready to use!
    You need your item purchase code for this step. Where is my Item Purchase Code?

Automatic Updating

Download & install Envato Market plugin
This plugin can install WordPress themes and plugins purchased from ThemeForest & CodeCanyon by connecting with the Envato Market API using a secure OAuth personal token. Once your themes & plugins are installed WordPress will periodically check for updates, so keeping your items up to date is as simple as a few clicks.

Manual Updating

If you download new plugin version from CodeCanyon please follow these steps to upgrade from the existing version:

1. Go to your FTP and open WordPress plugins folder
2. Delete the old ARB | Appointment Reservation and Booking Solution for WooCommerce folder
3. Upload the new version of ARB | Appointment Reservation and Booking Solution for WooCommerce
4. Go to WP-admin panel, open Plugins section and Activate it.

3.Creating Reservable Product (i.e., Booking Form)

To accept appointments/reservations, you need to create a reservable product (i.e., Booking Form).

  1. Go to: Products > Add New.
  2. Input desired title and description for your reservable product.
  3. Scroll down to Product Data and select Reservable Product in the dropdown menu.

    Booking fields will be available as soon as you choose Reservable Product. The booking fields will be under the following 5 tabs:

    1. General

      Properties of General Tab - Click to view a screenshot of the General Tab

      1. Label - Name of the field
      2. Reservation Duration - Customer-defined or Fixed duration. Can be minutes, hours, days or months. Details on Reservation Duration is here.
      3. Checkbox Fields - The booking requires confirmation or not, can be cancelled or not etc.
      4. Optional Note - To display additional information about the booking.

    2. Availability

      Properties of Availability Tab - Click to view a screenshot of the Availability Tab

      1. Max Reservations per Slot - The maximum number of bookings you want for your event.
      2. A slot is reservable after minimum - Set a time, after how many hours/days/weeks the booking form should be active. "0" will make the form active immediately.
      3. A slot is reservable till - Set a future date after when there will be no bookings. For example, if you put 1 week, then the calendar will show 7 days as reservable dates. Other dates will be non-selectable.
      4. Show quantity of left available time slots - Enable this if you want to show Left Slots counting. For example, there are 25 seats/slots still available to book. The visitor will see the counting '25' on the 'Time Slot'.
      5. Requires a vacant period of - Set vacant period for an appointment. For example, if you want to have a break between 2 appointments for preparation, then you can use vacant period. Meaning if your first appointment is on 8:30 - 9:30 and you set the vacant period of 20 minutes then the next appointment will be on 09:50 - 11:50.
      6. 1st slot starts at.. - Choose when the first slot of a day should be started.
      7. Add Range - You can add as many ranges as you need to set the exact periods when the bookings should be available. There are options - 'Date Range', 'Time Range', 'Date Range with Time', 'Range of Days' and more to choose from.

         >> Get more details on Availability settings.

    3. Costs

      Properties of Costs Tab

      1. Base Cost - This is is the cost which would be added to other Individual Costs you set for the product.
      2. Display Cost - This is not the actual cost. It is just to show at the front-end. If you keep it empty the booking form would calculate the actual cost and show that automatically.
      3. Add Range - You can set different cost for different ranges. For example, you want to increase the price for Saturday to Sunday. There are options - 'Slot Count', 'Person Count', 'Date Range', 'Time Range', 'Date Range with Time', 'Range of Days' and more to choose from.

         >> Get more details on Costs settings.

    4. Persons

      Properties of Persons Tab Details is here.

    5. Resources

      A resource can be a Hotel room OR a Theatre OR a Doctor OR a Teacher OR Course Type etc etc. Details on Resource Settings is here.

General Tab Properties

Reservation Duration

Duration determines how long a reservation lasts. The duration can be customer defined (input on the front-end) or admin defined (fixed slot). Duration units can be as flexible as Months, Days, Hours or Minutes.

Customer-defined slots have a set period of time, but customers can decide how many slots they want. For example, a hotel room is reservable in day basis, and customers can choose how many days they would like to reserve.

Fixed slots have a set period of time that you define. The customer or client can only choose 1 slot at a time. For example, law consultant appointment lasts 2 hours (fixed slot) and clients can only reserve one slot of '2 hours' at a time.

Following fields can be used if you choose customer defined slot:

  1. In General tab you can set A maximum and minimum allowed value. Customers cannot input any value which is beyond these values.
  2. A customer-defined slot in hours or minutes will show a dropdown.
  3. The customers will choose date first and then Time slots will be available to them. They can choose a slot from there and make their reservation.


The default label is Duration. You can put there Ticket, Course etc as well. This is important to choose a correct label because this will be shown in Cart page, Checkout page and also in Email notifications. For example, if you put Duration and customer book for 2 days, the Cart page will show "Duration: 2 Days". If you put "Ticket", the Cart page will show "Ticket: 2" and so on..

Count Duration as Item

Enable this if users are not going to book your product per hour/day/month etc. For example, you are offering food delivery service and you want the users to input the number of items they want you to deliver. If you put Quantity in the Label field and then enable this settings, users will see the duration field as Quantity. So, by the duration field the form will count how many food item is being ordered.
Please note: When you use this option, each booking will be counted as 1 booking regardless whatever number is inputted by the user in the duration field.

Allowing Cancellation

It is up to you that you offer cancellation facility to ther customers or not. If you choose Can be cancelled, customers will be able to cancel their reservations before the appointment beings.

Availability Tab Properties

Availability Settings

From the Availability settings tab you can set how many resources (a resource can be hotel rooms, tickets, seats of a course, rentable products etc) you have for booking, what is the minimum amount of slots the customer can book, what is the maximum amount of slots they can book etc. You can set certain period of date/time as Non-Reservable also.


If you want to have a vacant period which cannot be reserved by the customers, you can do so by using the Requires a vacant period settings. For example, your doctor takes rest for 30 minutes after every hour, so he/she cannot take patients at that time. You can set a 30 minute vacant period and patients will not be able to choose those vacant time blocks for appointment.

Is it possible to block out specific date with time for all my reservable products?

Yes it is possible to block out specific date with time. For example, you want to block out 05:00PM to 09:00PM of 2020-09-16. You can do so by choosing 'Date range with time' and input your desired date and time in the given fields. Please see the following screenshot:


Costs Tab Properties

Costs Settings

There are 2 fields in Costs settings tab: i) Base Cost ii) Display Cost. The display cost is not the actual cost. It is just to show in the front-end. If you keep it empty the booking form would calculate the actual cost and show that in the front-end.

The Base Cost is the cost which would be added to other Individual Costs you set for the product. For example, lets say you put a $30 booking cost for a Pizza, and you put $20 booking cost for a Burger. Then the actual cost would be $30+$20=$50 for 1 Pizza and 1 Burger. But, you want to set a constant delivery charge (lets say $5) also. So if you put an amount (For example $5) in Base Cost, the actual cost would be $50 + $5 = $55 for delivering 1 Pizza and 1 Burger. That means the Base Cost would be added to other Individual Costs.


You can increase or decrease the price/cost for certain period of time OR for certain number of persons OR for certain number of slots.

Example: Lets say,
you want $20 extra charge for booking your spa service on Saturday to Sunday.
you want to give $10 discount price for a time range like 7:00PM to 10:00PM.
you want to offer $10 discount if a booking is made for more than 1 person.
you want to offer $5 discount if more than 4 slots are booked.
You can do so by adding as many ranges as you need as we have done here in the following image:

You can add as many ranges as you need.

Resource Tab Properties

Resource Settings

Resources in ARB plugin are those things which will be available in the front-end for customers to choose from. A resource can be a Hotel room OR a Theatre OR a Color OR a Department OR Course Type etc etc. You can add as many resources as you need. All the resources you add in a product will be available in the drop-down in the booking form in the front-end. Just give a Tick mark on Enable resources and you will have the Resource tab with all those settings.

You can add as many Resources as you want by clicking on the Add/link Resource button.

You can set different prices for different resources. For example, you are selling movie tickets online. You want your customers to choose Theatre from 3 different types of theatre you have. You can do so by adding resources in the Resources tab and set your desired prices for each resource.

Person Tab Properties

Person Settings

Put a Tick mark on Enable Persons and you will have a new tab as "Persons". In the person settings tab you can put minimum and maximum value and also you can input different person types. You can set different prices, different minimum and maximum value for different person types as well. You can add as many Person Types as you want by clicking on the Add Person Type button.

Count Persons as Items

Enable this to count each person as a reservation item until the max reservations per block is reached.
Please note: When you use this option, number of persons will be counted as number of reservations.

It is important to note here that "Person" does not necessarily mean actual "Person" here. It can be "Tickets", "Courses" etc as well. For example, if you sale movie tickets you will use this settings to set minimum and maximum tickets a customer can purchase at once. On the other hand, if you are taking reservations for hotel rooms, you can set minimum and maximum persons allowed in a room.

4.Managing Reservation/Booking Orders as Admin

View Reservation Orders

To view all the reservation orders, go to WP-Admin > Reservations > All Reservations page.

A list will appear in the reservations page where you can filter the orders by dates or by reservable products. Also you can search for a certain order using the search form present in the page.

View Individual Orders

To view the details of a reservation order just click on the Search icon. You will have a new page where all the details of the order will be displayed. You can add private note with the order, email invoice to the customer, change the status of the order from there.

Confirm a Reservation Order

In the Edit Reservation page you will see a Status dropdown. Choose Confirmed from the dropdown and then click on the Save Reservation button

Confirmed reservations still needs payment. The customer will get an email notification with his/her order details / invoice and his/her My Account page url to make the payment. From the My Account page the customer can make the payment. Once payment is made by the customer, the order status will show as complete.

Manually Email Notification to All Customer

With only 1 click, you can send email notification to all customers who have a future reservation for a particular product. This will use the default template specified under WooCommerce > Settings > Emails.
Visit WP-Admin > Reservations > Send Notification page and choose a product whose customers will get the email. Then put subject and message in the given fields and click on Send Notification button. There are some dynamic tags available which you can use in your email. For example: if you use {customer_name} in your email message, it will be dynamically converted to the real customer's name in the email.

If you enable Attach iCalendar file, the customers will get an iCalendar file (.ics) as attachment. In the iCalendar file the customer's reservation time will be displayed. This iCalendar file can be imported in Google Calendar as well to view the reservation time in Google Calendar.

Manually Email Invoice to individual Customer

In the individual order page click on the Order Actions Dropdown and choose Email invoice / order details to customer and click on the Update button.

5.Frequently Asked Questions

Which Payment Gateways are Supported by ARB?

ARB works with all supported WooCommerce extensions, thus you can use any payment gateways supported by WooCommerce. Some popular payment gateways you can use with ARB are:
PayPal, Stripe, Square, Google Ads, Amazon Pay, PayFast, eWay etc. As addition you can also use Cheque Payments, Bank Transfer or Cash on Delivery payment methods.

Can I use the Booking form as Quote Request form instead of normal booking?

Yes, you can. At first, visit the WooCommerce > Settings > ARB Settings page and enable ARB Quote Request.

Then visit the products editor page for which you want the Quote Request button. At the right sidebar you will find the Quote Request Settings section. Choose On from the dropdown and then click on Update button of the product.

How to apply Sales Taxes for a Booking?

WooCommerce Tax tab (WooCommerce > Settings > Tax) displays several options that can be set to suit your needs — settings you choose are based on the tax jurisdiction under which your store is located.
Also, you can set different tax rates for different countries or even different states or cities.

Can I use the Reservation Form as a Shortcode?

Yes, you can. After creating a Reservable product you can use this shortcode [product_page id="your_product_id"] to display the product with reservation form.

Can I set different availability rules for different resources of my bookable product?

Yes, you can. For example, you have 2 lecturers ( Mr A and Mr B ) in your school. Mr A is available to take classes on Tuesday and Thursday. And Mr B is available on Firday and Saturday, like below:
Availability for Mr. A:
Tuesday 11:00am - 4:00pm
Thursday 11:00am - 7:00pm

Availability for Mr. B:
Friday 11:00am - 4:00pm
Saturday 11:00am - 4:00pm

You can set this up easily using ARB.

resource availability

resource availability

In the front-end booking form if an user choose Mr A, the calendar will show Mr A's available date/time only. Similarly if user choose Mr B, the calendar will display Mr B's available date/time only.

Can I hide the Calendar from the Booking Form?

Yes, you can. The instructions are given in the following image. Note: to trigger the ajax cost calculation you need to have at least 1 drop-down (resource or persons) instead of the calendar.

hide arb booking calendar

Can I change the Colors of the Reservation Form?

Yes, you can. Visit WooCommerce > Settings > ARB Settings page and there you will find the color option and other css options to adjust your booking form's design.

Can I charge a different price for different 'Person Type's?

Yes, you can. Please visit Person Settings section for details.

What is individual cost/price?

Every Resource and every Person Types can have its own 'Pricing'. We call them individual pricing. The following 2 screenshots will show you how to set pricing for individual resource and person types respectively.

resource pricing

person types pricing

How can I integrate Google Calendar?

ARB Google Calendar (Add-On) is required to integrate Google Calendar with ARB. This will sync all your booking orders from your website to your Google Calendar. The syncing is automated.

Can I offer Discount for certain types of Persons and/or for certain days?

Yes, you can. Please visit Cost Settings section for details.

Why reservation orders set to Processing instead of Completed?

Once an order has been paid, ARB only sets the status of the order to Completed if the reservable product purchased in the order is virtual and downloadable. If the reservable product in an order is physical and/or virtual without being downloadable, the order is marked as Processing. This helps you manage the shipping of physical items.

When an order only contains a reservable product that is virtual, the order will be marked as Completed automatically if the payment has gone through.

Can I have demo data to see how the live demo products are made?

Yes, you can. The demo data is included with the plugin purchase files.

How can I show the hours without am and pm to customers?

In the 'wp-admin > settings > general' page you will find the options to change the date/time formats as required.

I don't see payment methods while checkout, why?

To get payment while checkout, you must disable 'required confirmation' settings (please see the following screenshot). If 'confirmation' is required, then no payment method will show in the 'checkout'.

required confirmation

How to translate the ARB plugin in my native language?

You will need a free software to translate the plugin’s all English text in your language. The software name is Poedit. The Poedit is a common program which you can use to translate the plugin. It’s available for free on

After you have installed Poedit, you can open it and select File > Open. Then select the arb.pot file from the plugin you wish to translate which you can find in the /languages/ folder of ARB plugin.

Then go through every line of text and translate it to your native language. Afterwards go to "File > Save as" to save the catalog with your language code (for example "arb-es_ES.po" for Spanish language). Poedit automatically creates a new file "" and saves it, too.

After that upload those language files (.po and .mo files you just created) to wp-content/languages/plugins folder using FTP or Cpanel. That’s it.

Is it translatable with WPML plugin?

Yes, ARB is translatable with WPML plugin.

6.Video Tutorials

Tutorial for Creating a Reservable Product

How to create a reservable product with ARB

Tutorial for Managing the Reservation Orders

How to manage booking orders with ARB

Back To Top