Cancellations are part of the business. I think the policy should be one of reasonableness, If for example some one calls and while they are waiting for you they are mangling their gaskets with a coat hanger and succeed in opening the car while you are sitting at the traffic light across the street, these folks definitely will get a bill for the trip.
On the other hand, If I am only a short distance from the shop when the call comes in, I will accept the cancel with no problem. In your case of 2 or 3 minutes this is an easy call.
The tough calls come in when you are 10 minutes in to a 20 minute drive.
One thing I used to do especially at night is suggest that they sit with a neighbor where it is warm and have a glass of wine or something. Often this prevents them from remembering that they had a ladder in the back yard and that the second story bathroom window might be in fact unlatched.