Your best bet is to check with the shore excursion office. When we've been to St. Thomas, the ships we've been on have usually offered two tours to St. John--one in the morning and one in the afternoon. I recall them lasting about a half day. This is to allow time to get to St. John's on a ferry, then the brief bus ride to the national park beach. There are brass plaques under water that you can read to learn about the sea life there. We usually had time to shop at the ferry port in St. John. It's also been our experience that ships have tended to spend more time in St. Thomas because they know that everyone likes to shop there. But with ever more ships docking here, that may have changed. My recollection is that stores open around 10 or so and close at 6:00 or so in the evening. (later for holidays) If your ship docks near the Havensight Mall, you will have quick access to branches of most of the stores you'd see in town. You basically just have to walk off the ship and there you are. If the ship docks at the sub base, you'll need to take a cab to get into town or to the Havensight Mall. Cab tip: When lots of ships are in port (often) the traffic jams can turn short distances into long crawls. Be sure to leave yourself enough time to get back on board!