Are you interested in a module for helpdesk / customer support on Drupal-based sites ? Then read further and have a look at the diagram !
As the upcoming Mediacore sites like the new versions of OSInet and Riff News are being developed on top of Drupal, one of the missing capabilities I'm having to add is a helpdesk / customer support module, currently being coded, albeit slowly.
The module already has a page on drupal.org, but until code is actually committed to the drupal.org CVS, it is not possible to see it from within drupal.org or comment on it yet, so if you have any ideas on the subject, want to look at the code, or even help or shape it for your own needs, feel free to comment on this post and contact me.
The diagram represents the abstract data model underlying the module, as it is currently being coded (click for full-size view).
To get a more detailed idea of what to expect from the module, here's what I wrote about it:
Unlike existing Drupal functionality like the project module, it is not designed for peer support, but it defines user roles like: technician, customer, and user. It defines parameterized support contracts, charging support by the call (think incident packages), by time spent (think typical hotline contracts), on a periodic basis (think yearly maintenance), or not at all (think presales support). Contracts have expiration dates separated from charging, and can optionally be suspended temporarily.
The module issues customized tickets and followups on tickets. Followups can be charged differently from the original ticket if need be.
Tickets can be linked with an ecommerce transaction to link support requests with purchases (think expiring support contracts like warranties on purchases).