No Changes to OSTicket Source Code Required

This is the first non-intrusive time tracking module for OSTicket. This module uses the sidecar design pattern, which consists of providing time tracking support within OSTicket without having to modify the OSTicket code, which leads to having to upgrade your time tracking logic each time a new version of OSTicket is released. This leads to running older versions of OSTicket for longer than you should and potentially opening you up to security vulnerabilities.

Track Time Without Any Code Changes to OSTicket

Time is tracked using keywords when you post a reply or post an internal note. The example below shows the “time” keyword with a value of 30m, which means 30 minutes. The list of supported values with examples can be found in our documentation. But, we support hours and fractions of hours.

Display Time Used and Time Available

Once you save the post or internal note it will trigger the time to be updated. It will update form variables. In our case, we add two form variables called Time Used and Time Available. These form variables was added by using the built in form editor within OSTicket. You can name the variables whatever you want. We just picked names that aligned to our business. In the example below, no time has been used on the ticket, but the customer has 3.83 hours available.

Adding Time to the System

By default, the time keyword with a positive value will cause time to be decremented from the account. But, you can add time to the account by placing a plus sign in front of the value. The example below shows 30 minutes being added to the account

Track Time at the Domain Name Level

Time is tracked by the domain name of the user unless the user has an email address that uses a public email address (eg. gmail, outlook, etc). In those cases, time is tracked at the individual email level. The image shows a non-public email domain so time would be tracked by the domain name. This means time will be tracked for any user in the domain.

Integration With Payment or Billing Systems

We can integrate with any payment system. Your system would just have to update one table with the amount of time purchased in minutes. Our instructions provides an example of how to integrate with your payment systems. We currently test using the WooCommerce Payment Plug-In for WordPress. It contains a hook that allows us to update the the amount of time purchased in the OSTicket database schema. The Time Tracking module will manage everything else for you. Likewise, your billing system can pull data from the module in order to generate bills.