I see this is an older post, but here’s my take! It’s usually best to wait until you’re on board to book a private photography session. The packages listed online often cover standard photos, not personalized sessions.
When we did a special shoot on a cruise, we arranged everything once on board. For a customized session like yours, expect to budget around $200-$400. You can get both indoor and outdoor shots, and if timed well, you might even capture some beautiful Mediterranean backgrounds.
For ideas on organizing special photo sessions, similar to a graduation photoshoot, checking out related sites can offer useful tips.