{
  "routes": [
    {
      "route_name": "Jayapura - Serui",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -2.544745,
            "lng": 140.71161,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.76,
              "wind_speed": 4,
              "wind_from": "Timur",
              "wind_gust": 6,
              "current_speed": 0.54,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -2.4367445268151275,
            "lng": 140.6231315171847,
            "distance_from_start": 14.273956365082164,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.77,
              "wind_speed": 3,
              "wind_from": "Barat Daya",
              "wind_gust": 5,
              "current_speed": 0.77,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -2.3356390921106462,
            "lng": 140.40782616870126,
            "distance_from_start": 28.547912730164327,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.81,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 8,
              "current_speed": 0.56,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -2.234533657406165,
            "lng": 140.1925208202178,
            "distance_from_start": 42.82186909524649,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.81,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 10,
              "current_speed": 0.98,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -2.1334282227016836,
            "lng": 139.97721547173435,
            "distance_from_start": 57.095825460328655,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.8,
              "wind_speed": 8,
              "wind_from": "Selatan",
              "wind_gust": 12,
              "current_speed": 1.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -2.032322787997202,
            "lng": 139.76191012325089,
            "distance_from_start": 71.36978182541083,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.82,
              "wind_speed": 7,
              "wind_from": "Selatan",
              "wind_gust": 11,
              "current_speed": 1.37,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.9312173532927206,
            "lng": 139.54660477476745,
            "distance_from_start": 85.64373819049298,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.84,
              "wind_speed": 8,
              "wind_from": "Selatan",
              "wind_gust": 12,
              "current_speed": 1.57,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.8301119185882393,
            "lng": 139.33129942628398,
            "distance_from_start": 99.91769455557515,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.85,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 1.62,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.729006483883758,
            "lng": 139.11599407780054,
            "distance_from_start": 114.19165092065731,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.85,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 11,
              "current_speed": 1.61,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.6279010491792767,
            "lng": 138.90068872931707,
            "distance_from_start": 128.46560728573948,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 18,
              "wave_height": 0.85,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 10,
              "current_speed": 1.53,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.5417631425048803,
            "lng": 138.68079811519172,
            "distance_from_start": 142.73956365082165,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.84,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 8,
              "current_speed": 0.98,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.504606058638475,
            "lng": 138.44590234567383,
            "distance_from_start": 157.0135200159038,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 15,
              "wave_height": 0.84,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 7,
              "current_speed": 1.01,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.4674489747720696,
            "lng": 138.21100657615597,
            "distance_from_start": 171.28747638098596,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 14,
              "wave_height": 0.84,
              "wind_speed": 4,
              "wind_from": "Barat Daya",
              "wind_gust": 6,
              "current_speed": 1.14,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.4302918909056643,
            "lng": 137.97611080663808,
            "distance_from_start": 185.5614327460681,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 14,
              "wave_height": 0.87,
              "wind_speed": 3,
              "wind_from": "Barat",
              "wind_gust": 5,
              "current_speed": 1.01,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.458894661298222,
            "lng": 137.74923497147805,
            "distance_from_start": 199.8353891111503,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 13,
              "wave_height": 0.61,
              "wind_speed": 3,
              "wind_from": "Barat",
              "wind_gust": 4,
              "current_speed": 0.1,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -1.5514307512137675,
            "lng": 137.53015631031775,
            "distance_from_start": 214.10934547623248,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 14,
              "wave_height": 0.35,
              "wind_speed": 3,
              "wind_from": "Barat Laut",
              "wind_gust": 5,
              "current_speed": 0.08,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -1.643966841129313,
            "lng": 137.31107764915743,
            "distance_from_start": 228.38330184131462,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.59,
              "wind_speed": 6,
              "wind_from": "Utara",
              "wind_gust": 9,
              "current_speed": 0.25,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -1.7365029310448583,
            "lng": 137.09199898799713,
            "distance_from_start": 242.6572582063968,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.59,
              "wind_speed": 9,
              "wind_from": "Utara",
              "wind_gust": 14,
              "current_speed": 0.22,
              "current_to": "Barat"
            }
          },
          {
            "lat": -1.8290390209604037,
            "lng": 136.87292032683683,
            "distance_from_start": 256.93121457147896,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 15,
              "wave_height": 0.4,
              "wind_speed": 7,
              "wind_from": "Timur Laut",
              "wind_gust": 10,
              "current_speed": 0.4,
              "current_to": "Barat"
            }
          },
          {
            "lat": -1.9004239475035076,
            "lng": 136.64603296923582,
            "distance_from_start": 271.2051709365611,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 15,
              "wave_height": 0.14,
              "wind_speed": 2,
              "wind_from": "Utara",
              "wind_gust": 3,
              "current_speed": 0.16,
              "current_to": "Utara"
            }
          },
          {
            "lat": -1.9716671349519088,
            "lng": 136.41909328365904,
            "distance_from_start": 285.4791273016433,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.14,
              "wind_speed": 7,
              "wind_from": "Timur",
              "wind_gust": 10,
              "current_speed": 0.15,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -1.887459,
            "lng": 136.245969,
            "distance_from_start": 299.75308366672544,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.13,
              "wind_speed": 2,
              "wind_from": "Selatan",
              "wind_gust": 4,
              "current_speed": 0.11,
              "current_to": "Selatan"
            }
          }
        ],
        "departure_time": "2026-05-24T10:00",
        "arrival_time": "2026-05-25T05:00",
        "timezone": "Asia/Jayapura",
        "speed": 16,
        "distance": "299.75"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Jayapura",
          "province": "Papua",
          "weather": {
            "wind_speed": 4,
            "wind_gust": 6,
            "wind_from": "Timur",
            "current_speed": 0.54,
            "current_to": "Tenggara",
            "wave_height": 0.76,
            "weather": "Berawan Tebal",
            "temp_avg": 27.55,
            "rh_avg": 77.75,
            "visibility": 20
          }
        },
        "destination": {
          "name": "Pelabuhan Serui",
          "province": "Papua",
          "weather": {
            "wind_speed": 2,
            "wind_gust": 4,
            "wind_from": "Selatan",
            "current_speed": 0.11,
            "current_to": "Selatan",
            "wave_height": 0.13,
            "weather": "Berawan Tebal",
            "temp_avg": 24.64,
            "rh_avg": 92.93,
            "visibility": 16
          }
        }
      }
    }
  ]
}