First of all: I'm speaking about something else. I work directly with clients but I'm not a locksmith.
Before I can start a job I make a detailed offer with a total price. I also show a work previously made by me as an idea of what a client can get.
Sometimes the client asks for something extra or for modifications during the process. In this case I have to choose if make it out of my pockets or say him "this was not in the offer, it'll cost you more" but this is normal in my opinion.
The most important thing for clients is to have a precise offer. They need to know how much is it. They don't care about details, they just need to know if they have the money to do the job. Is our duty to keep the offer a good business for both by choosing the right way to do the job.
I like a lot the visual menu idea by sevedus, but this is a second step. First of all you need to make an interesting standard offer.
Just my two cents
