Most of what I do is charge by the hour.
However for * setups I generally put together a quote or proposal in advance. This makes a lot of customers more happy because they see how much it’s going to cost upfront, and it makes me more happy because that number is usually larger than time+materials. That quote will then include any time/parts it takes to make the thing work and do whatever else was agreed to at the beginning or necessary to do, ie integrate wtih legacy equipment, take phones out of boxes and assemble them on peoples desks, explain to users why it no longer takes half a minute and 20 keystrokes just to open a voicemail box, etc etc. The quotes are pretty customized, it really depends on how ‘hard’ what they want will be.
One thing that’s important is to always be very honest IMHO. If I know something will work, I tell them that, if I think i can make it work the way they want but aren’t sure I tell them that too. Every now and then is a little feature or tweak that someone wants, sometimes you can do it sometimes not.
As for travel I’m like Dovid- if its in my general area I don’t charge, but if the travel time presents a large inconvenience I will charge them something for it, because that’s taking up time+gas. It won’t be my usual rate but it will be something.