I've never done St. john on your own off a ship, but have been to St. John many times for vacations. It will be tough to go over to St. John and really enjoy the beach and have time for shopping on St. Thomas IMO. If you can catch the 9AM ferry out of Red Hook, you'll be on St. John around 9:30 after disembarking the ferry. The rides to the beaches from the ferry dock on St. John are around 10 minutes, so you'll be on a beach around 9:45 or so. To only stay for a couple of hours, won't do St. John justice, since it's such a beautifual island. I love it there and it's now the only Caribbean Island we'll go to. Even if you decide to head back to St. Thomas early, you'll probably not make it back to a ferry before 12 PM (and that would be rushing it), and the ferry's to Red Hook only run every hour on the hour, with the Charlotte Amalie ferry running less frequent, but a longer 45 minute ride, than the 20 minutes from Cruz Bay. Here are the return times for the Charlotte Amalie ferry 11:15 am, 1:15 PM, 2:15 PM, 3:45 PM. It is true that traffic is a complete disaster on St. Thomas when there are many ships in port, I actually avoid St. Thomas like the plague, except for getting to/from the airport. So, getting over won't take that long, but getting back can, unless you decide to take the Charlotte Amalie ferry and walk back, but that's a VERY lenghtly walk, and there aren't sidewalks for some of that trip. If you can catch the 1PM ferry, figure on getting back to Havensight around 2:15 or 2:30, which would give you some shopping there, but not in downtown.