We also do warranty work at no charge to the customer, unless they live outside of our normal service area. If they do, we let them know before they buy. We tell them that we will be billing them for a travel charge.
But - after we warn everybody, we will try to book our calls on a day that we are in that area, or at least most of the way to that area. If it works out that way, we waive the trip charge.
Some people are glad to wait for a day we are in their area, others will pay to have us there right now.