I have a contract that is signed before any services are completed. It is mainly for liability (I go into client's homes or provide consulting/advice at times) but the contract also outlines the guidelines for proper cancellation policies and also what happens if either party needs to reschedule in cases of emergency. I'm very open about all of it and my clients appreciate that for the most part.
In my case, I am providing a service that can easily be rescheduled (unlike specific party dates), but I do not give refunds for my services and my clients pay upfront for any hours booked with me. The contract has helped me a lot but of course, I treat all situations on a case-by-case basis.
Unless its an absolute emergency, and you have absolutely no recourse but to cancel, you cannot cancel.
If you do must cancel, you must find them another D.J................Non negotaible