Xcaret is very close to the port of Calica and you can take a taxi for a nominal amount of money (or the bus if you want) The entrance fee is about $59 for adults and only $21 for kids 5-12. Check the cost of the shore excursion from Carnival to see if it is within this price range, if so, then you might want to take theirs. If not, getting to Xcaret is simple.
I would make advance reservations for the dolphin swim just to make sure that you get what you want. I see that Xcaret offers an Internet special rate of only $114 per person for an hour long adventure.
You can check it out by following this link:
I hope that helps.