The word makes me shudder. It's almost impossible to have a hardened inviolable fixed policy. Let's say, for example, you're in a rather small community and well known. You've been contracted to cater a posh wedding. You've had to make arrangements well in advance for additional servers, prep cooks, etc. You've used vendors that require that you pay up-front for food-stuffs that they normally don't stock. And, you get the phone call: The mother of the bride died suddenly in a car wreck and the family is postponing the wedding, indefinitely. Sure, your contract had a cancellation clause, with several weeks notice....but this is only days away. You have to play it by ear. What you cannot allow to happen is to take a loss. Ascertain what the cost is to your business and bill it. You'll be the heavy, no doubt. You'll hear, "How could you charge these people after they experienced such a tragedy?" The fact is that although the woman died and the car was totaled; the car payment still has to be made.
Some caterers require forfeiture of the deposit with any cancellation contingent on the time paramenter of the cancellation. It really depends on what the marketplace determines. You don't want to make cancellation easy or cheap. If you do, your potential clients will continue to look elsewhere after they've contracted for your services.