Personal tools


Domain Orders Extended For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About Domain Orders Extended For WHMCS

Domain Orders Extended For WHMCS allows you to group domains into categories and perform bulk actions on multiple domains.

You will be free to import predefined sets of TLDs, apply easily adjustable domain labels, plus regulate the priority and order of TLDs.
The module lets your clients perform multiple lookup and checkout for domain names in a single request, browse suggestions powered by 7 built-in domain spinners.
In addition, the module supports gTLDs and ccTLDs allowing your customers to conveniently order their favorite domain names without leaving your website.

  • Client Area Features:
✔ Supports Four External Domain Search Types
✔ Fast Cron Domain Lookup
✔ Simultaneous Domain Searches In Multiple Spinners
✔ Search For Various Domain Names In Bulk - "Lagom" And "List View" Search Types
✔ Perform Bulk Actions:
✔ Add All Domains To Cart
✔ Transfer All Domains
✔ Register All Domains
✔ Display Domain Name Suggestions
✔ Display Domain Labels
✔ Display TLDs Basing On Defined Prioritization And Order
✔ Display Dynamic Prices Of Premium Domains Based On Registrar Values And WHMCS Price Markups
✔ Display TLD Prices To Client Groups Based On Set Pricing Slabs
✔ Multiple Checkout Of Domains In One Request
  • Admin Area Features:
✔ Group TLDs Into Categories & Subcategories
✔ Set Promoted Categories And TLDs
✔ Set Order Of Categories, Subcategories And TLDs
✔ Perform Bulk Changes On Multiple TLDs:
✔ Change TLD Categories And Registrars
✔ Set Domain Pricing For Default And Custom Slab Groups
✔ Set Domain Grace And Redemption Periods Pricing
✔ Set Domain Labels
✔ Set Domain Addons And EPP Code
✔ Toggle Promoted TLDs
✔ Delete TLDs From Categories
✔ Quickly Preview TLD's Pricing
✔ Import TLD Sets To Categories From Predefined List
✔ Choose Domain Lookup Submodules:
✔ Default Or Custom WHMCS Provider
✔ CPS-Datensysteme GmbH
✔ Enom
✔ OpenSRS
✔ NetEarthOne
✔ ResellerCamp
✔ ResellerClub
✔ Add Your Own Lookup Submodules
✔ Set TLDs Searched By Default
✔ Toggle Premium Domains
✔ Toggle Search Of Domain Suggestions
✔ Define Returned Suggestions Limit
✔ Toggle Search Results Pagination - "Lagom" And "List View" Search Types
✔ Define Number Of Records To Show
✔ Select Default Label For Premium Domains
✔ Add Customized TLD Labels:
✔ Set Label Title
✔ Adjust Label Priority
✔ Apply To Premium Domains Only
✔ Set Text And Background Color
✔ Choose Domain Search Type:
✔ List View
✔ General Category View
✔ Multi Category View
✔ Lagom - List View
✔ Lagom - General Category View
✔ Lagom - Multi Category View
✔ Configure Cron Domain Lookup:
✔ Define Number Of Simultaneous Processes
✔ Define Number Of Search Records Per Process
✔ Import TLDs From CSV File
✔ Export TLDs To CSV File
✔ Toggle Debug Mode
✔ View Logs
  • General Info:
✔ Requires Server With PHP "PCNTL FORK" Support
✔ gTLDs & ccTLDs Support
✔ IDN Support
✔ Drag & Drop Component Support
✔ Fully Integrated With Lagom WHMCS Client Theme
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.10 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version


This tutorial will show you how to successfully install Domain Orders Extended For WHMCS.

We will guide you step by step through the whole installation and configuration process.

Note: If you are still using any of the module's previous versions prior to v3.x, follow these instructions.

1. Log in to our client area and download the module.
DOE3 1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.

PHP72 74.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.
Note: Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

DOE3 2 2.png
4. When you install Domain Orders Extended For WHMCS for the first time you have to rename 'license_RENAME.php' file.

You can find it in 'modules/addons/DomainOrdersExtended/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

DOE3 3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.

DOE3 4.png
6. Now, set up the 'storage' folder as recursively writable.

This folder should be available at 'your_whmcs/modules/addons/DomainOrdersExtended/' . If not, create one manually.

DOE3 6 2.png
7. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Go to 'Setup' 'Addon Modules'.
Afterwards, find 'Domain Orders Extended' and press 'Activate' button.

DOE3 5.png
8. In the next step you need to permit access to this module.

To do so, click on 'Configure' button, select administrator groups which should have access to this addon and press 'Save Changes'.

DOE3 6.png
9. You have just successfully installed Domain Orders Extended For WHMCS!

You can access your module in 'Addons' 'Domain Orders Extended'.

Configuration and Management

Domain Orders Extended will help you with the management of your domains and their pricing.

It will also reduce the time required for performing actions on domains due to the implemented bulk actions feature.
Additionally, you can group TLDs into categories and select TLDs assigned to a given registrar.

TLDs Configuration

In 'TLDs Configuration' tab you can view all the information related to your domains, such as: categories, assigned registrars, prices and labels.

By default, the 'Unassigned' category is created where not yet assigned TLDs are stored.

DOE3 7.png

Add Category

Let's start with creating a category, go to your addon → 'TLDs Configuration'.

Click on 'Add TLDs Group' button, enter the category name into the 'Title' field.
You can also decide whether this category is to be promoted on the top domain search list, regardless of the specified order.
Note that a category can also be created as a subcategory of another category. Click here to see an exemplary result.
Press the 'Add Category' button when ready.

DOE3 2 8.png
You can also edit or delete a created category at any time by clicking on the corresponding button in the upper right corner.
DOE3 2 8 2.png

Assign TLDs

In order to add new TLDs to a category, press the 'Assign TLDs' button.

You can assign multiple TLDs at once and decide whether the searched domains should be promoted at the top within this category, regardless of the order of the remaining, not promoted TLDs.
Afterwards, press the 'Assign TLDs' button.
Note: The given TLD can be assigned to only one category at a time.

DOE3 2 9.png

Edit TLD Configuration

Click the 'Edit TLD Configuration' button to access the settings of the selected TLD.

Here you can change the category to which a given TLD belongs, set the domain registrar, assign labels or decide whether to promote searched domains on top of the category.

DOE3 2 10.png

Edit TLD Pricing

In the Edit TLD Pricing tab, you can set the domain pricing for each of registration periods in each available currency per every active domain pricing slab.

In addition, if you put:

  • -1 (minus one) value in the chosen field, then it will be treated as disabled. E.g. provide -1 for transfer pricing to completely disable the possibility of domain transfers with that TLD.
    Important: If you provide -1 value for registration pricing, then the whole TLD will be treated as disabled, including transfer and renewal pricing.
  • 0 (zero) value in the chosen field, then it will be treated as free. E.g. provide 0 for registration pricing if you want to offer the selected TLD for free, but with paid transfers and renewals.
  • any value above 0 (zero) will be of course treated as paid.

Please also note that the prices may be applied to any active custom domain pricing slab.
Still, you need to manually activate the slabs directly in WHMCS and set the pricing for every TLD firstly, these are applied according to the settings of the client groups.

In addition, in case of using the WHMCS Premium Domains feature, the price of a domain will be fetched directly from the registrar API and adjusted according to the WHMCS price markups.

DOE3 2 17.png

Edit Grace and Redemption Periods Pricing

This option allows to set up and edit the Domain Grace and Redemption Periods fees and duration.
If you have already set up Grace/Redemption Periods in WHMCS, the values will be overwritten by the module.

Note: This option is available for WHMCS V7.5 and later. If you are using previous version of the system, you will not have access to this feature.

DOE3 2 18.png

Bulk Actions

Our module allows you to perform actions simultaneously on multiple TLDs.

You can mass edit TLDs configuration, pricing or delete TLDs from the assigned categories.
Simply select multiple extensions on which you want to perform actions and choose the corresponding button from the displayed menu.

DOE3 15.png

Order of Categories and TLDs

Using drag & drop allows you to change the order of the categories, subcategories and TLDs.

This enables you to decide on the order in which categories and TLDs appear in the domain search list.
Note: Promoted categories (marked with stars) and TLDs are always on top regardless of the specified order.

To change the order, simply grab the chosen item and drag it to the desired location.

DOE3 19.png
After dragging, the new order is automatically saved.
DOE3 20.png

Depending on the selected domain search type, the order of TLDs display in search results will be set in the following sequence (from the most important to least):

  1. Promoted categories
  2. Categories order on the list
  3. Promoted TLDs
  4. TLDs with labels
  5. TLDs order on the categories list

Predefined TLD Sets

You can install predefined sets of TLDs. Proceed to 'Predefined TLD Sets' tab.

As you can see, TLDs are sorted into categories. Some of them can have their own subcategories.
Choosing a parent category will also show all the TLDs belonging to their subcategories.
Click the 'select all' checkbox or mark the single TLD that belong to a selected category and press 'Add TLDs' .

DOE3 25.png
Now you can create a new category from the set with the same name or add the selected TLDs to one of the previously created categories or subcategories in the 'TLDs Configuration' .

Press 'Add TLDs' when ready.

DOE3 26.png


In 'Settings' tab you are able to define behavior of the module domain search, suggestions as well as configure the lookup cron.

Module Settings

Here you can set up domain searching and suggestions' behavior in the client area. These options are:
  • Replace Standard Registrar With Module Order Form - if enabled, the default domain lookup page in the client area will be replaced with the module's customized one.
    Otherwise, the standard WHMCS lookup page will be used and you will have to access the module lookup using an external URL.
  • Enable Premium Domains - decide whether to enable or disable the premium domains purchases.
  • Enable Bulk Search - enable the option to search domains in bulks with all the available search types.
  • Enable Results Pagination - Select to enable pagination of search results. Keep in mind that this option is available for 'Lagom' and 'List View' search types only.
    • Number Of Records To Show - Define a maximum number of records to show in a single results load. View further records by pressing 'Show More Results' button.
  • TLDs Searched By Default - select the TLDs you want to be searched by default when the client enters the domain without specifying the search results.
    If left empty, all supported TLDs will be searched at once.
  • Domain Search Type - select one of four available domain search views in the client area:
    • List View - all searched domains will be displayed in a single list, regardless of their categorization
    • General Category View - the display of the searched domains will be allocated between the main categories, without specifying the subcategories
    • Multi Category View - all searched domains will be split into the main categories and their subcategories
    • Lagom - searched domains will be displayed in a single list in an alphabetical order

Note: Check the 'Client Area' section to see the visual differences between the domain search types.

  • Suggestions Lookup - select the provider you want to use in order to search for domain suggestions, remember they must have been previously configured in the 'Submodules' settings
    • Disabled - choose if you do not want to display domain suggestions
    • WHMCS Lookup Provider - the default WHMCS provider will be used or any other that has been configured in the WHMCS 'Domain Pricing' settings as a lookup provider
    • Enom
    • OpenSRS
    • ResellerClub
    • ResellerCamp
    • NetEarthOne Note: For your convenience, suggested domains available for registration will be shown in the search results, despite that the provider might also suggest the already taken domains.
      Note 2: If in the meantime any of the providers has been deactivated, you will need to reset the suggested search selection and save data again.
  • Returned Suggestions Limit - Define the maximum number of records that will be displayed in the 'Suggestions' section in the client area. Set to '-1' to show all suggested domains.
  • Default Label for Premium Domains - Choose a label that will be automatically added to all domains that are considered as "Premium" domains.
    The label will be visible both in the client area in and in the addon.
DOE3 27.png

Cron Settings

The default WHMCS lookup may work extremely slowly while checking a large number of domains, therefore we have introduced an additional cron solution.
The cron processes are responsible for searching a large number of domains and suggestions.

Here you can configure the number of simultaneously run processes and how many domains can be handled by one process at the same time.
For example, you can set 5 processes to work simultaneously, and each of them can deliver up to 20 search results at once.

Note: The higher the number of processes and search records per process, the faster the search for domains, but also the increased usage of server resources and number of requests to the lookup provider.
Use these options reasonably.

DOE3 28.png
To run cron processes, simply add a cron job as shown below (every 5 minutes suggested).
php -q /yourWHMCS/modules/addons/DomainOrdersExtended/cron/cron.php DemonTask

Do not forget to replace 'yourWHMCS' with your WHMCS root location.

Important: Server with PHP "PCNTL FORK" support is required.'

Moreover once the cron process has been launched, you cannot change the number of running processes on the fly.
To change them, stop the cron, change the number and launch it again.

Logs Settings

In the end you may turn on the Debug Mode to have insight into any errors occurrences, you will find a list of any log entries in the log section.

Note: It is advised to keep it turned off on daily basis and enable only when necessary.

DOE3 28 1.png


In this section, you can configure the connection data to use an external domain lookup provider. The currently available are:
  • Default Submodule
  • CPS-Datensysteme GmbH
  • OpenSRS
  • Enom
  • RessellerClub
  • ResellerCamp
  • NetErathOne

You can use these providers at the same time, but make sure they actually support the available TLDs.
You can also exclude TLDs that shall not be presented among the results offered by a given domain spinner.
In addition, you can enable the 'Default Submodule' to search for domains if you do not have the submodules configuration, or if they do not support relevant TLDs.
In this case, the WHMCS lookup provider configured in the 'Domain Pricing' settings will be used.

Note: If all submodules are used and a domain search is started for TLD that is supported by all of them, then the domain will be checked first by the OpenSRS submodule,
then, if it has not been found or in case the first provider returns an error, it will be searched by the Enom submodule, and lastly, by the default WHMCS lookup.

DOE3 29.png


Here you can create labels that can then be assigned to the selected TLDs.

Each label may be distinguished by its own color and may receive priority.
Labels will then be displayed next to the assigned TLD on the domain search and suggestions results.

DOE3 30.png
To start, press the 'Add Label' button to create the first one.

Then, set a title that will appear on the label and message that appears when you move the cursor over the label.
Next, set its priority which will determine the label's position next to a domain. The higher the number, the higher the priority, and thus the closer the label to a domain.
Note: You can also prioritize different labels with the same value.
Finally, set the color of the text and the background of the label, and save changes when ready.

DOE3 31.png
Once the label has been created, it will appear on the list, where you can edit or delete it.

Please be aware that 'Premium' labels will be displayed with premium domains only.

To learn how to assign the label to a particular TLD, see the 'Edit TLD Configuration' section.

DOE3 32.png


In this section you may import TLDs to your system from a file containing any configuration details of the TLDs.
DOE3 32 1.png
Start with preparing a file with a list of TLDs with ready configuration that will be transferred to the module.
A default file with the TLDs set must include the exactly same heading as shown below:

Make sure there are no typos or unnecessary spaces in the headings as the file will not be uploaded and an error notification will appear.

In order to successfully import the uploaded TLDs to the system the following data are required:

  • TLD
  • Type
  • Period
  • Price
  • Currency
  • Group

Remaining data are optional and may be left empty in the uploaded file.

Underneath you may take a look at the optional content of a correctly filled in file:

DOE3 32 2.png
When you have a ready file, press the 'Upload File' button to begin.

Important: Make sure the 'importFiles' file located in '/addons/domainOrdersExtended/storage/app/' has permissions set to writable, otherwise the upload process will be blocked.

DOE3 32 3.png
Find the file and upload it.
DOE3 32 4.png
All TLDs will be uploaded immediately and will appear on a clear and easy to read list .
Now, select the TLDs that you want to import to your system and press 'Import TLDs'.

Note: Keep in mind that if you select TLDs that already exist in your WHMCS their configuration will be overwritten with the new one.

DOE3 32 5.png
When the import task has been completed, you will see a detailed report on the results with enumerated every TLD, its status and message.
DOE3 32 6.png


This section allows to export the TLDs from your system to a .csv file.

Note: If the number of TLDs in your system is high, it might take a while to load the page, please wait a moment to see the list of all TLDs.

DOE3 32 7.png
You may export all TLDs at once to a single file, simply press the button marked on the screen.
Information on the TLD type, pricing, registrars, labels and others will be included in the file.

Information: Set the "exportFiles" file permissions to writable to successfully use this option.
You will find the file in: 'modules/addons/DomainOrdersExtended/storage/app/exportFiles' directory.

DOE3 32 8.png
It is also possible to export selected TLDs only.
You will need to manually find them on the list, mark the select boxes next to them and then press the mass action button that will appear.
DOE3 32 9.png
Once you have confirmed the action, the file will be generated and downloaded instantly.
That is how an exemplary content might look like.
DOE3 33 1.png


If there are any problems with the operation of submodules, you will find corresponding errors from the API responses in the 'Logs' section.
DOE3 33.png

Client Area

Now, we are about to show you the main functionality of this module, which is located in the client area.

Domains Lookup

As soon as you check 'Replace Standard Registrar With Module Order Form' in 'Settings ', your clients will see a different domain order form under 'Domains' → 'Register a New Domain'.

Your clients have access only to the TLDs assigned to categories and with the pricing set.
By default, only TLDs selected in the 'Module Settings' will be searched for an entered phrase.
If your customers want to get results concerning other TLDs, they can select them from the drop-down list.

DOE3 30 1.png
Below you can also see the differences in the display of the domain search depending on the previously chosen settings.

List View

The list view represents all the domains searched in one common list.
Your customers will not see the search results divided into previously created categories and subcategories.
Nevertheless, the order of the displayed domains will still depend on the set order of categories and TLDs in the configuration but the promoted TLDs will be displayed at the top of the list.
If enabled, the list will be divided and the button to 'Show More Results' will be available, just like on the screen below. There also might be shown domain suggestions if such have been allowed by the admin.

Use the 'Domain Bulk Actions' button to:

  • Add all domains to cart - all "Available" domains are registered, "Taken" domains are transferred, not available domains are skipped. this action is a default one.
  • Transfer all domains - all domains marked as "Taken" are transferred, all the others are skipped
  • Register all domains - only "Available" domains are registered, all the others on the list are skipped
DOE3 2 30.png
You may also use the option to search domains in bulk, note that this option must be previously enabled by the administrator.
DOE3 2 30 1.png

General Category View

In this view, your clients will see a categorization of the searched domains in tabs, but without showing their subcategories.
TLDs from the subcategories will be displayed in the main categories.
If none of the TLDs in a given category is included in the search results, this subcategory will not be displayed in the results list.
The order of the displayed results depends on the first set order of the categories, and then on the order of the TLDs within them. Promoted TLDs will be displayed at the top.
DOE3 33 5.png

Multi Category View

This view works similarly to the 'General Category View' , but also includes a subcategorization of search results that customers will be able to expand from category tabs.
DOE3 2 31.png

Lagom View

Lagom - List View

This view type shows promoted TLDs on the very first search page.
Note: The Lagom theme allows only one label to be visible here. If you have more, only the first in line will be added.
Notice that only 10 promoted TLDs are displayed and they are in an alphabetical order.

DOE3 2 32.png
That is how the search results look like, when using a single domain search type.
DOE3 2 32 1.png
Underneath, a bulk domain search view with 'Results Pagination' option on and the "Show More Results" button visible:
DOE3 2 33.png


1. TLDs are hidden for clients as long as they are not assigned to any category.
2. The module does not support the migration from previous versions 2.X. All settings have to be defined anew.
3. In the case of certain registrars, like OpenSRS and Enom, the pricing of premium domains is returned by the API only in the USD currency.

For this reason, when using other currencies, it is required that the 'USD' currency code is still available in your WHMCS system.
Thanks to that, the prices of premium domains provided in any other currency will be recalculated based on the 'Base Conv. Rate' settings from the USD value.

4. If you want to translate the category or subcategory name (CA view only), simply add a new entry into the english.php file with a new name.
See the below example:
$LANG['categoryLang']['CategoryName'] = "YourCategoryNewName";

In your file:

$_LANG['categoryLang']['General'] = "GeneralGroup";  
$_LANG['categoryLang']['European Union'] = "EU";  

Update Instructions

An essential guidance through the process of updating the module is offered here.

Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.

Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your Domain Orders Extended For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. If you have problems with connection with OpenSRS submodule, make sure that ports 51000 and 55443 are open.
3. If you face problems with searching domains using the cron task and there is no information in logs, you might look at the cronLog file content.

You will find this file at: yourWHMCS/modules/addons/DomainOrdersExtended/storage/crons

4. In case no logs are visible in the 'Logs' section, and the debug mode is on, then please clear the DomainOrdersExtended_Logger tables manually in your database.

The problem might be caused by a too high number of log entries.

5. If you encounter the below error with the OpenSRS submodule:
oSRS Error Code #400: Could not get credentials for reseller RESELLER_NAME

Please ensure you have provided the correct API details and that the main user has been used to connect with API.

6. If you cannot export all the available TLDs into a file, please check the PHP, max_input_vars settings.
Increase the max_input_vars limit to allow downloading a required number of records.
7. The Domain Orders Extended For WHMCS module is partially integrated with the following modules:
  • Multibrand For WHMCS module - you must be aware that branding is not fully supported yet and Domain Orders Extended works well with the main brand only.
  • Resellers Center For WHMCS module - the module functionality is limited for reseller clients who utilize the Allow CNAME option.
WHMCS Modules
WHMCS Widgets
cPanel Modules
Domain Orders Extended For WHMCS