Will we need to have a visa if we book a tour with a different tour company other than booking through Celebrity to reboard the ship?
I haven't been to St. Petersburg/Leningrad since the 1970's but I just read that for a visit of 3 days or less, you don't need a visa for St. Petersburg. Longer than 3 days, it's apparently a complicated and kind-of expensive process.
This is from: http://moscow.usembassy.gov/russian-visas.html
International Cruise Ship Passengers: International cruise ship passengers are permitted to visit Russian ports without a visa for a period of up to 72 hours. Passengers who wish to go ashore during port calls may do so without visas provided that they are with an organized tour at all times, accompanied by a tour operator who has been duly licensed by Russian authorities. These special entry/exit requirements do not apply to river boat cruise passengers and travelers coming to Russia on package tours. These travelers will need to apply for visas prior to entry, and should follow the general guidelines for entry/exit requirements
You will not need to get you own visa, IF you book a tour with a company that secures a "visa equivalent" for you (I know that's not the official name, but that's what it is). You must be with the tour at all times. If you do not book a tour, either with Celebrity or with one of the companies that can secure this "visa equivalent," then you will need to get your own visa.
The following companies do both group and individual tours, and you do not need to get your own visa if you use them. I have no experience with them (found them on Cruise Critic):
We used Alla tours for a two-day tour (slept on the ship). If you follow their instructions exactly, you will have no problem.
I was on Princess and the ship kept announcing that you wouldn't be allowed off the ship unless you took one of their tours. That probably scared some people into abandoning their plans but wasn't at all true.
We were off the boat, through immigration, found our van/tour group and were on our way into town before the big cruise tours were even formed up to leave the ship. Our group was much more nimble (twelve person van with ten plus a driver and guide) so we saw more, had more personal attention from our guide, and paid significantly less than a similar cruise excursion would have cost.
Evidently one can visit St. Petersburg without a visa if arriving by cruise or ferry. In 2012 we took the St. Peter Line overnight ferry from Helsinki, stayed 3 full days in St. Pete, slept in a hotel for 2 nights, and returned via ferry. The ferry line considers their shuttle from the ship to the hotel as the required shore excursion. We took tours with the ferry line, Alla Tours another day, and on our own the third day. All of this without a visa.
Here's what the St. Peter Line website says: "In accordance to the legislation of Russian Federation (RF Government Resolution №397), foreign tourists and persons without citizenship or relevant visa and/or proper permission travelling on ferries may arrive to the Russian Federation without Russian visa for the period of 72 hours being part of organised excursion group. VISA-Free journey can lasts up to 3 days. According to the law a passenger must arrive at the port of St. Petersburg aboard a ferry of SТ PETER LINE Company and leave in the same manner, be part of organised excursion group ("Car Shorex” in this case) and comply with the rule of no longer than 72-hour stay. 72 hours period begins for the moment of crossing border control."
Have a great trip.