# Theme Modules

Though it is a good idea to style all QloApps modules in your theme, it is not required. Depending upon the purpose of your theme you may only target specific modules and leave out the others. The modules which you choose to style must have their own copies of template and CSS files. You may also have to create new modules from scratch for specific needs in your theme. We recommend to prefix all such module names (both technical and display names) with a common word for proper organization of modules in case of multiple themes.

Here is the list of modules in the order of importance which will help you choose which modules to design for your theme.

# Necessary modules

These modules are strictly required for proper functioning of QloApps.

Module Why it is necessary
blockcart Displays the complete booking and payment process.
blockuserinfo Displays the information about customer.
wkroomsearchblock Displays the room search block on various pages.

# Must-have modules

These modules are not required for functioning of QloApps but are recommended to be styled for your theme because they provide a complete user experience to the customer.

Module Why it is necessary
blockcurrencies Displays currency selector block.
blocklanguages Displays language selector block.
productcomments (before v1.6.0) Manages reviews at front office.
qloblockcontact (since v1.6.0) Displays contact details at the top.
qlohotelreview (since v1.6.0) Manages hotel wise reviews at front office.
wkabouthotelblock Displays Interior block on homepage.
wkhotelfeaturesblock Displays Amenities block on homepage.
wkhotelroom Displays Our Rooms block on homepage.
wktestimonialblock Displays What Our Guests Say? block on homepage.

# Good-to-have modules

These modules are not as much important as previous ones but add a lot of value to your website. They help customers explore your website and learn more about it. You should design your theme with these modules installed and activated.

Module Why it is necessary
blockmyaccount Displays account related links for logged in customers.
blocknavigationmenu Displays navigation links in sidebar and footer.
blocknewsletter Displays newsletter subscription form in footer.
blocksocial Displays social media links in footer.
wkfooteraboutblock Displays About block in footer.
wkfooterlangcurrencyblock Provides hook for the left most block in footer.
wkfooternotificationblock Provides hook for notifications in footer.
wkfooterpaymentblock Displays Payment Accepted block on footer.
wkfooterpaymentinfoblockcontainer Provides hook for the payment block in footer.
wkhotelfilterblock Displays filters block on search results page.

The template files for these modules can be found either in the module's directory or theme's /modules directory. For templates which are loaded from the module just override it in you theme as explained in detail here.

To start modifying template files for your theme start with a module and finish all the templates used by it. Then move on to the next module. This allows you to keep track if the changes integrate properly with your theme.

Always create enough demo data and use proper configuration from back office for the page you are working on so that all the applicable cases are handled. For example, if you are working on Room type detail page it is important to have at least one room type with proper details like its name, description set and at least one room configured for it so that options such as Book Now form and Room information section are available.