If I were in the same situation, I'd call customer service and try to work something out. Because they changed the itinerary, may be enough reason to get the down payment back. Another possibility would be to keep the same booking number and select another cruise. I've done that more than once. If that is an option, you'll have to pay the difference is the cruise costs more, and if the cruise is less, you wouldn't get any credit back. There's no way I'd let them keep my money, even if it meant missing a port.