Drupal Case Study: Helivalues.com

Summary

Helivalues™ is a company that specializes in helicopter appraisal and pricing, with 38 years of experience in the industry. They have an online bluebook of helicopter values that requires a subscription to access. The site required a CRM to track client data, ecommerce for payment of the subscription services, as well as an online appraisal request system.

 

Challenge

The site was originally built in Joomla; however due to the way it was coded, updates to Joomla modules could not be run. The site had a custom-built MySQL database with 40 years of detailed helicopter data that needed to be implemented in the online bluebook. In addition, Helivalues was interested in changing how their appraisals were calculated. Before our site went live, these were done via easily accessed formulas in Excel. Helivalues wanted this to be a more locked-down online system that could be tied to a CRM built into the site.

They had unique data that needed to be tracked; such as prepaid residual bundles that came with certain subscription purchases.

Drupal (with its ability to support custom modules while allowing for core and contrib modules to be updated) was crucial to building the final site with all of these features.

 

Solutions

Multiple custom modules, a custom theme, and custom data entries were used to solve this client’s unique challenges with their specialized data.

For the online bluebook; all of the data comes from a second custom database. But there were extensive calculations to run on that data and then it needed to be displayed quickly. The client also wanted several styles of PDFs to go along with the bluebook. These were generated each night listing the components for the over 200 different models of helicopter as well as a PDF render of any interaction a user has with the bluebook that day.

To handle the massive amount of data that needed be quickly displayed, the Drupal caching system was used. A custom cache table was created, and the CID was the name with the helicopter ID, allowing for the individual helicopter data cache to be rebuilt without having to rebuild the entire cache as a whole.

Using the Drupal contrib module Domain Access meant that a subdomain for just rendering the PDFs could be configured so that users could only access what their assigned roles allowed them to access.

A custom module was built to run the calculations for an appraisal based on the data input by the client’s certificated appraisers. All data for components and other helicopter details came from the second custom database. Sometime later, a simplified version of this program was setup which allowed site users to enter their own helicopter data and get a general value of their helicopter based on details they would input. Users of the site paid a one-time fee for each use of this program, processed via Drupal’s commerce modules.

For the appraisal request process, customizations were made via a custom node type, custom forms for the commerce checkout process, and custom rules. When a user submitted an appraisal request, a commerce order was created as well as a node tied to that invoice via a hidden field. This allowed the operations department of Helivalues to note changes to the request as well as tracks its status. Once the appraisal was complete, staff would change the status to notify their accounting department that this item was ready for invoicing. Once the invoice was paid, the user received an email automatically with a copy of their report and a link to said report in their user dashboard. Because of the ability to create custom forms for commerce and forms that listed helicopter models as well as data for each model, the Drupal node could be built.

A custom user dashboard was also created, allowing customers to track the status of their appraisals, edit and view their Helicalc™, and see their number of prepaid residual bundles.

 

Key Benefits

From streamlining the appraisal and billing processes, providing a much more user-friendly site, and a highly detailed bluebook, the whole user experience was greatly improved by using Drupal. The client has been able to track all aspects of their business on the website.

 

Results

The result is a Drupal site that can display and track custom data and yet still be updated via Drush.