My Understanding (not BOXI specific):
One approach could be to use the macro_predicted_violation field of a cr record, but I think this only works if the ttv options are installed.
A more generic approach could be the following:
The Consumed and remaining times are handled in the so called attached event records. These are related/attached to cr's by their obj_id attribute.
One may figure out the atev record which handles the violation of a ticket, check its status(==2 :still running) and using its start_time and fire_time attributes to calculate remaining times....
Kind Regards
..........Michael