Trunk Bay is beautiful but it gets very crowded, all the ships excursions end up here. If you want to go to St. John i would suggest another beach and doing it on your own. Its cheaper and you get more time, we did a ships excursion once and felt very hurried and only ended up having maybe 1 hour on the beach tops. You need to take a taxi from the pier to Red Hook Harbor where you grab the water taxi over to Cruz Bay then you grab an open-air jitney to the beach. There are many beaches that do not charge an admission fee unlike Trunk Bay - check out this web site www.vinow.com
. We really like Cinnamon Bay Beach. Bring your own snorkel gear if you have it, leave your fins at home and rent them (really cheap) at the beach.