All foreign citizens must have entry visa to travel in Russia.
Since 2013 tourists who travel in Russia by ship and make a stop in St. Petersburg are allowed to stay 72 hrs without visa! You should have the only valid passport. You can leave the ship and come back on board only as part of an organized tourist group as per the list. In case a tourist wants to leave the ship alone, he needs a visa.
Marils Travel can provide all necessary documents for the visa: tourist voucher and confirmation. Please pay attention that tourist visa is issued for 30 days maximum.