Create a multi-day sailing — itinerary, cabin types, fares, deposit policy

A sailing is a fixed multi-day departure sold BY CABIN CATEGORY — an expedition cruise, an ocean voyage, or a guided multi-day tour. It is a second booking mode inside Voyages, separate from the single-day Schedule.

Set it up under Voyages → Operations → Sailings.

1. Cabin Types (per vessel) — Cabin Types tab → + New Cabin Type. Give each a short code (IC, OV, BA, ST), a name (Interior, Ocean View, Balcony, Suite), and its max occupancy (berths per cabin). These are defined once per vessel and reused by every sailing on that ship.

2. Itinerary (reusable, date-free) — Itineraries tab → + New Itinerary. Add ordered stops: for each, set the day number, the kind (embark / port / sea / disembark), the port name and code, optional arrive/depart times, and whether it needs a tender. You store NO dates on the stops — the real dates resolve from each sailing's sail date, so one itinerary is reusable across many departures.

3. The sailing — Sailings tab → + New Sailing. Set the name, vessel, sail date, nights, embark/disembark ports, and attach an itinerary. Everything here auto-saves (watch the Saving / Saved pill) — there is no Save button.

4. Cabin allocation + fares — inside the sailing, the Cabin Categories & Fares panel lists every cabin type on that vessel. For each, set the total number of cabins (and any blocked) and the occupancy fare: 1st-guest, 2nd-guest, 3rd/4th-berth per-person fares, single supplement, per-guest port fees and taxes, and per-night gratuities. The fare is occupancy-based — two guests pay the 1st + 2nd fares; a solo guest in a 2-berth cabin pays the single supplement.

5. Deposit & balance policy — set the deposit basis (per guest, flat per cabin, or a percent of fare) and how many days before sailing the balance is due. Guests pay the deposit at booking; the balance is scheduled automatically.

6. Put it on sale — set the sailing status to on-sale. Guests can only book an on-sale sailing.

A category can never oversell — cabin inventory is a pooled counter decremented under a transaction on the server, so two simultaneous bookings for the last cabin can't both succeed.