Southwest is famous for changing flights without much (or any) notice. I really like SW, but that happens. I doubt Carnival did anything other than contract out the flights to SW and that's where your problem lies. I'd call them back, and, instead of demanding they do this or that, try to work with them on coming up with a reasonable solution (different airline?).