HBook WordPress plugin documentation

If you have any questions that are beyond the scope of this documentation, please feel free to email us via the contact page here.

Plugin installation

There are 2 ways to install a WordPress plugin:

  1. using the WordPress installer
  2. uploading the plugin via FTP or File manager

1. Using the WordPress installer

  1. Go to Plugins > Add new
  2. Click Upload
  3. Select the hbook.zip file
  4. Click Install now
  5. Once the plugin has been installed click Activate Plugin

2. Uploading the plugin via FTP or File manager

  1. Go on the Downloads page of CodeCanyon and download the plugin. When you download the plugin you always get the latest version available.
  1. Log into WordPress and go to Plugins
  2. Find the HBook and click Activate Plugin

Once you have installed HBook plugin, you will need to activate your licence to unlock HBook menus and functionnalities. This is done by entering your Purchase code in HBook->Licence menu.

You may use one Regular Licence for one staging site and one live site.

Plugin updates

In order to add new functionalities, to stay up to date with the WordPress software evolution, to correct bugs, HBook plugin is regularly updated.

Updating does not affect the content of your site. All the settings and data associated with the plugin will stay the same.

There are 2 ways to update the plugin:

Whatever method you choose, you should backup your website. It is not compulsory but backing up periodically your entire installation (entire directory structure + database) is a good idea, especially before making any update to themes, plugins, core files, etc. Learn more about backups here.

Automatic update

When a new version of HBook is released you will see a notification on the plugins page and you will be able to update in one click thanks to the Update now action.

FTP or File Manager update

    1. Go on the Downloads page of CodeCanyon and download again the plugin. When you download the plugin you always get the latest version available.
    2. Go on the plugin page and deactivate HBook plugin
    3. On your server delete the hbook folder which is located in wp-content/plugins (note that this will not delete the HBook settings since they are stored in your WordPress installation).
    • If you are using FTP:
      1. Unzip the plugin as you need to get an unzipped hbook folder that can be uploaded on your server later on.
      2. Transfer the hbook folder to the wp-content/plugins/ folder on your server
    • If you are working from your File Manager:
      1. Upload the hbook.zip file into the wp-content/plugins/ folder on your server
      2. Extract it
    1. In the Plugins menu, find HBook and click Activate Plugin

    Notifications of an update release for Maestrel purchase

    If you purchased HBook as a package with one of our theme on Maestrel, we will send a notification by email each time a new version of HBook is released. You always have the option to "Unsubscribe" of these notifications.


    Notifications of an update release for CodeCanyon purchase

    If you want to be notified by email when a new version of HBook is released you can check the box Get notified by email if this item is updated on your Downloads page on CodeCanyon.

Accommodation

In this section of the documentation, you will find information regarding the Accommodation sub-menus of HBook menu. For the plugin to work correctly you need to create at least 1 type of accommodation.


Create a new accommodation

You can create as many accommodation types as you need. For each accommodation type (for example "Double room"), you will be able to set how many you have of this type (for example "10" Double rooms).


Accommodation settings

The settings are here to provide HBook with the information needed for the booking system. Normal occupancy, Maximum occupancy and Number of accommodation of this type are the only required settings for HBook to work.
Here are the sections you will find for the accommodation type settings:


General settings

  1. Indicate the number of accommodation of this type (required)
  2. If you have several accommodation for an accommodation, you might wish to give different names/numbers than the default numbering. If you click Edit accommodation numbering, you will be able to rename the accommodation for that Accommodation type.

Occupancy settings

  1. Enter the normal occupancy (required): this is the number of people the accommodation rate (as set in HBook->Rates) is for.
  2. Enter the maximum occupancy (required): this is the maximum number of persons the accommodation can cater for.
  3. Enter the minimum occupancy (optional): if you wish to set a minimum number of person for the accommodation type, please enter it here.

If your prices change according to the number of persons:

Check some examples of occupancy settings here.


Descriptions

  1. Enter the description displayed in searched results (optional): it will be shown in the result of a search when using [hb_booking_form].
  2. Enter the description displayed in Accommodation list (optional): it will be shown when using [hb_accommodation_list].
  3. You can give a accommodation short name to the accommodation to be used in the calendar of reservations in Reservations. This can be useful if you have long accommodation title to simplify the display in the calendar.

Display options

  1. Set your preferences regarding the display of your the accommodation type. HBook allows you to either :

    • use HBoook default accommodation post type
    • apply one of your page template
    • or use a different page/post to showcase the accommodation type

  2. Enter a starting price (optional): it will be shown in the list of accommodation when using [hb_accommodation_list].

If you choose to use the accommodation type post for display purposes :

  1. You will set that you wish to use this post to display the accommodation...
  2. ... and you can choose which template you wish to apply

If you choose to use another post or page for display purposes :

  1. You will set that you wish to use another post or page to display the accommodation...
  2. ... and you will enter the id of the page or post to be used instead.

It has several effects:


Automatic blockings

  1. Indicate the preparation time. HBook will automatically block x days before check-in and after check-out of a reservation.
  2. Indicate the linked accommodation: you will enter here the accommodation ids of the accommodation that need to be blocked automatically when the accommodation type you currently edit is booked. If you need to specify the number of accommodations that need to be blocked for each linked accommodation type, you can add that number in ().
  3. Check some examples of linked accommodation settings here.

Multiple accommodation booking

Indicate if you wish to exclude or not the accommodation from multiple accommodation bookings.

See here in our knowledgebase for more information regarding multiple accommodation booking.


Examples of occupancy settings:


Examples of linked accommodation settings:

Note that if you need to link accommodations both ways (if one is booked, the other is blocked automatically and vice-versa), you will need to enter for each accommodation type the accommodation id of the other.

Pricing settings

In this section of the documentation, the following sub-menus from HBook settings are explained:

  1. Seasons
  2. Booking rules
  3. Rates
  4. Extra services
  5. Fees / Taxes


1. Seasons

You will find the page of the Seasons in the menu HBook > Saisons . For the plugin to work correctly you need to create at least 1 season. Note that since all bookable days must belong to one season, you need to define at least one season with an end date which is at least equal to the Maximum date for a reservation (which can be set in HBook > Misc).


Step 1 : Create a new season

  1. Click Add new season
  2. Enter a name
  3. Select the season's status:
    • Priority: this is the highest status. When a date is found in several seasons, if it is found in a "Priority" season, then it is the rates and rules associated to this season that will be applied.
    • Regular: this is the middle status. When a date is found in several seasons, if there is no "Priority" season for it, but there is a "Regular" season set, then it is the rates and rules associcated to this season that will be applied.
    • Default: this is the lowest status. If the dates searched are found only in a "Default" season, then it is the rates and rules associcated to this season that will be applied.
  4. Click Save
Please keep in mind that the dates of two seasons that have the same status, should never overlap.

Step 2 : Add one/various period(s) for the season

  1. Click on the + icon.
  2. Enter a start date
  3. Enter an end date
  4. Select a set of days for the chosen dates
  5. Click Save
A couple of tips to adjust the seasons correctly :
  • a season can have various periods
  • all seasons apply to all accommodation types
  • when setting the dates of a period, think in terms of nights. So the end date of a season is the day before the start date of the next season

Examples:

  1. Low, Summer and High seasons
  2. Weekday, Weekend, Peak season
  3. Summer, School holidays, Rest of the year


2. Booking rules

You will find the page of the Booking rules in the menu HBook > Booking rules . Booking rules are optionals. There are 5 types of Booking rules.

  1. Check-in days: define on which days customers are allowed to check-in.
  2. Check-out days: define on which days customers are allowed to check-out.
  3. Minimum stays: define the mimimum length of a stay.
  4. Maximum stays: define the maximum length of a stay.
  5. Advanced booking rules: define advanced rules to create compulsory settings for stays, special rates, discounts or coupons.


Allowed check-in and check-out days - Changeover days

With the Allowed check-in days and Allowed check-out days, you can indicate on which days your customers can arrive and leave. It can be set according to season and accommodation.


Examples:

  1. Changeover day on Saturday all year round for all accommodation types:
  2. Different check-in and check-out days depending on seasons:


Minimum amd maximum stay

With the Minimum stay and Maximum stay, you can indicate the minimum number of nights and the maximum number of nights allowed. It can be set according to season and accommodation.


Examples:

  1. Different minimum stays depending on the season (7 nights minimum stay on "Summer" season and 2 nights the rest of the year):
  2. Minimum stay depending on accommodation type and season:
  3. Maximum stay for all accommodation types and seasons:


Advanced booking rules

This is a powerful feature that will enable you to define settings conditionally. It has two different aims.

There are 5 types of advanced rules:

  1. Compulsory: if the booking request has a check-in day that falls in one of the check-in days set in the rule then the booking request must comply with the rule.
  2. Special rate: if the booking request follows the rule a special rate is applied. You will indicate the rate for that rule in Rates page
  3. Compulsory and special rate: this rule is both a compulsory rule and a special rate rule.
  4. Discount: if the booking request follows the rule then a discount is applied. You will indicate the type of discount (percentage or fixed amount) and its value in Rates > Discount.
  5. Coupon : if the booking request follows the rule and the customer enter a valid coupon, a discount is applied. You will indicate the type of discount (percentage or fixed amount) and its value in Rates > Coupons.

Step 1: Create an advanced booking rule

To create an advanced rule click on Add rule.

Step 2: Set the attributes of the new rule

  1. Enter the name of the rule
  2. Select the rule type
  3. Select one or several check-in day(s)
  4. Select one or several check-out day(s)
  5. Enter a minimum stay if applicable
  6. Enter a maximum stay if applicable
  7. Select for which accommodation type this rule is for. This parameter will be displayed only for the advanced booking rules of type "Compulsory" and "Compulosry and Special rate". For the other rule types, the seasons and accommodation types are selected directly when entering the rates in Rates.
  8. Select for which season this rule is for. This parameter will be displayed only for the advanced booking rules of type "Compulsory" and "Compulosry and Special rate". For the other rule types, the seasons and accommodation types are selected directly when entering the rates in Rates.
  9. Click Save

Examples:

  1. Fixed length stay for specific check-in day (Compulsory check-out on following Friday if check-in on Monday):
  2. Discounts for more than 10-night stays and for more than 30-night stays:
  3. Coupons with conditions: only valid for stays between 3 and 7 nights:


3. Rates

You will find the page of the Rates in the menu HBook > Rates . Once you have created Accommodation type and Seasons you will be able to define rates.

Below is an example of a rate table for a user who has defined 2 types of accommodation and 3 seasons.


If you have set a different number of person for the normal occupancy and the maximum occupancy you can add rates for extra people in the Price per adult above normal occupancy table and the Price per child above normal occupancy table.
See example below.


Special rates

If you have created Special rate rules you will need to define these rates by selecting the name of the rule in the rate tables. You can use a same rule for various seasons and accommodation types.
See example below.

You will find examples of pricing set up in the Set-up section of our knowledgebase.

Discounts

Discounts are applied to the total price when the criterias of a search meets the criterias of a discount rule set in Booking rules > Advanced booking rules. If you have created Discount rules you will need to define the amount and type of discount by creading a new discount.
See example below.

Here are some "Discount" conditions we created in HBook > Rules > Advanced booking rules

And now we set the dicounts amounts in HBook > Rates > Discounts


Coupons

You can create coupon codes that you give to your customers so they can get a discount when they enter the coupon code at the time of the booking.

  1. Enter the coupon code
  2. Select for which accommodation type the coupon is for
  3. If you wish to set some conditions for the coupon code to be valid, you will have created an Advanced booking rule and you will select it here
  4. Here you will see a counter for the number of times the coupon has been used
  5. You can set a maximum number of use
  6. You can set a date limit for the coupon to be valid. The coupon needs to be used before this date for the coupon to be still valid
  7. Set the amount and the type. If you wish to give a 10% off, you will indicate "10" as amount and type will be "Percent". Is you wish to give a US$20 off, you will set "20" as amount, and "Fixed" as type.

You can use a same coupon name for different accommodation types and/or different seasons with different discount amount/types. See examples below.


4. Extra services

You will find the page of the Extra services in the menu HBook > Extra-services . If you wish to offer your customer extra services that they can add to their booking, you will be able to set them in this page. An extra service can be a single option or can be a multiple options to pick from. There are different types of extra services that will lead to different price calculation:



5. Fees / Taxes

You will find the page to set Fees or Taxes in the menu HBook > Fees . A fee or a tax is compulsory and comes on top of the accommodation/extra-service/reservation price. Our fee/tax section is highly flexible. You can set fees/taxes that are calculated using :

The fees/taxes can be applied to:


Steps to create a fee

  1. click on Add new fee
  2. Enter the name of the fee
  3. Select the type of fee: it can be a fixed amount or a percentage

The settings are different if you use a fixed amount or a percentage to calculate the fees.


Fixed amount fees

There are different types of fixed fees that will lead to different price calculation:

Depending on the type of fixed fee you choose, we automatically select where the price will be shown (included in the item price, added to the item price or added to the final price).

  1. Select the type of fixed fee
  2. Indicate if the fee amount should be added to total price (shown in summary), added to the accommodation/extras-services or is already included in the prices set
  3. Enter the amount of the fee
  4. Select the accommodation types for which the fee should be applied


Percentage fees

  1. Select on which prices the fee should be applied: the extra-services prices, the accommodation price, all prices
  2. If on Accommodation, indicate if the fee is calculated per person per night
  3. Indicate if the fee amount should be added to total price (shown in summary), added to the accommodation/extras-services or is already included in the prices set
  4. Indicate the percentage applied
  5. Select the accommodation types for which the fee should be applied


Complex taxes set up

To cater for some specific tax calculations, we have added the following additional settings when the fee is a percentage applied on accommodation price and with a price per person per night.

  1. Set a minimum amount
  2. Set a maximum amount
  3. Set if the fee calculated (accommodation price divided by number persons and number of nights) should be multiplied by the number of adults/children/nights.


Below are examples of fees and their settings:

Payment settings

In this section of the documentation, you will find information regarding the Payment sub-menus of HBook menu.


Booking Payment settings

HBook allows you to offer your customer a choice of payment options.

Here are the different payment options explained:

  1. Payment offline: the payment will take place outside of HBook. It can be that the customer pays via bank transfer, on arrival, etc.
  2. Leave credit card details: this is available only when Stripe gateway is activated. You need as well to enable "Store credit card details" in Stripe settings
  3. Pay deposit online: the customer will pay only a deposit at the time of the booking. You will set the deposit option and you can as well require full payment if the arrival is within "x" days.
  4. Pay full stay price online: the customer will pay the full amount online at the time of the booking.

For each payment option, you can add an explanation text in HBook > Text > Payment choice. This can be handy if you wish to provide payment instructions for payment via bank transfer, for example.

Security bond

A security bond, sometimes called security deposit, is a sum of money which is held during the length of the stay to cover the cost of any damages or loss caused by the customer.

There are various options for the security bond to cover the different situations: you might wish to inform your client that there is a security bond but not ask for the payment of it, include it or not to the total amount, ask for it to be paid at the time of the booking or not...

  1. set if there is a security bond or not
  2. set if it needs to be paid by the customer: in that case, it will be added to the total price of the reservation (independenlty of the payment taking place online or not)
  3. set the amount of the security bond

If you set that you ask for the security bond to be paid and if you set that there is a deposit option (part of the payment of the reservation to be paid in advance), then you will see in the Deposit settings a new option to set if the security bond needs to be added to the deposit amount:


Deposit settings

A deposit corresponds to the part of the total price of the stay that is payed in advance by the customer to secure the booking.

  1. There are different types of deposit options: none, percentage, one night and fixed amount.
  2. Here indicate the amount: for example, if you ask for 50%, you will write "50".
  3. If you have set that there is a security bond that has to be paid, you will see this setting. It allows you to decide if you wish to require the payment of the security bond along with the deposit or not.
  4. If you offer deposit and full payment, but wish to require full payment for reservations with a close check-in date, here you can indicate the number of days from current date, for which the deposit option should be replaced by full payment option. For example, if you wish to show only full payment option (and not the deposit option) if check-in is within 7 days, you will enter "7" as value.

Price settings

Choose your currency and set options regarding price display.


Activate Payment gateways

You can choose which online payment gateway will be offered to your customers. PayPal and Stripe are already integrated to HBook.

We have developed add-ons to offer other payment gateways: Square, Mollie, Authorize.net, etc... See the full list of available payment gateways here


Gateways add-ons for HBook

Stripe and PayPal are gateways included in HBook. We have developed many add-ons to integrate other payment gateways.

Email settings

In this section of the documentation, you will find information regarding the Emails settings:


Create email templates

HBook allows you to create a diversity of email templates that can be sent out automatically or manually, taking into account the reservation status, the payment status, the language and the accommodation type.

Upon an event

  1. Select the events that should trigger the sending of the email. There are 4 different actions and you can select several for the same template.
    • Automatically when a new reservation is received: a customer has just booked on your website (front-end)
    • Automatically when a new reservation is added from the back-end: a reservation has been added in the admin page Reservations.
    • Automatically when a reservation is confirmed: when you click on the green tick in the reservation list. Note that clicking on the "Confirm" action will always trigger this action, even if you don't require confirmation. See Confirmation settings for more details on this.
    • Automatically when a reservation is canceled: when you click on the red cross in the reservation list
  2. Select the payment status for which the template should be sent. There are 3 different payment status and you can select several for the same template.
    • Paid
    • Not fully paid
    • Unpaid
  3. Select for which accommodation type the template is
  4. If you have enabled multiple accommodation booking in HBook > Misc, you can select if this template is to be sent out for a multiple accommodation booking
  5. If your website is set with multiple language, you can select here for which language the template is

Scheduled

  1. Indicate the timeframe for the scheduled event :
    • indicate the number of days
    • indicate if it is to be sent before check-in, after check-in, before check-out, after check-out
  2. Select the reservation status for which the template should be sent. There are 3 different reservation status and you can select several for the same template.
    • New
    • Pending
    • Confirmed
  3. Select the payment status for which the template should be sent. There are 3 different payment status and you can select several for the same template.
    • Paid
    • Not fully paid
    • Unpaid
  4. Select for which accommodation type the template is
  5. If you have enabled multiple accommodation booking in HBook > Misc, you can select if this template is to be sent out for a multiple accommodation booking
  6. If your website is set with multiple language, you can select here for which language the template is

Manually

  1. Select for which accommodation type the template is
  2. If you have enabled multiple accommodation booking in HBook > Misc, you can select if this template is to be sent out for a multiple accommodation booking
  3. If your website is set with multiple language, you can select here for which language the template is

Here is an example of a list of email templates:


Email logs

HBook keep a log of the emails sent. They are displayed by reverse chronological order.

  1. This is the timestamp, local time
  2. Here is indicated for which reservation id the email was sent
  3. If a template was used, the template name is indicated here
  4. The trigger for the email is displayed here. You will see if it was sent manually, as part of the scheduled emails or upon an event
  5. The email sending status is shown here. If an email is not sent out, you will find the error here.
  6. You can delete all email logs
Please have in mind that the sending status is not the delivery status. An email can be sent but not received! There are various lever to improve deliverability : you can connect your site with your mail server via SMTP, improve your content to avoid your email being treated as Spam, etc.

List of variables that can be used in the email templates, document templates or iCalexport

You will find the list of variables that can be used at the bottom of the email templates table (as well as the HBook > Documents table).

Here are some information about the reservation variables you can use:

Any variable associated to the Customer starts with "[customer_...]. Variables are usually straightforward, for example :

If you have a multi-language plugin (as Polylang or WPML), you will see an extra column "For language" that will allow you to set for which language the email template is set for. So you can have different emails sent according to the language.

Other settings

In this section of the documentation, you will find information regarding the Appearance and Misc ( settings for Multiple booking, confirmation, booking window, etc.) sub-menus of HBook settings.


1. Appearance

In the sub-menu Appearance of HBook menu, you can do the followings:


2. Miscellaneous

In the sub-menu Misc of HBook, you will find the following sections:


Multiple accommodation booking

  1. Set if you wish to enable multiple accommodation booking
  2. If you have enabled multiple accommodation booking, you can set if you wish to enable it for front-end or have the multiple accommodation booking only available for the back-end.
  3. Indicate if you prefer that HBook uses the normal occupancy or the maximum occupancy to fill in the accommodation when suggesting multiple accommodation in the search results.
  4. When using "Normal occupancy", you can set if you wish to prevent singleton when possible.

HBook will show suggestions :

See here in our knowledgebase for more information regarding multiple accommodation booking.

Confirmation settings

See here in our knowledgebase for more information regarding case examples to use the confirmation settings and "Confirm" action.

Reservations status

You can set the default reservations status depending on the origin of the reservation received (front-end, admin, ical).


Invoice id and reservation number

You can customize the invoice id :

  1. You will indicate here the structure of the invoice id. You can use the variables %year, %month and %counter
  2. You can manually set the counter to a specific number for the next invoice id.
  3. You can indicate the automatic reset frequency so HBook will automatically reset the %counter variable value to "1" either monthly, yearly or never.

HBook allows you to have a random reservation number, in addition to the reservation id and the invoice id. It will be displayed in the list of reservation, you can as well include the variable [resa_alphanum_id] in Documents or Emails

  1. You can add decide to use an additional alphanumeric reservation number.


Opening dates

You can set here the booking window :

  1. You will indicate here the minimum selectable date. It can be set by defining:
    • a number of days from current date. This is useful if you wish to prevent last minute booking.
    • a fixed date. This is useful if you are not open all year round. This will be your opening date.
  2. You will indicate there the maximum selectable date. It can be set by defining:
    • a number of months ahead of the current date. This is useful if you wish to set a booking window to allow bookings within 6 months only for example.
    • a fixed date. This is useful if you are not open all year round. This will be your closing date.
Please keep in mind that this is HBook booking window, for reservations received on your website (front-end) only. You can as well set the Ical import window which will apply only to the ical import of reservations received on your external calendars.


Dates settings

You can set the date format and the first day of the week. Note that if you have a multilingual site, you can set these for each language (as in screenshot).


Terms and conditions, Privacy policy

  1. If you wish to add terms and conditions checkbox: a compulsory "Terms and Conditions" section will be displayed just before the "Book now" button.
  2. If you wish to add a privacy policy checkbox: a compulsory "Privacy Policy" section will be displayed just before the "Book now" button.
To customize the text, to add for example a link to your terms and conditions page or privacy policy page, go to HBook->Text->Book now area and you will find the fields that can be customized. See here and there for examples.

Import/Export of HBook settings

You can export or import a HBook settings file. It will be in a .json format and this can come in handy when you wish to move a HBook install with its settings, accommodation types, customers and reservations.

If you import a .json file of HBook settings in a WordPress installation, please have in mind that any previous HBook set-up, accommodation types, reservations and customers will be replaced.

HBook reset

  1. Reset HBook: customers, blocked dates and reservations tables will be emptied. This is useful to delete any tests and start fresh. Reservation id and Customer id will start again from "1"
  2. Reset Reservations and blocked dates: Customers will be kept, but the reservation and blocked dates tables are emptied. Reservation id will start again from "1".
  3. Delete only reservations imported from external calendars (iCal sync): any reservation received on your website will be kept but all reservations imported from external calendars will be removed, whatever their status is. This can be handy when you have ical sync issues and need to have a clean reservation list to set up ical correctly.
  4. Delete only reservations with status "Cancelled": all reservations that have "Cancelled" status will be deleted from the reservation table.
  5. Delete only past reservations: all past reservations will be deleted from the reservation table.
  6. Delete only past blocked dates: all past bloqued dates will be deleted from the reservation table.
The reset actions can not be rolled back. Make sure you know what you are doing before proceeding!

Misc

  1. HBook admin language: you can set here if you wish to use the existing translations of HBook admin menus (when available for your language). To see an updated full list of available translations, please check here in our knowledgebase.
  2. Reservations list default filter: you can set here the default filter for the Reservations list.
  3. Reservations list filters default values : you can set the default values for all the filters for the Reservations list.
  4. Archiving delay: HBook automatically archive your reservations. You can then find them in Reservations > Archived reservations. Here you will enter the delay in months before archiving should be done.
  5. Email logs retention period: HBook keep logs of the emails sent. Here you will enter the period of logs retention, in months.
  6. Email default address: When no email address is set, HBook will use this email address. If empty, HBook will use the WordPress administrator email.
  7. Accommodation post slug: customize the slug for the posts in the url. Default is "hb_accommodation"
  8. Set if you wish that we remove all tables/rows of data added by HBook upon deletion of the plugin from the Plugins menu.
  9. Set if you wish to have a dynamic or static resizing of the images. HBook uses Aqua Resizer for resizing the images. If you need to use your own resizing functions, you will set this to static and you will use HBook filter ""
  10. Adjust the delay before a timeout occurs for front-end pages
  11. Adjust the delay before a timeout occurs for admin pages

Forms customization

In this section of the documentation, you will find information regarding the Search Form and Details form sub-menu of HBook menu.


The Search Form page allows you to customize the search form and accommodation selection forms:

  1. Search form: in this section you can customize the fields of the Search form.
  2. Accommodation selection: in this section you can customize the accommodation selection step.


The Details Form page allows you to customize the customer details and booking details form:

  1. Customer and Booking details form: in this section you customize the fields of the form customers used for entering their details.


1. Search form

Customize the fields of the Search form.

  1. Set if you wish to have a selection of the number of "Adults" in the search form
  2. Set if you wish to have a selection of the number of "Children" in the search form
  3. You can set a minimum number for the adult select
  4. You can set a maximum number for the adult select
  5. You can set a maximum number for the children select
  6. You can override the above settings when a search is for a specific accommodation type. Set here if you wish HBook to use the accommodation type occupancy settings instead of the settings above.
  7. In the search form, you can use placeholder instead of labels
  1. Set if you wish to have a field for the customer to indicate the "Number of accommodation" in the search form
  2. Set the maximum number for the "Number of accommodation" select
  3. Set if you wish to have a selection of the number of "Adults" in the search form
  4. Set if you wish to have a selection of the number of "Children" in the search form
  5. You can set a minimum number for the adult select
  6. You can set a maximum number for the adult select
  7. You can set a maximum number for the children select
  8. You can override the above settings when a search is for a specific accommodation type. Set here if you wish HBook to use the accommodation type occupancy settings instead of the settings above.
  9. In the search form, you can use placeholder instead of labels

2. Accommodation selection

Customize the Accommodation selection.

  1. Set if you wish to allow customers to select the accommodation number. For example, not only can they select the "Double room" but they can as well choose which double room they wish to book among the available ones. You can add an explanation text HBook > Text > Accommodation selection if you wish to provide more details at this reservation step.
  2. Set if the title of the accommodation type should have a link to the page used to showcase the accommodation type
  3. Indicate if you wish to display a thumbnail. The thumbnail is the featured image of the post used to showcase the accommodation type
  4. Set if the thumbnail of the accommodation type should have a link to the page used to showcase the accommodation type
  5. Indicate the thumbnail width in pixels
  6. Indicate the thumbnail height in pixels
  7. Set if a button "View accommodation" should be displayed. It will open the page used to showcase the accommodation type in a new tab.
  8. Set if any prices should be displayed. You always need to set rates for the booking system to work but you can decide not to show any prices on front-end
  9. Set if a breakdown of the price should be displayed
  10. Set if the default state of the price breakdown: if closed, the customer will click to view the price breakdown
  11. Set if the fully detailled accommodation breakdown should be displayed
  12. Set if you wish to display the number of available accommodation
  13. If you wish to display the number of available accommodation, but only from a specific number, you can set here the threshold. The message will be shown only when there are less or equal accommodation left than this threshold.

If you have only one type of accommodation or in a search for a specific accommodation type, by default the accommodation title, the accommodation thumbnail and the button link towards the accommodation page are not displayed. You can override this with the parameters of the booking shortcode. See here for more details.

3. Customer and Booking details form

Customize the fields of the Customer and Booking details form. You can drag-and-drop the fields to re-order them. Field types are :

  1. If there are some information you wish to ask to your customer to provide further details about their booking, you can include some fields that will be displayed straight after the Extra-services selection. In this example, we set the Customer information form after these additional information about their reservation.
  2. You can set if a field is displayed : this is useful when you wish to modify your customer/booking details form, without having to delete and recreate the fields.
    You can as well set that a field is required : it means that if it is not filled by the customer, a message will be displayed asking him to provide the information.
  3. You can set that a field is for admin only purposes. It will not be displayed in the front-end details form, but only when you add a reservation from the admin, or when you edit customer or reservations details.
  4. Select the field type. Here are the possible fields :
    • Text
    • Email
    • Number
    • Text area
    • Select
    • Radio buttons
    • Checkboxes
    • Title
    • Sub-title
    • Explanation
    You can as well set that you wish to add a column break or a separator
  5. Indicate if this information should be associated to the Customer or to the Booking.
    When associated to Customer, this information will appear in the column "Customer", in the list of customers in HBook > Customers and customer details will be updated each time the customer makes a new reservation on your website.
    When associated to Booking, it will be displayed in the column "Information" and can be different for each reservation made by the same customer.
  6. You can organize the form with columns and you will indicate the column width: it can be Full, One half or One third so you can organize the layout of the forms to your taste.
  7. You can add column break if you wish to force to jump to next line

Text customization and translation

In this section of the documentation, you will find information about :

  1. Front-end translations
  2. Back-end translations

Translation files for front-end and back-end are included for many languages. To see an updated full list of available translations, please check here in our knowledgebase. You will find all translation files in your file manager on your server in wp-content/plugins/hbook/languages We have organized the files between:
  • Front-end (.txt files): for any text displayed upfront by HBook. To upload the translation file (for example: hbook-fr_FR.txt), follow the instructions set in "How to import/export language files?".
  • Back-end (.mo and .po files): for HBook admin menus. Follow the instructions set here to have the admin in your language.

1. Front-end

How to modify or/and translate text displayed on front-end by the plugin?

The Text page is dedicated to customizing and translating any text displayed by HBook. The Text page allows you to view and edit all front-end strings displayed by HBook, for all the languages you have set. There is a handy list of sections so you can easily identify the various sections and navigate to the section where you wish to modify/translate strings.

iCal import/export/synchronization

In this section of the documentation, you will find information regarding the iCal synchronization sub-menu of HBook menu:

  1. What is exactly the iCal synchronization?
  2. Presentation of iCal synchronization table
  3. Presentation of iCal synchronization settings
  4. Understanding the notifications displayed in the Reservations page
  5. Resources : step by step guides, troubleshooting

HBook allows you to import, export and synchronize calendars using iCal feeds or files. HBook synchronizes by default hourly with the calendars added.

A recommended practice is to have HBook as your main calendar and to set two-ways synchronization between HBook and other iCal calendars. You should not set any synchronization between two other calendars, if they already are synchronized with HBook.

What is exactly the iCal synchronization?

iCal is a handy format to exchange calendars. It is used by:

What is called iCal synchronization is in fact an import of the iCal feed of the calendars that are "synced" made at a regular frequency by each calendar/booking software. Here is what happens:

You can check this article of our knowledgebase to see a non-exhaustive list of platforms, OTA, agendas... that accept the iCal synchronization.

Presentation of iCal synchronization table


If you have a "Coming soon/Maintenance" plugin, you need to deactivate it for the synchronization to work. Else, your ical urls are not reachable.
Note that as iCal is aimed at synchronizing calendars only, it does not update the information regarding payment, customer details or number of adults/children. You will have to edit these in the reservation list.

Presentation of iCal synchronization settings

To be able to deal with the diverstity of external calendars supporting iCal and to offer you synchronization options, you will find the following settings:


Notifications settings

HBook can record and display notifications regarding the synchronization.

  1. Set if you wish to keep records of the notifications. We recommend to enable this at least when setting up the iCal sync and when doing debug.
  2. Set if you wish to display the notifications which will appear in Reservations page at the top of the page.

Import settings

  1. Set the sync frequency. Please note that this impact only the frequency at which HBook checks the external calendars. It does not have any effect on the frequency of calendar updates on the external calendars (AirBnb, booking.com, Expedia...)
  2. If the dates of a reservation has been modified in the external calendar, they can be updated automatically in HBook. This option is to be disabled if your external calendar does not follow iCal standards.

You might need in some circumstances to prevent HBook from importing some dates that are included in the export of an external calendar. This is usually the case with external calendars who add to their exports dates that are blocked due to settings of their own. This can be for examples when there is no rates set for a future period, when some days are unavailable due to a booking window or an advanced notice setting. This will typically create "fake" or "phantom" reservations imported in your reservation list. You will use the following settings to set the iCal import window:

  1. Indicate the number of months ahead from current date to set a maximum date.
  2. Indicate the number of days from current date to set a minimum date.
  3. If you do not accept one night reservations in any of your external calendars, you can set it here. HBook will ignore any 1-night event during the iCal import

Export settings

  1. You can choose to include blocked dates (as added in Reservations > Block accommodation) in the export or not.
  2. You can choose to include the dates blocked as "Preparation time" in the export or not.
  3. You can choose to include only the reservations with status "Confirmed" in the export or not.
  4. The Summary is a short description for the reservation. You can use the available variables to customize it. Some external calendar show the Summary to help you identify the reservation.
  5. The Description is a more detailed description for the reservation. You can use the available variables to customize it. Some external calendar show the Description but not all of them.

HBook is coded to deal with the most possible options iCal synchronization can offer, as updating the dates or status of a reservation automatically, customizing the summary and description. However, not all external calendars create the iCal feed to work to its most. Therefore, you might need to disable some of these functionalities to make it work properly.

Understanding the notifications displayed in the Reservations page

Once set up, the iCal sync is completely automated. It still requires regular checks to verify that everything is running well. We display notifications on top of the Reservations page when there are any sync errors..

These messages are here to help you to monitor the sync. It can be:


Resources : step by step guides, troubleshooting

Since the iCal sync is involving connections between HBook and other platforms/agenda, the set up can be tricky. We have written a variety of articles in our knowledgebase to help you with the set up and to troubleshot frequent issues. Click here for the full list of article about iCal synchronization.

Do not hesitate to email us via the contact page here. We will be delighted to help if needed!

Shortcodes / Blocks

To display a search form, a booking form, an avaialbility calendar, a rate table or a list of accommodation, HBook uses shortcodes but you can as well use the Gutenberg editor blocks. You can display these HBook elements anywhere on your website : in a page, a post, a widget, a sidebar...

Reservation page

In this section of the documentation, you will find information regarding the Reservations sub-menus of HBook menu.


All reservations made on your website will appear in the Reservation page. The reservation page is separated in 6 parts.

  1. Calendar
  2. Block accommodation
  3. Add a reservation
  4. Reservations list
  5. Archived reservations
  6. Export Reservations

Note that HBook allows you to set different user roles for reservation and HBook management. See here for more information.

A notice can appear at the top of the Reservations page if there has been any errors of synchronization. See here to best understand what the notifications means. You can disable the display of notifications in iCal sync settings menu.


1. Calendar

  1. Select which accommodation type you wish to be displayed
  2. The current day is highlighted in light blue
  3. Go two weeks backward.
  4. Select a month of a year from the pop-up calendar
  5. Go two weeks forward.
  6. A confirmed reservation will appear in green
  7. A new reservation will appear in yellow.
  8. A blocked accommodation will appear in pink


2. Block accommodation

This is the tool you can use to set accommodations as unavailable. It can be useful if you have several closure periods during the year for example or if you receive booking from other source and wish to update availability without entering the reservation details.

  1. Select which Accommodation types are concerned.
  2. Select which Accommodation numbers are concerned.
  3. Select the date From when the accommodation is unavailable.
  4. Select the date up To when the accommodation is unavailable.
  5. Add a comment if you wish.
  6. Click on Block accommodation

A list of the accommodation you have blocked will be shown.


3. Add a reservation



4. Reservation list

Below is an example of what could be a reservation list:


Reservation sorting and filtering


Column "Reservation status"

  1. If you have set in that you wish to display a reservation number, it will be shown here.

In HBook > Misc > Status of reservations, you can set the default status of the reservations when they are done on your website front-end, added from the admin or imported with the iCal sync. See this section of the documentation for more details.
A reservation can have 4 different status:

  1. Pending: the reservation needs confirmation. A pending reservation do not appear in the calendar of reservation. You can view that status only if you have set in HBook settings->Confirmation settings that a reservation have to be confirmed before dates are blocked out.
  2. Cancelled: the reservation has been cancelled but has not been deleted (you can still access details about this reservation but it will not appear in the calendar).
  3. Confirmed: this can be set as the default reservation status. When clicking on the "Confirm" action, a reservation can change status from "Pending" to "Confirmed" if you accept the request (See Confirmation settings ) or from "New" to "Confirmed" to ackowledge you read it.
  4. New: this can be set as the default reservation status. The reservation has just been received and you have not yet acknowledged you read it (by clicking the green tick).


For more details about the use of the "Confirmation" action, you can check this article of our knowledgebase.

Columns "Check-in/Check-out", "Accommodation type", "Information", "Extras" and "Comment"

  1. To edit the dates of a reservation: click on Edit and then enter the new dates.
  2. To change the accommodation type/number that has been allocated to a reservation: click on Edit and select the new accommodation type/number amongst the available accommodations
  3. To change the number of guests: click on Edit and modify
  4. Here you can see the extra-services selected
  5. To add a comment, click on Add a comment. Comments can be edited too.

Columns "Customer", "Price/Payment", "Actions"

  1. By clicking on "More information", you will see the full customer details. To edit the customer details: click on Edit and add/edit the information.
  2. A reservation can have three payment status:
    • Unpaid: no payment has been made for this reservation
    • Not fully paid: the reservation has been only partly paid (for example only deposit has been paid)
    • Paid: the reservation has been fully paid
  3. All payments information are displayed : amount paid, amount unpaid, discount value, security bond amount.
  4. You can edit the price, the price paid and the remaining balance by clicking on Edit payment. You can as well Mark as paid.
  5. It is possible to add or edit a Discount on the accommodation price or on the global price. You will see the discount info.
  6. If there has been a modification in the price of the reservation (you have edited the dates, number of persons or set a discount), the previous price will be shown with grey background.
  7. You will see an email log for the reservation
  8. There are various actions that can be done for a reservation : Confirm, Cancel, Delete, Send an email, Open a document or Delete. We provide details about each below.

With Stripe payment gateway (only), you can charge or refund a credit card that has been saved: click on Charge and enter the amount to be charged. Or click on "Refund" and enter the amount to refund.


Actions on a reservation


5. Archived Reservations

In order to maintain a readable list of reservation and to improve loading speed, HBook can automatically archive past reservations.

6. Export Reservations

It is possible to export your reservation in .csv file, which can be used for example with Excel.

  1. Filter the reservations you wish to export
  2. Select the Accommodation for which you wish to export
  3. Select the data to be exported from all the reservation and customer info
  4. Click on Download

Customers

In this section of the documentation, you will find information regarding the Customers sub-menu of HBook menu. You can here manually manage the customer details and list.


This is where are listed all your customers. A customer id is associated to a customer email, which means that if a reservation is done with an existing customer email, any information associated to the "Customer" in HBook > Details Form will be updated by HBook if modified.

  1. You can search the customers table. You can as well sort the customers by id or last name
  2. You can check the history of reservations of a customer. If you click on the number of reservations, you will see the list of his reservations with all details
  3. It is possible to edit customer details or as well to delete the customer which will remove it definitely from the list.

  • Any information of the Details Form associated to the "Customer" will be updated each time a new reservation is received with this customer email address. If the field is empty, HBook keeps the previous information. If it is filled, we update the data for the customer.
  • If you work with agents that make bookings for 3rd party, we recommend to create another email field for the booking agent email.
  • If you enter reservations from the back-end, leaving the customer email field empty will allow you to create a new customer only if you wish to.

Documents

In this section of the documentation, you will find information regarding the Documents sub-menu of HBook menu. You can here manually manage the customer details and list.


This is where you can create document templates. In the list of reservation, you will find an action which is "Open document". You can select one of the template documents created and HBook will generate it dynamically. This can be very useful if you wish to print out invoices, contracts, booking record, receipts, etc...

  1. Click on Add new document template
  2. Give a name to the template.
  3. Add the HTML content of your template. You can use all variables listed. For more details about the variables available, see here in the documentation
  4. Do not forget to save.

We have styled the invoice table so if you wish to include a full price breakdown for the reservation, simply use [resa_invoice_table] variable.

Payment gateways add-ons for HBook

HBook includes Stripe and PayPal. We support as well other payment gateways for which we have developped add-ons. View all available payment gateways for HBook.

Please find below documentation for the installation and set up of our add-ons for HBook:


Once you have downloaded the zip of the add-on, you can upload it and activate it in Plugins menu as you would do with any other plugin.

For all payment gateways, two environments are possible:


You can modify any text displayed by the add-ons in HBook > Text. You can add some text at the bottom of the form and for some payment gateways display icons as well.


2Checkout for HBook

  1. Once you have activated 2Checkout for HBook plugin in you need to validate the licence in HBook > Licence.
  2. Set 2Checkout as active payment gateways in HBook > Payments > Active payment gateways
  3. Enter your 2Checkout information in HBook > Payment > 2Checkout settings These settings are the same for Sandbox and Live environment. Only the setting "Live" or "Test" will change the 2Checkout payment environment to real or sandbox payments. You can view both environments transactions in your 2Checkout dashboard.

  4. In your 2Checkout dashboard, -you will find your Merchant ID and your Secret key in Integrations > Webhook and API.

  5. You need to indicate under Integrations > Webhook and API that you "Enable return after sale" and to check the option "Header URL". We take care of the return url ourselves, nothing else to do. This is very important as it will force the redirect to your website once the payment is completed and HBook needs it process the result of the transaction, update the reservation details, send the emails, etc.... See screenshot below:
  • Your Merchand ID and Secret Key are the same for both "Test" and "Live" environment.
  • We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

Authorize.net for HBook

  1. Once you have activated Authorize.net for HBook plugin, you need to validate the licence in HBook > Licence.
  2. Set Authorize.net as active payment gateways in HBook > Payments > Active payment gateways
  3. Enter your Authorize.net information for "Sandbox" or "Live" environment in HBook > Payment > Authorize.net settings These settings are different in Sandbox and Live environment.

  4. In your Authorize.net dashboard, you will need to create a Webhook in Account > Business settings > Webhooks. Please check screenshot below to understand how to set up the Webhook. The "name" does not really matter but the url structure is important : you append "/confirmation-authorize" to your WordPress site url. You will indicate it as "www.domain.com/confirmation-authorize", changing "www.domain.com" to your actual WordPress site url. If you have pre-production and production sites, please make sure you enter each time the correct webhook. In Sandbox Authorize.net dashboard, you enter the pre-production webhook url. In Live Authorize.net dashboard, you enter the production webhook url

  5. Make sure that you are in "Live" mode in Account > Security settings > Test mode. This needs to be always in "Live" even when on Sandbox environment ; else the webhooks are not called. No real transactions will take place when using Authorize.net Sandbox account, even when set to "Live" in Test mode settings. ;-)
We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

How to create a Sandbox Authorize.net and a Live Authorize.net account?
Where to find the Authorize.net API information to be added in HBook > Payments > Authorize.net settings?
  • You will find the API information in your Authorize.net dashboard : Account > Security Settings > API Credentials & Keys. You will need the "API Login ID" and the "Transaction Key". You will as well need to generate a "Signature Key".
  • You need to use the "API Login ID", "Transaction Key" and to create a "Signature Key".
  • Please note that these are different for Sandbox and Live

  • Which test card can I use?

    You can check the list of test cards here.


    What to do when moving from Sandbox to Live transactions for Authorize.net?

    Please note that the url you enter for the Webhook can not be local and it needs to be accessible. For example, if you have a "Maintenance" or "Coming soon" plugin, the notification will not work and HBook will not be able to get the results of the transaction.

    Axepta for HBook - BNP Paribas

    1. Once you have activated Axepta for HBook plugin in you need to validate the licence in HBook > Licence.
    2. Set Axepta as active payment gateways in HBook > Payments > Active payment gateways
    3. Enter your Axepta information in HBook > Payment > Axepta settings For the Test environment, the BNP_DEMO_AXEPTA test account is used by default. The Merchant ID, Blowfish Key and HMAC Key are provided by BNP Paribas. If you only allow credit card payments, you can indicate it in the settings. The customer will be redirected directly to Axepta credit card form screen. Else, the customer will go through Axepta payment method selection screen.
    We use asynchronous notification for the payment status result. Make sure that you are not in local environment, that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    BarclayCard for HBook

    1. Once you have activated BarclayCard for HBook plugin in you need to validate the licence in HBook > Licence.
    2. Set BarclayCard HBook as active payment gateways in HBook > Payments > Active payment gateways
    3. Enter your BarclayCard information in HBook > Payment > BarclayCard settings

      The "SHA-IN passphrase" and "SHA-OUT passphrase" are different for each environment.


    4. In your BarclayCard dashboard, you will find your SHA-IN passphrase in Confirguration > Technical information > Data and origin verification .

    5. You will need to set correctly BarclayCard for the "Transaction feedback" and to get your "SHA-OUT passphase". Please check below what needs to be set in Confirguration > Technical information > Transaction feedback This is very important as it will force the redirect to your website once the payment is completed and HBook needs it process the result of the transaction, update the reservation details, send the emails, etc.... See screenshot below:

    6. It is advisable to do the following for a better design of the payment page :
      • In Configuration > Template > Template selection, choose the "BarclaysResponsivePaymentPageTemplate"
      • In Configuration > Template > File manager, upload a logo.png for the logo of the website to be added to the payment page
    • Your PSPID is the same for both "Test" and "Production" environment.
    • We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    BillPlz Malaysia for HBook

    1. Once you have activated BillPlz for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate BillPlz.
    3. In HBook > Payments > BillPlz settings, you will need to add the Secret Key, the X-Signature key, and the Collection ID.

    How to create a Sandbox BillPlz and a Live BillPlz account?
    How can I find the Collection ID?

    You will create a Collection in the menu "Billing" on your BillPlz dashboard. Then you will be able to copy the Collection ID.

    Where to find the Secret Key and the X-Signature key?

    You will find them in the menu Settings of your BillPlz account.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    1. Once you have activated CardLink for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate CardLink.
    3. In HBook > Payments > CardLink settings, choose if you are using Eurobank/WorldLine, Alphabank/Nexi or CardLink One payment gateway. You will need to add the following information that is communicated by your bank:
    If you wish to pass the customer phone number to CardLink, please have a field with ID "phone_prefix" and a field "phone". You can do so in HBook - Details form.

    Cecabank for HBook

    Cecabank add-on include translation files for Spanish language. If your website/user is in Spanish, you will see the admin and the front-end already translated to Spanish.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    What to do when moving from Test to Live for Cecabank?

    Please note that the url you enter for the "URL online OK" can not be local and it needs to be accessible. For example, if you have a "Maintenance" or "Coming soon" plugin, the notification will not work and HBook will not be able to get the results of the transaction.
    Please note that you will need to update this URL if you have a live environment different from your test environment.

    Clic&Pay for HBook - Crédit du Nord Groupe

    Clic&Pay add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated Clic&Pay for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Clic&Pay.
    3. In HBook > Payments > Clic&Pay settings, set Clic&Pay payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on Clic&Pay Back Office.

    Elavon Converge for HBook

    1. Once you have activated Elavon Converge for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Elavon Converge.
    3. In HBook > Payments > Elavon Converge settings, you will need to add the "Merchant ID", "User ID", "Pin"
    How to create a Sandbox/Demo Elavon Converge account?
    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    Where can I find the PIN for the Elavon converge account?

    The PIN is associated to the user of the terminal. Go to Employees, then select the User. You will be able to find the PIN.


    How can I customize the Payment form on Elavon converge?
    Which Test cards to use?

    You can find the test card details on this page.


    What to do when moving from Sandbox to Live for Elavon Converge?

  • You will need to make sure that you contact Elavon to provide them with your IP address, website URL, and the URL for the Exports script
  • Please note that the "URL for the Exports script" can not be local and it needs to be accessible. For example, if you have a "Maintenance" or "Coming soon" plugin, the notification will not work and HBook will not be able to get the results of the transaction.

    E-Transactions Up2Pay for HBook


    From October 2024, E-Transactions Up2Pay requires to pass the customer phone with the country prefix. This change has been implemented by E-Transactions Up2Pay with little notice for developers to be able to adapt. With the current version of HBook plugin, we do not have a field type for the country phone prefix selection. We plan to add it in the future, but until it is available, we need to work around this for the current version of our integration with E-Transactions Up2Pay. We will update the integration once HBook allows the field type "Phone with prefix selection".

    Here is how it currently works:

    • In HBook - Details form, you need to have a field for the customer phone number, and it needs to have the id "phone".
    • In HBook - Text, you can modify the label for this "Phone" field. We suggest that you add the following text : "For international customers, please include the country code, as in this example : +44-123456789".
    • By default, if there is no "+" sign in the customer phone, we will consider that the customer is from France (since E-Transactions Up2Pay is a solution for french businesses).
    • If the country code is added (as in "+44-123456789"), we will pass it to E-Transactions Up2Pay.

    E-Transactions add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated E-Transactions Up2Pay for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate E-Transactions Up2Pay.
    3. In HBook > Payments > E-Transactions settings, set E-Transactions Up2Pay payment gateway. You will need to add the following information that is communicated by your bank:
    4. You can activate "Chèques Vacances Connect" method. You would need to have signed a contract with ANCV and make sure that you inform E-Transactions that you wish to enable this payment method.

    What are the required customer details fields?

    E-Transactions Up2Pay requires the following fields: 'first_name', 'last_name', 'address_1', 'city', 'country_iso', 'zip_code', 'phone'.


    Where to find the HMAC?

    You will need to generate the HMAC Key from Vision dashboard. Please note that the HMAC key is different for Test (Pré-production) and Live(Production).

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    Instamojo for HBook

    1. Once you have activated Instamojo for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Instamojo.
    3. In HBook > Payments > Instamojo settings, you will need to add the API Key and the Auth token:

    How to create a Sandbox Instamojo and a Live Instamojo account?
    Where to find the API Key and Auth token?

    You will find them in the menu Developers of your Instamojo dashboard..


    Iyzipay for HBook

    1. Once you have activated Iyzipay for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Iyzipay.
    3. In HBook > Payments > Iyzipay settings, you will need to add the API Key and the Secret Key:
    4. In HBook > Details form, you will need to create a new field "buyer_identity". This is a required field for Iyzipay and you have to name it this way in the details form fields, for HBook to be able to recognize it. You can modify the displayed label in HBook > Text > Details form, so you have a proper label for it for your customers.

    How to create a Sandbox Iyzipay and a Live Iyzipay account?
    Where to find the API Key and Secret Key?

    You will find them in the menu Settings > Merchant settings of your Iyzipay dashboard..


    Lyra for HBook

    Lyra add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated Lyra for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Lyra.
    3. In HBook > Payments > Lyra settings, set Lyra payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on Lyra Back Office.

    MercadoPago for HBook

    MercadoPago add-on include translation files for Spanish language. If your website/user is in Spanish, you will see the admin and the front-end already translated to Spanish.

    1. Once you have activated MercadoPago for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate MercadoPago.
    3. In HBook > Payments > MercadoPago settings, you will need to add the following information:
    Where to find the Access Token?

    You will find the Access Token in the Dashboard or in the MercadoPago menu Tu Negocio> Configuración> Gestión y Administración> Credenciales.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    Mercanet for HBook

    Mercanet add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated Mercanet for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate MercadoPago.
    3. If you are in Test environment, there is no other settings needed.
    4. If you are in Live environment, you will need to add the following information. The Merchant ID is providede by BNP Paribas Mercanet.
    Where to find the Secret Key and Version Key for Live environment?

    You will find instructions to retrieve your Secret Key and Version Key here on BNP Paribas Mercanet documentation.

    Which Test cards to use?

    You can find the test card details in this section from BNP Paribas Mercanet documentation.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    Mollie for HBook

    Mollie add-on include translation files for Dutch language. If your website/user is in Dutch, you will see the admin and the front-end already translated to Dutch.

    1. Once you have activated Mollie for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Mollie.
    3. In HBook > Payments > Mollie settings, set Mollie payment gateway. You will need to add the following information:

    Where to find the API Keys?

    You will find them in the menu Developers of your Mollie dashboard. See Mollie help article.


    Which payment methods available on Mollie are supported by HBook?

    Please find below the list of payment methods you can activate and that will work with HBook:

    The following methods are not supported:

    • Please note that you can not test Mollie in localhost or with a "Coming soon" or "Maintenance" plugin. See this help article from Mollie.
    • We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".


    Montonio for HBook

    1. Once you have activated Montonio for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Montonio.
    3. In HBook > Payments > Montonio settings, set Montonio payment gateway. You will need to add the following information:
    4. If you wish to show the Credit cards option in the payment methods, you will need to have completed the Stripe onboarding through Montonio's Partner System, for your customers to pay with Credit cards.

    Where to find the API Keys?

    You will find them in the menu API Keys of your Montonio Store dashboard. Please note that you will have a set of keys for the "Sandbox" environment and another set for the "Live" environment..


    • We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".


    Monetico - Crédit Mutuel, CIC, Desjardins

    Monetico add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated Monetico for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Monetico.
    3. In HBook > Payments > Monetico settings, you will need to add the following information:
    4. If you have selected the "Retour immediat" option of Monetico, contact Monetico to provide them with your return url. It will always be following the format: https://mysite.com/confirmation-monetico. Please note that you will need to contact them again to update the "Url de retour" if you have a live environment different than your test environment.

    Which credit card can I use for Test environment?

    When redirected to the Monetico page to pay, you will see a "Test cards" button. This will autofill the credit card data for testing. You can simulate various situation. More details here.


    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    OnePay Vietnam for HBook

    1. Once you have activated OnePay for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate OnePay.
    3. In HBook > Payments > OnePay Vietnam settings, set if you are in "Test" or "Live" mode.
    4. If you are in Test environment, there is no other settings needed.
    5. If you are in Test environment, you will need to add the following information that is communicated by OnePay: Merchant ID, Access code and Hash key.
    6. You will need to set these for each Domestic and International payments.

    PayBox for HBook

    PayBox add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated PayBox for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayBox.
    3. In HBook > Payments > PayBox settings, set PayBox payment gateway. You will need to add the following information that is communicated by your bank:

    Where to find the HMAC?

    You will need to generate the HMAC Key from Vision dashboard. Please note that the HMAC key is different for Test (Pré-production) and Live(Production).

    Activate the Automatic return to the merchant site

    You will need to contact PayBox to activate the automatic return to the merchant site ("retour immédiat vers la boutique").


    PayFast for HBook

    1. Once you have activated PayFast for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayFast.
    3. In HBook > Payments > PayFast settings, you will need to add the following information that is communicated by PayFast: Merchant ID, Merchant Key and Salt Passphrase.

    Where to find my Merchant ID and Merchant key?

    You can find the steps to create your Merchant ID and Merchant Key in in this help article from PayFast.

    How do I create my Salt Passphrase to use?

    You can find the steps to create your Salt Passphrase in in this help article from PayFast.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PayLine for HBook

    PayLine add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated PayLine for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayLine.
    3. In HBook > Payments > PayLine settings, set PayLine payment gateway. You will need to add the following information that is communicated by PayLine:

    Which Test cards to use?

    You can find the test card details in this help article fromPayLine.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PayPlug for HBook

    PayPlug add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated PayPlug for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayPlug.
    3. In HBook > Payments > PayPlug settings, set PayPlug payment gateway. You will need to add the Secret Key that can be found in PayPlug dashboard:
    4. You can customize the look and feel of the PayPlug payment page directly in PayPlug dashboard.

    Where to find the Secret Key?

    You will find it in the menu Settings > API keys of your PayPlug dashboard. Make sure you enter the "TEST key" in "Test" mode and the "LIVE" key in "Live" mode.

    Which Test cards to use?

    You can find the test card details in this help article from PayPlug.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    Payrexx for HBook

    Payrexx add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated PayRexx for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Payrexx.
    3. In HBook > Payments > Payrexx settings, set Payrexx payment gateway. You will need to add the following information that is communicated by Payrexx:
    4. You can customize the look and feel of the Payrexx payment page directly in Payrexx dashboard.

    How to switch from Test to Live mode?

    Payrexx works with one account only, not a demo/test account and a live account. To set that an API integration is in "test" mode, you actually need to set each PSP in test mode individually.You will do so in your Payrexx Account under Payment Provider - Configure. We recommand generating a second API integration, alongside the default one. One would be used for "Test" environment and the other for the "Live". In HBook Payments - Payrexx settings, you will then be able to indicate the instance name and API key for both "Test" and "Live".

    Where to find the Instance name and API key? Which Test cards to use?

    You can find the test card details in this help article from Payrexx.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PaySera for HBook

    1. Once you have activated PaySera for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PaySera.
    3. In HBook > Payments > PaySera settings, you will need to add the following information that is communicated by PaySera: Project ID and Sign password.
      • In your Paysera account, go to Projects and Activities > My projects, click on Project settings > Payment collection service settings and check the following boxes:
      • Allow test payments
      • Accept inflows from any informational system (query website address will not be checked)

    Where to find my Project ID and Sign password?

    You can find the steps to create your Project ID and Sign password in this help article from PaySera.

    Which payment methods available on Paysera are supported by HBook?
    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PayU for HBook (Poland, Hungary, Czech Republic)

    1. Once you have activated PayU for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayU.
    3. In HBook > Payments > PayU settings, you will need to add the following information that is communicated by PayU: POS ID, MD5 Key, Client ID and Client Secret.

    How to create a Sandbox PayU.com account?

    You can create a Sandbox Account from here.

    Which Test cards to use?

    You can find the test card details in this section of PayU documentation.

    Where to find my POS ID, MD5 Key, Client ID and Client Secret?

    You can find these credentials in the POS tab, once you edit your Shop in Online payments > My shops.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PayU for HBook (Romania, Rusia)

    1. Once you have activated PayU for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayU.
    3. In HBook > Payments > PayU settings, you will need to add the following information that is communicated by PayU: POS ID, MD5 Key, Client ID and Client Secret.
    4. In Pay U dashboard, in the IPN settings tab in Account management > Account settings, you need to setup PayU IPN. It will always be following the format: https://mywebsite.com/confirmation-payuroru. You will modify "mywebsite" with your own domain name.
    5. .

    Which Test cards to use?

    You can find the test card details in this section of PayU documentation.

    Where to find my Merchant Code and Secret Key?

    You can find these credentials in the API Keys tab in Account management > Account settings.

    We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".

    PayULatam for HBook

    PayULatam add-on include translation files for Spanish language. If your website/user is in Spanish, you will see the admin and the front-end already translated to Spanish.

    1. Once you have activated PayULatam for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayULatam.
    3. In HBook > Payments > PayULatam settings, you can set PayULatam payment gateway. You will select your country.
    4. If you are in Test environment, there is no other settings needed.
    5. If you are in Live environment, you will need to add the following information:

    Where to find the Merchant ID, API Key and Account ID?

    Please refer to this help article from PayULatam.


    PayUMoney for HBook

    1. Once you have activated PayUMoney for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayUMoney.
    3. In HBook > Payments > PayUMoney settings, you can set PayUMoney payment gateway.

    Where to find the Key and Salt?

    You will find the Key and Salt values in your PayUMoney dashboard. Please make sure you enter Test Key and Test Salt when you are in Test environment but Live Key and Live Salt when you switch to Live environment.


    PayZen for HBook

    1. Once you have activated PayZen for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate PayZen.
    3. In HBook > Payments > Payzen settings, set PayZen payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on PayZen Back Office.

    RedSys for HBook

    RedSys add-on include translation files for Spanish language. If your website/user is in Spanish, you will see the admin and the front-end already translated to Spanish.

    1. Once you have activated RedSys for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate RedSys.
    3. In HBook > Payments > RedSys settings, set RedSys payment gateway. You will need to add the following information that is communicated by your bank:

    Scellius for HBook - La Banque Postale

    Scellius add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated Scellius for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Scellius.
    3. In HBook > Payments > Scellius settings, set Scellius payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on Scellius Back Office.

    SogeCommerce for HBook - Société Générale

    SogeCommerce add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated SogeCommerce for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate SogeCommerce.
    3. In HBook > Payments > SogeCommerce settings, set SogeCommerce payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on SogeCommerce Back Office.

    Square for HBook

    1. Once you have activated Square for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Square.
    3. In HBook > Payments > Square settings, set Square payment gateway. You will need to add the following information:

    Where to find the Location ID and Access token? Which cards to use to test Sandbox environment?

    You can find the test card details here.

      We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".


    SystemPay for HBook - Caisse d'Épargne and Banque Populaire

    SystemPay add-on include translation files for French language. If your website/user is in French, you will see the admin and the front-end already translated to French.

    1. Once you have activated SystemPay for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate SystemPay.
    3. In HBook > Payments > SystemPay settings, set SystemPay payment gateway. You will need to add the following information:
    4. You will find the Shop ID and Keys in Paramétrage > Boutiques > Clés. If you wish to enable "Cheques-Vacances Connect" payment method on HBook, make sure that you are providing the "Shop ID" and "Key" of your CVCO account on SystemPay Back Office.

    Viva Wallet for HBook

    1. Once you have activated Viva Wallet for HBook plugin, you need to validate the licence in HBook > Licence.
    2. In HBook > Payments > Active payment gateways, you will activate Viva Wallet.
    3. In HBook > Payments > Viva Wallet settings, set Viva Wallet payment gateway. You will need to add the following information:
    4. In Viva Wallet dashboard, you will need to create a webhook. Navigate to Settings > API Access and go to the tab Webhooks. You will need to indicate :
      • the URL of the webhook. You will indicate it as "www.domain.com/confirmation-vivawallet", changing "www.domain.com" to your actual WordPress site url.
      • set it as "Active"
      • select the event type "Transaction Payment Created"

    Do I need to whitelist VivaWallet IPs? Where can I get information ?

    If you have troubles to verify your Webhook url, you should whitelist VivaWallet IPs to make sure you receive the webhook call. You can find the list of VivaWallet IPs here.


    How to create a Sandbox Viva Wallet account ?

    You can create a Sandbox Account from here.


    How to create a Live Viva Wallet account ?

    You can create your Live Account from here.


    Where to find the Source Code, Merchant ID, API Key, Client ID and Client Secret, ?

    Which cards to use to test Sandbox environment?

    You can find the test card details here.

      We use asynchronous notification for the payment status. Make sure that you do not have any "Maintenance" plugin active when you test and that your permalinks structure in Settings - Permalinks is set to "Post name".


    Plugin Customization

    In order to facilitate customization different filters and actions have been created. We recommend that you insert your customization code in the functions.php of your child theme to make sure it is not erase on plugin or theme update.

    Filters for the accommodation type post

    Filters for the search form

    Filters for the accommodation selection

    Filters for the extra-services selection

    Filters for the details form

    Filters for the payment section

    Filters for the summary and book now area

    Filters for the invoice table

    Filters for the actions associated to the reservation and customer

    Filters for the shorcodes [hb_accommodation_list], [hb_rates], [hb_availability]

    Filters for HBook additional roles (reservation reader, reservation manager, pricing manager, HBook manager)

    Filters for automatic emails

    Various

    Js functions

    HBook plugin also try to call these two global JavaScript functions:


    hb_accommodation_taxonomies

    This filter is applied to the taxonomies parameter which is passed to the register_post_type function used for creating the Accommodation custom post type.

    Parameter:

    Example:
    Adding categories to the Accommodation posts.

    function categories_for_accommodation( $taxonomies ) {
    	$taxonomies[] = 'category';
    	return $taxonomies;
    }
    add_filter( 'hb_accommodation_taxonomies', 'categories_for_accommodation' );
    

    Please note that by default posts using a custom post types are not included in archive pages. To add them (if you wish to have a page for a category for example), you will need to add the following code:

    function hbook_add_custom_types( $query ) {
    	if( (is_category() || is_tag()) && $query->is_archive() && empty( $query->query_vars['suppress_filters'] ) ) {
    	$query->set( 'post_type', array(
    	'post', 'hb_accommodation'
    		));
    	}
    	return $query;
    }
    add_filter( 'pre_get_posts', 'hbook_add_custom_types' );
    
    


    hb_accommodation_has_archive

    This filter is applied to the has_archive parameter which is passed to the register_post_type function used for creating the Accommodation custom post type.

    Parameter: none

    Example:
    To disable the archive for the accommodation post types:

    function hb_disable_archive() {
    	return false;
    }
    add_filter( 'hb_accommodation_has_archive', 'hb_disable_archive' );
    


    hb_accommodation_supports

    This filter is applied to the supports parameter which is passed to the register_post_type function used for creating the Accommodation custom post type.

    Parameter:

    Example:
    Adding support for excerpts to the Accommodation posts.

    function support_for_excerpts( $supports ) {
    	$supports[] = 'excerpt';
    	return $supports;
    }
    add_filter( 'hb_accommodation_supports', 'support_for_excerpts' );
    


    hb_search_form_markup

    This filter is applied to the HTML mark up of the form which is used for searching available accommodation.

    Parameters:


    hb_search_form_title

    This filter is applied to the title of the search form.

    Parameter:

    Example:

    function change_title_tag( $title ) {
    	return str_replace( 'h3', 'h2', $title );
    }
    add_filter( 'hb_search_form_title', 'change_title_tag' );
    


    hb_extra_name

    This filter is applied to the name of each extra service (extra services are displayed as a list after the accommodation selection).

    Parameter:


    hb_extras_form_markup

    This filter is applied to the HTML mark up of the form which displays extra services.

    Parameter:


    hb_resa_extra_formatting

    This filter is applied to the name of each chosen extra service (in emails sent by HBook).

    Parameter:


    hb_details_form_markup

    This filter is applied to the HTML mark up of the form which is used for getting the customer details.

    Parameter:


    hb_payment_types

    This filter is applied to the set an order for the payment types listed when a choice is offered to the customer.

    Parameter:

    Example:
    Changing the default order to have the offline option as last one.

    function custom_payment_type_order( $types ) {
    	$types = array( 'deposit', 'full', 'store_credit_card', 'offline' );
    	return $types;
    }
    add_filter( 'hb_payment_types', 'custom_payment_type_order' );
    


    hb_stripe_credit_cards_icons

    This filter is applied to the set which credit card icons you wish to display in the Stripe payment form.

    Parameter:

    Example:
    Display only visa and mastercard icons.

    function custom_stripe_payment_icons( $types ) {
    	$icons = array( 'visa', 'mastercard' );
    	return $icons;
    }
    add_filter( 'hb_stripe_credit_cards_icons', 'custom_stripe_payment_icons' );
    

    hb_policies_area_markup

    This filter is applied to the part of the booking form where customers aknowledge Privacy policy, Terms and conditions.

    Parameter:

    Example:
    Add a checkbox to signup to a MailChimp newsletter. This requires MC4WP plugin and custom integration. Please check this article of our knowledgebase.

    function add_mailchimp_to_details_form( $output ) {
        $output .= '<h3 class="hb-title hb-title-terms">Our newsletter</h3>';
        $output .= '<p>';
        $output .= '<label>';
        $output .= '<input type="checkbox" name="mc4wp-subscribe" value="1" />';
        $output .= 'Yes! Subscribe me to the your monthly newsletter.</label>';
        $output .= '</p>';
        return $output;
    }
    
    add_filter( 'hb_policies_area_markup', 'add_mailchimp_to_details_form' );
    


    hb_invoice_table_style

    This filter is applied to the invoice table styles. You can find these styles in wp-content/plugins/hbook/utils/utils.php. Look for the function "get_invoice_table".

    Parameters


    hb_create_reservation

    This action fires when a new reservation is added to the reservation database table.

    Parameter:


    hb_create_customer

    This action fires when a new customer is added to the customer database table.

    Parameter:


    hb_reservations_updated

    This action fires whenever the reservations database table is updated.

    Parameter: None.


    hb_blocked_accom_updated

    This action fires whenever the blocked accommodation database table is updated.

    Parameter: None.


    hb_accommodation_list_markup

    This hook can be used to modify the display of the accommodation list.

    Parameter:

    Example:
    For the accommodation list thumbnail to open the accommodation type post in the same tab.

    In the functions.php of your child theme add:

    			function change_target_self( $output ) {
    				return str_replace( '_blank', '_self', $output );
    			}
    			add_filter( 'hb_accommodation_list_markup', 'change_target_self' );
    			


    hb_resa_manager_capabilities

    This filter is applied to the list of capabilities of the reservation manager.

    Parameter:

    Example:
    If your theme redirect automatically the user with "read" capability to the front-end, you shoudl add capabilities that are for Contributor or Author, depending on your theme. To view a full list of WordPress roles and capabilities, please refer to https://codex.wordpress.org/Roles_and_Capabilities

    	function hb_add_capabiliites_to_manager( $capabilities ) {
    		$added_capabilities = array( 'edit_posts', 'delete_pots' );
    		$capabilities = array_merge( $added_capabilities, $capabilities );
    		return $capabilities;
    	}
    	add_filter( 'hb_resa_manager_capabilities', 'hb_add_capabiliites_to_manager' );
    	


    hb_email_actions

    This filter is applied to the list of actions that are shown in the column "Send on" of the email templates in HBook > Emails.

    Parameter:

    Example:
    function add_action_to_email_actions( $actions ) {
    	$actions[] = array(
    		'action_value' => 'resa_marked_paid',
    		'action_text' => esc_html__( 'Reservation marked as paid', 'hbook-admin' ),
    	);
    	return $actions;
    }
    add_filter( 'hb_email_actions', 'add_action_to_email_actions' );
    

    Then in the function public function hb_update_resa_paid() that you will find towards in hbook/admin-pages/admin-ajax-actions.php, you will add:

    $this->utils->send_email( 'resa_marked_paid', $_POST['resa_id'] );
    The function would be then:
    public function hb_update_resa_paid() {
    	if ( $this->hb_verify_nonce() && $this->hb_user_can_manage_resa() ) {
    		if ( $this->hbdb->update_resa_paid( $_POST['resa_id'], $_POST['resa_price'], $_POST['resa_paid'] ) !== false ) {
    			echo( 'paid updated' );
    			$this->utils->send_email( 'resa_marked_paid', $_POST['resa_id'] );
    		} else {
    			echo( 'Database error.' );
    		}
    	}
    	die;
    }
    


    hb_scheduled_min_hour

    Automatics emails are triggered, by default, between 7am and 11pm (timezone set in WordPress Settings), as soon there is a visit on your website (admin or front-end).
    Default is 7 (7am). Expect a number between 0 and 23.

    Parameter: None.

    Example:

    function change_minimum_scheduled_hour() {
    	return 9;
    }
    add_filter( 'hb_scheduled_min_hour', 'change_minimum_scheduled_hour' );
    


    hb_scheduled_max_hour

    Automatics emails are triggered, by default, between 7am and 11pm (timezone set in WordPress Settings), as soon there is a visit on your website (admin or front-end).
    Default is 23 (11pm). Expect a number between 0 and 23.

    Parameter: None.

    Example:

    function change_maximum_scheduled_hour() {
    	return 20;
    }
    add_filter( 'hb_scheduled_max_hour', 'change_maximum_scheduled_hour' );
    


    hb_language_list

    This filter is applied to the list of languages managed by HBook in a multi-language website.

    Parameter:

    Example:
    If you are using a multi-language plugin that is not Polylang or WPML and for which the languages are not detected automatically by HBook:

    function new_language_list( $langs ) {
    	$added_languages = array(
    			'fr_FR' => 'French',
    			'it_IT' => 'Italian',
    			'es_ES' => 'Spanish',
    			'de_DE' => 'German'
    	);
    	$langs = array_merge( $added_languages, $langs );
    	return $langs;
    }
    add_filter( 'hb_language_list', 'new_language_list' );
    


    hb_uncompleted_resa_deletion_delay

  • Expect a returned value as: (integer + "MINUTE" or "HOUR") the delay before HBook delete a reservation that was not completed and is shown as "Processing" status (the customer closed the tab, left the payment process, etc.). By default, HBook delete these uncompleted resrevation after 1 hour.
  • Example:
    Deleting uncompleted reservations after 30 MINUTE.

    function custom_uncompleted_resa_deletion_delay( $default_delay ) {
    	return '30 MINUTE';
    }
    add_filter( 'hb_uncompleted_resa_deletion_delay', 'custom_uncompleted_resa_deletion_delay' );
    


    hb_old_resa_logs_deletion_delay

    Example:
    Retaining logs for 28 DAY.

    function custom_resa_logs_deletion_delay( $default_delay ) {
    	return '28 DAY';
    }
    add_filter( 'hb_old_resa_logs_deletion_delay', 'custom_resa_logs_deletion_delay' );
    


    hb_retina_scale_factor

    Parameter:

    Example:
    Displaying images ready for 3x retina devices.

    function custom_retina_scale_factor( $retina_scale_factor ) {
    	return 3;
    }
    add_filter( 'hb_retina_scale_factor', 'custom_retina_scale_factor' );
    


    hb_image_sizes

    Parameter:


    hb_ical_additional_info

    Parameter:



     

    JavaScript functions

    hbook_show_accom_list

    HBook plugin tries to call this function whenever the list of available accommodation is shown.

    Example:
    Launching a JavaScript function after the list of available accommodation has been shown.

    In the functions.php of your child theme add:

    add_action( 'wp_enqueue_scripts', 'enqueue_my_js_scripts' );
    
    function enqueue_my_js_scripts() {
    	wp_enqueue_script( 'my-script', get_stylesheet_directory_uri() . '/my-script.js', array(), null, true );
    }
    
    and in the child theme directory create a my-script.js file that contains:
    function hbook_show_accom_list() {
    	my_js_function();
    }
    

    hbook_reservation_done

    HBook plugin tries to call this function whenever a reservation is successfully completed by a customer.

    Example:
    Launching a JavaScript function after a reservation has been made. This can be used if you have conversion or tracking code for example.

    In the functions.php of your child theme add:

    add_action( 'wp_enqueue_scripts', 'enqueue_my_js_scripts' );
    
    function enqueue_my_js_scripts() {
    	wp_enqueue_script( 'my-script', get_stylesheet_directory_uri() . '/my-script.js', array(), null, true );
    }
    
    and in the child theme directory create a my-script.js file that contains:
    function hbook_reservation_done() {
    	my_js_function();
    }
    

    FAQ

    Find an immediate answer to many Frenquently Asked Question in our knowledgebase