{
  "routes": [
    {
      "route_name": "\tPelabuhan Tanjung Priok → Pelabuhan Tanjung Perak Surabaya (ETD 19 Aug 06:00 WIB)",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -6.103769,
            "lng": 106.88246,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.37,
              "wind_speed": 6,
              "wind_from": "Tenggara",
              "wind_gust": 9,
              "current_speed": 0.07,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.828272513488126,
            "lng": 106.98779085708362,
            "distance_from_start": 18.847566148417705,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.48,
              "wind_speed": 9,
              "wind_from": "Tenggara",
              "wind_gust": 14,
              "current_speed": 0.54,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -5.845991489488195,
            "lng": 107.29721770819133,
            "distance_from_start": 37.69513229683541,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.61,
              "wind_speed": 10,
              "wind_from": "Tenggara",
              "wind_gust": 15,
              "current_speed": 0.64,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.900112196281995,
            "lng": 107.60728254507507,
            "distance_from_start": 56.542698445253116,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.74,
              "wind_speed": 10,
              "wind_from": "Tenggara",
              "wind_gust": 15,
              "current_speed": 0.6,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.935115126887487,
            "lng": 107.92103621800399,
            "distance_from_start": 75.39026459367082,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.79,
              "wind_speed": 11,
              "wind_from": "Tenggara",
              "wind_gust": 16,
              "current_speed": 0.59,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.9701180574929795,
            "lng": 108.23478989093292,
            "distance_from_start": 94.23783074208853,
            "weather": {
              "weather": "Cerah",
              "visibility": 10,
              "wave_height": 0.76,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 20,
              "current_speed": 0.56,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.005120988098471,
            "lng": 108.54854356386184,
            "distance_from_start": 113.08539689050623,
            "weather": {
              "weather": "Cerah",
              "visibility": 11,
              "wave_height": 1.06,
              "wind_speed": 11,
              "wind_from": "Tenggara",
              "wind_gust": 17,
              "current_speed": 0.52,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.040123918703963,
            "lng": 108.86229723679077,
            "distance_from_start": 131.93296303892393,
            "weather": {
              "weather": "Cerah",
              "visibility": 12,
              "wave_height": 1.07,
              "wind_speed": 11,
              "wind_from": "Selatan",
              "wind_gust": 17,
              "current_speed": 0.41,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.075126849309455,
            "lng": 109.17605090971969,
            "distance_from_start": 150.78052918734164,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 13,
              "wave_height": 1.03,
              "wind_speed": 11,
              "wind_from": "Selatan",
              "wind_gust": 17,
              "current_speed": 0.38,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.1101297799149465,
            "lng": 109.48980458264862,
            "distance_from_start": 169.62809533575935,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 13,
              "wave_height": 0.99,
              "wind_speed": 13,
              "wind_from": "Selatan",
              "wind_gust": 19,
              "current_speed": 0.59,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.145132710520439,
            "lng": 109.80355825557754,
            "distance_from_start": 188.47566148417707,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 14,
              "wave_height": 1.01,
              "wind_speed": 14,
              "wind_from": "Selatan",
              "wind_gust": 21,
              "current_speed": 0.47,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.180135641125931,
            "lng": 110.11731192850647,
            "distance_from_start": 207.32322763259475,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 14,
              "wave_height": 1.1,
              "wind_speed": 15,
              "wind_from": "Selatan",
              "wind_gust": 22,
              "current_speed": 0.32,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.215138571731423,
            "lng": 110.43106560143539,
            "distance_from_start": 226.17079378101246,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 14,
              "wave_height": 1.19,
              "wind_speed": 16,
              "wind_from": "Selatan",
              "wind_gust": 24,
              "current_speed": 0.32,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.2501415023369145,
            "lng": 110.74481927436432,
            "distance_from_start": 245.01835992943018,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 14,
              "wave_height": 1.22,
              "wind_speed": 16,
              "wind_from": "Tenggara",
              "wind_gust": 25,
              "current_speed": 0.25,
              "current_to": "Timur"
            }
          },
          {
            "lat": -6.285144432942406,
            "lng": 111.05857294729323,
            "distance_from_start": 263.86592607784786,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 15,
              "wave_height": 1.32,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.28,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.320147363547898,
            "lng": 111.37232662022215,
            "distance_from_start": 282.71349222626554,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 1.45,
              "wind_speed": 16,
              "wind_from": "Tenggara",
              "wind_gust": 25,
              "current_speed": 0.46,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.355150294153391,
            "lng": 111.68608029315108,
            "distance_from_start": 301.5610583746833,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 18,
              "wave_height": 1.46,
              "wind_speed": 16,
              "wind_from": "Tenggara",
              "wind_gust": 25,
              "current_speed": 0.62,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.405673362620116,
            "lng": 111.99587112160273,
            "distance_from_start": 320.40862452310097,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 1.43,
              "wind_speed": 16,
              "wind_from": "Tenggara",
              "wind_gust": 24,
              "current_speed": 0.55,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.525068298925707,
            "lng": 112.28807650696456,
            "distance_from_start": 339.2561906715187,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 1.37,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.54,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.655790810043232,
            "lng": 112.57254356104711,
            "distance_from_start": 358.1037568199364,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 1.28,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.49,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.920729695326392,
            "lng": 112.67570003776623,
            "distance_from_start": 376.95132296835413,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.49,
              "wind_speed": 8,
              "wind_from": "Tenggara",
              "wind_gust": 13,
              "current_speed": 0.3,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.198617,
            "lng": 112.735124,
            "distance_from_start": 395.7988891167718,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 10,
              "wave_height": 0.48,
              "wind_speed": 7,
              "wind_from": "Tenggara",
              "wind_gust": 10,
              "current_speed": 0.17,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-19T06:00",
        "arrival_time": "2026-08-20T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 16,
        "distance": "395.80"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Tanjung Priok",
          "province": "Jakarta",
          "weather": {
            "wind_speed": 6,
            "wind_gust": 9,
            "wind_from": "Tenggara",
            "current_speed": 0.07,
            "current_to": "Tenggara",
            "wave_height": 0.37,
            "weather": "Cerah",
            "temp_avg": 26.65,
            "rh_avg": 82.73,
            "visibility": 10
          }
        },
        "destination": {
          "name": "Pelabuhan Tanjung Perak Surabaya",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 7,
            "wind_gust": 10,
            "wind_from": "Tenggara",
            "current_speed": 0.17,
            "current_to": "Tenggara",
            "wave_height": 0.48,
            "weather": "Cerah Berawan",
            "temp_avg": 27.25,
            "rh_avg": 71.1,
            "visibility": 10
          }
        }
      }
    }
  ]
}