It's like anything in construction, and having a mobilisation or call out fee is generally the best way to do it, as it generally works out the most accurate method of pricing for companies that do a range of small and large jobs, and they're often turning over more and have better insurance.
The call out fee is to cover:
Taking the call, admin, invoicing, chasing payment, insurance, training, fuel, tools, allowing an hours dead time before and after the job etc etc + profit
Then the hourly rate covers wages + profit
Then materials covers materials + profit
If the job is 2,20 or 200 miles away then the admin and other fixed costs are the same or near enough.
It's call out fee plus standard rate, or no call out fee and high rate per hour.
People go bananas when a job doesn't go as planned and the job is just on hourly rate with no call out fee, as this way ends up much more expensive. An hours worth of admin to change each job to suit will burn through £15 wages and another £15, 1500 or 15,000 on fixed costs. Whilst they're dealing with your piddly job, they might miss a call for a 200k job.
Unless you've ran a company or worked as a sol trader it really is hard to understand how much goes into small jobs. They only see the hour on site, so think "this should be £20".
Nearly every contractor I know would rather be on a big job with a lesser rate, than doing loads of little jobs for a higher rate as the admin and messing about/ lost time costs a fortune.