I charge an hourly rate in 15-minute increments. I categorize my labor as being off-site or on-site:
If I bring a computer back to my bench, I use a timer. I only track time when I am actively working on a task. I do not count idle time, such as when a large update is being installed.
When I am at a customer's site, the timer starts when I arrive, and continues until the task is completed.
If a site is located outside of the New Braunfels city limits, I charge for mileage to and from the site.