Not having a visa shouldn't restrict you from being able to make reservations. You can book airline or cruise tickets before or after securing the visa.
Yes
Yes you would need a visa for spain. For Mexico and Canada you dont need a visa, just green card is enough.
Thanks! Your answer is awaiting moderation.