Voyages depart every 2 hours, on odd hours JST — which is even hours UTC. Both families follow a deterministic 144-voyage (12-day) cycle, so they can be computed exactly rather than guessed.
vn = unix_ms // 7_200_000route = INDIGO[(88 + vn) % 144]
Destinations B Bloodbrine Sea · T Rothlyt Sound · N Northern Strait of Merlthor · R Rhotano Sea; times D/S/N. Each 12-entry day-block is the previous block rotated left by one.
| Code | Destination | Arrives | Stops (with their time of day) |
|---|---|---|---|
| RN | Rhotano Sea | Night | Outer Galadion Bay (Day) → The Southern Strait of Merlthor (Sunset) → Open Rhotano Sea (Night) |
| BD | Bloodbrine Sea | Day | Cieldalaes Margin (Sunset) → The Northern Strait of Merlthor (Night) → Open Bloodbrine Sea (Day) |
| TD | Rothlyt Sound | Day | Cieldalaes Margin (Sunset) → Open Rhotano Sea (Night) → Outer Rothlyt Sound (Day) |
| ND | Northern Strait of Merlthor | Day | The Southern Strait of Merlthor (Sunset) → Outer Galadion Bay (Night) → The Northern Strait of Merlthor (Day) |
| RD | Rhotano Sea | Day | Outer Galadion Bay (Sunset) → The Southern Strait of Merlthor (Night) → Open Rhotano Sea (Day) |
| BS | Bloodbrine Sea | Sunset | Cieldalaes Margin (Night) → The Northern Strait of Merlthor (Day) → Open Bloodbrine Sea (Sunset) |
| TS | Rothlyt Sound | Sunset | Cieldalaes Margin (Night) → Open Rhotano Sea (Day) → Outer Rothlyt Sound (Sunset) |
| NS | Northern Strait of Merlthor | Sunset | The Southern Strait of Merlthor (Night) → Outer Galadion Bay (Day) → The Northern Strait of Merlthor (Sunset) |
| BN | Bloodbrine Sea | Night | Cieldalaes Margin (Day) → The Northern Strait of Merlthor (Sunset) → Open Bloodbrine Sea (Night) |
| TN | Rothlyt Sound | Night | Cieldalaes Margin (Day) → Open Rhotano Sea (Sunset) → Outer Rothlyt Sound (Night) |
| NN | Northern Strait of Merlthor | Night | The Southern Strait of Merlthor (Day) → Outer Galadion Bay (Sunset) → The Northern Strait of Merlthor (Night) |
| RS | Rhotano Sea | Sunset | Outer Galadion Bay (Night) → The Southern Strait of Merlthor (Day) → Open Rhotano Sea (Sunset) |
Highlighted cell is the route running now: —
vn = unix_ms // 7_200_000route = RUBY[vn % 144]
Nine routes = 3 voyage paths × 3 time-variants. The three paths are One River, Ruby Price and Thavnairian coast. Ships from Kugane (needs Stormblood); the Thavnairian coast also needs Endwalker.
| Route | Stops (time of day) | Also known as |
|---|---|---|
| Shellfish / Shrimp | The Sirensong Sea (Night) → Kugane (Day) → The One River (Sunset) | Sirensong Sea at Night, Kugane at Day, One River at Sunset |
| Shrimp / Hells' Claw | The Sirensong Sea (Night) → Kugane (Day) → The Ruby Sea (Sunset) | Sirensong Sea at Night, Kugane at Day, Ruby Sea at Sunset |
| Shellfish / Taniwha | The Sirensong Sea (Day) → Kugane (Sunset) → The One River (Night) | Sirensong Sea at Day, Kugane at Sunset, One River at Night |
| Squid / Taniwha | The Sirensong Sea (Day) → Kugane (Sunset) → The Ruby Sea (Night) | Sirensong Sea at Day, Kugane at Sunset, Ruby Sea at Night |
| Squid / Glass Dragon | The Sirensong Sea (Sunset) → Kugane (Night) → The Ruby Sea (Day) | Sirensong Sea at Sunset, Kugane at Night, Ruby Sea at Day |
| Glass Dragon & Jewel | The Sirensong Sea (Sunset) → Kugane (Night) → The One River (Day) | Sirensong Sea at Sunset, Kugane at Night, One River at Day |
| Mantis / Taniwha | Unnamed Island (Night) → The Sirensong Sea (Day) → Thavnair (Sunset) | Unnamed Island at Night, Sirensong Sea at Day, Thavnair at Sunset |
| Mantis / Manasvin | Unnamed Island (Day) → The Sirensong Sea (Sunset) → Thavnair (Night) | Unnamed Island at Day, Sirensong Sea at Sunset, Thavnair at Night |
| Prehistoric / Akupara | Unnamed Island (Sunset) → The Sirensong Sea (Night) → Thavnair (Day) | Unnamed Island at Sunset, Sirensong Sea at Night, Thavnair at Day |
Highlighted cell is the route running now: —
scripts/route.py in the project reproduces both.