The reject reason can be found in the field Time.rejectReason.

There is no specific field for the date/time when the record was rejected. When the time record is rejected, the updatedOn field of the time record Time.updatedOn is updated.

Note that further changes to the time record will also change the value of Time.updatedOn.

The field rejectReason remains populated even after the time record is resubmitted and approved, so this field can be used to report on time entries that have been rejected once during their approval cycle.