When you're offering dedicated servers, you are more than likely to have an endless list of configurable options for the customer to build his server upon. In order not to have an endless list that specifies each combination of every disk size of secondary disk that hasn't even been selected, or RAID-5, RAID-10 options that haven't been selected and so on, websites that offer this service would normally create dependencies between configurable options.
Creating dependent configurable options allows you to specify exactly which child configurable options would be displayed when a parent option is selected and which would be hidden if a certain option is not selected.
For some odd reason WHMCS doesn't offer this, as if it's not that important feature for a hosting business. The reality is that if any type of online business requires dependent configurable options it is a hosting business.
It's not just an issue of endless list when you have too many options to be displayed all at once.
You're offering a selection of CPUs to choose from. But not all of them you can offer with 128GB RAM, so what are you supposed to do? Display the 128GB under the option "Memory" for the customer to choose even if he had chosen a CPU that you can't provide it with?
So the solution is to create conditional configurable options and specify which options are not being displayed when certain options are selected.
Also, if a customer's selection means that no options were displayed for him at all under a certain option name ('RAID Controller' for example), there's no need to pass each unselected option name to the summary and to the cart. If the list is too long, you don't always want to say for each unselected option that hasn't even been displayed for example: 'RAID Controller: none' in the cart. The list would be too long and irrelevant. In that regards, there's already a problem with the existing functionality of WHMCS, because it doesn't allow you to display a configurable option without having one of the options pre-selected by default, and that's not always what you want to have.
Configurable option depends on another configurable option
In case the title is a bit confusing or misleading, I'm gonna give you an example of what I'm suggesting:Let's say I'm selling a game server where the price is based on slots, and the client can choose between two datacenters. One of my datacenters is located in a country, where dedicated servers are expensive to have hosted, so I want the price per slot to be a little higher when the client select 'Datacenter 2' on the order form. Both the Datacenter selection and the Slot selection is a configurable option.When the client is selecting 'Datacenter 2', the price of the Slot option should change.If you are a webhosting company, you could probably also use this. Let's say bandwidth is expensive in Country A - when a client selects Country A, the price for 10GB monthly traffic could increase. I don't really know much about webhosting, so I wouldn't know if the given example would be realistic, but I sure know that I would love this feature!