{
  "routes": [
    {
      "route_name": "Kalianget → Kangean",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.057294,
            "lng": 113.942915,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.43,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.040773247947189,
            "lng": 114.05917283408063,
            "distance_from_start": 7.130624920923502,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 19,
              "wave_height": 0.59,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.18,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.028911027779071,
            "lng": 114.17822999803404,
            "distance_from_start": 14.261249841847004,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.68,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.14,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.017048807610953,
            "lng": 114.29728716198744,
            "distance_from_start": 21.391874762770506,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 25,
              "wave_height": 0.75,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 20,
              "current_speed": 0.29,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.005186587442836,
            "lng": 114.41634432594086,
            "distance_from_start": 28.522499683694008,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.82,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 21,
              "current_speed": 0.34,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -6.993324367274718,
            "lng": 114.53540148989427,
            "distance_from_start": 35.65312460461751,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.87,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 21,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.9814621471066,
            "lng": 114.65445865384768,
            "distance_from_start": 42.78374952554101,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.96,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 20,
              "current_speed": 0.65,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.969599926938483,
            "lng": 114.7735158178011,
            "distance_from_start": 49.914374446464514,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 19,
              "wave_height": 1.03,
              "wind_speed": 16,
              "wind_from": "Timur",
              "wind_gust": 25,
              "current_speed": 0.86,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.957737706770365,
            "lng": 114.89257298175451,
            "distance_from_start": 57.044999367388016,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.12,
              "wind_speed": 16,
              "wind_from": "Timur",
              "wind_gust": 24,
              "current_speed": 0.86,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.938509295342645,
            "lng": 115.00967152789605,
            "distance_from_start": 64.17562428831151,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 1.09,
              "wind_speed": 17,
              "wind_from": "Timur",
              "wind_gust": 26,
              "current_speed": 0.75,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.890651647671322,
            "lng": 115.11915776394802,
            "distance_from_start": 71.30624920923502,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 12,
              "wave_height": 0.84,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.48,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.842794,
            "lng": 115.228644,
            "distance_from_start": 78.43687413015851,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.68,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.39,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 3,
        "distance": "78.44"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.43,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Kangean",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 15,
            "wind_gust": 23,
            "wind_from": "Tenggara",
            "current_speed": 0.39,
            "current_to": "Tenggara",
            "wave_height": 0.68,
            "weather": "Cerah Berawan",
            "temp_avg": 26.9,
            "rh_avg": 71.79,
            "visibility": 18
          }
        }
      }
    },
    {
      "route_name": "Kalianget → Raas",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.057292,
            "lng": 113.942908,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.49,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.050180727702286,
            "lng": 114.00815612043678,
            "distance_from_start": 4.047916719233351,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 0.56,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.18,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.047539962071897,
            "lng": 114.07603613895932,
            "distance_from_start": 8.095833438466702,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 0.62,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.15,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.0448991964415075,
            "lng": 114.14391615748188,
            "distance_from_start": 12.143750157700051,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 25,
              "wave_height": 0.68,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.17,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.042258430811119,
            "lng": 114.21179617600444,
            "distance_from_start": 16.191666876933404,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.74,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.41,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.039617665180729,
            "lng": 114.27967619452699,
            "distance_from_start": 20.239583596166753,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.82,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.35,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.03697689955034,
            "lng": 114.34755621304954,
            "distance_from_start": 24.287500315400102,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.95,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.03433613391995,
            "lng": 114.4154362315721,
            "distance_from_start": 28.335417034633455,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 15,
              "wave_height": 0.87,
              "wind_speed": 15,
              "wind_from": "Timur",
              "wind_gust": 22,
              "current_speed": 0.69,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.031695368289561,
            "lng": 114.48331625009465,
            "distance_from_start": 32.38333375386681,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.82,
              "wind_speed": 16,
              "wind_from": "Timur",
              "wind_gust": 25,
              "current_speed": 0.62,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.054651500480389,
            "lng": 114.54078732922521,
            "distance_from_start": 36.43125047310016,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 14,
              "wave_height": 0.75,
              "wind_speed": 14,
              "wind_from": "Timur",
              "wind_gust": 22,
              "current_speed": 0.43,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.103320545425729,
            "lng": 114.58780229166841,
            "distance_from_start": 40.479167192333506,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 14,
              "wave_height": 0.75,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 20,
              "current_speed": 0.4,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.154473,
            "lng": 114.626425,
            "distance_from_start": 44.527083911566855,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 12,
              "wave_height": 0.73,
              "wind_speed": 12,
              "wind_from": "Timur",
              "wind_gust": 18,
              "current_speed": 0.4,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 2,
        "distance": "44.53"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.49,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Raas",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Timur",
            "current_speed": 0.4,
            "current_to": "Tenggara",
            "wave_height": 0.73,
            "weather": "Cerah Berawan",
            "temp_avg": 26.74,
            "rh_avg": 73.47,
            "visibility": 10
          }
        }
      }
    },
    {
      "route_name": "Kalianget → Masalembu",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.057364,
            "lng": 113.942891,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.43,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.042452436262383,
            "lng": 114.02432256726897,
            "distance_from_start": 5.070730822852316,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.57,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.2,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.032623078956145,
            "lng": 114.10883960271502,
            "distance_from_start": 10.141461645704632,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.64,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.21,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.022793721649908,
            "lng": 114.19335663816106,
            "distance_from_start": 15.21219246855695,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.71,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.19,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.007229065219645,
            "lng": 114.27199105315206,
            "distance_from_start": 20.282923291409265,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.75,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.21,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.923187414324372,
            "lng": 114.28038952061371,
            "distance_from_start": 25.35365411426158,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.89,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.35,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.839145763429099,
            "lng": 114.28878798807536,
            "distance_from_start": 30.4243849371139,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.95,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 20,
              "current_speed": 0.3,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.755104112533826,
            "lng": 114.297186455537,
            "distance_from_start": 35.49511575996621,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.04,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 21,
              "current_speed": 0.24,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.671062461638552,
            "lng": 114.30558492299865,
            "distance_from_start": 40.56584658281853,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.09,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.25,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.5870208107432795,
            "lng": 114.31398339046028,
            "distance_from_start": 45.63657740567085,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 1.13,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.35,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.502979159848006,
            "lng": 114.32238185792193,
            "distance_from_start": 50.70730822852316,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 1.16,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.418937508952733,
            "lng": 114.33078032538357,
            "distance_from_start": 55.77803905137548,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 1.21,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.57,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.334895858057459,
            "lng": 114.33917879284522,
            "distance_from_start": 60.8487698742278,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 1.25,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 23,
              "current_speed": 0.74,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.250854207162186,
            "lng": 114.34757726030686,
            "distance_from_start": 65.91950069708011,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.26,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.93,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.166812556266913,
            "lng": 114.3559757277685,
            "distance_from_start": 70.99023151993242,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.3,
              "wind_speed": 16,
              "wind_from": "Tenggara",
              "wind_gust": 25,
              "current_speed": 0.99,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -6.08277090537164,
            "lng": 114.36437419523014,
            "distance_from_start": 76.06096234278475,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.34,
              "wind_speed": 18,
              "wind_from": "Tenggara",
              "wind_gust": 28,
              "current_speed": 1.01,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.998729254476366,
            "lng": 114.37277266269179,
            "distance_from_start": 81.13169316563706,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1.38,
              "wind_speed": 20,
              "wind_from": "Tenggara",
              "wind_gust": 31,
              "current_speed": 1.02,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.914687603581093,
            "lng": 114.38117113015343,
            "distance_from_start": 86.20242398848937,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 1.39,
              "wind_speed": 19,
              "wind_from": "Tenggara",
              "wind_gust": 29,
              "current_speed": 0.88,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.83064595268582,
            "lng": 114.38956959761508,
            "distance_from_start": 91.2731548113417,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 1.38,
              "wind_speed": 18,
              "wind_from": "Tenggara",
              "wind_gust": 28,
              "current_speed": 0.77,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.746604301790547,
            "lng": 114.39796806507671,
            "distance_from_start": 96.34388563419401,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 1.35,
              "wind_speed": 18,
              "wind_from": "Tenggara",
              "wind_gust": 27,
              "current_speed": 0.75,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.662562650895273,
            "lng": 114.40636653253836,
            "distance_from_start": 101.41461645704632,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 15,
              "wave_height": 1.29,
              "wind_speed": 18,
              "wind_from": "Tenggara",
              "wind_gust": 27,
              "current_speed": 0.62,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -5.578521,
            "lng": 114.414765,
            "distance_from_start": 106.48534727989865,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 13,
              "wave_height": 1.09,
              "wind_speed": 18,
              "wind_from": "Tenggara",
              "wind_gust": 27,
              "current_speed": 0.53,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 4,
        "distance": "106.49"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.43,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Masalembu",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 18,
            "wind_gust": 27,
            "wind_from": "Tenggara",
            "current_speed": 0.53,
            "current_to": "Tenggara",
            "wave_height": 1.09,
            "weather": "Cerah Berawan",
            "temp_avg": 26.49,
            "rh_avg": 80.31,
            "visibility": 13
          }
        }
      }
    },
    {
      "route_name": "Kalianget → Jangkar",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.05729,
            "lng": 113.9429,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.43,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.117123560037876,
            "lng": 113.92362076882966,
            "distance_from_start": 4.752604700363331,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.54,
              "wind_speed": 10,
              "wind_from": "Tenggara",
              "wind_gust": 15,
              "current_speed": 0.11,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.186968358640668,
            "lng": 113.96116344969542,
            "distance_from_start": 9.505209400726661,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.63,
              "wind_speed": 10,
              "wind_from": "Tenggara",
              "wind_gust": 15,
              "current_speed": 0.08,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -7.256807603070509,
            "lng": 113.99871686942663,
            "distance_from_start": 14.25781410108999,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.72,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.3,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.3263616337799125,
            "lng": 114.03682174331725,
            "distance_from_start": 19.010418801453323,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.85,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.63,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.395915664489316,
            "lng": 114.07492661720785,
            "distance_from_start": 23.763023501816654,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.92,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.72,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.465469695198718,
            "lng": 114.11303149109845,
            "distance_from_start": 28.51562820217998,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.97,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.69,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.5174199595832984,
            "lng": 114.16635093594824,
            "distance_from_start": 33.26823290254331,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 25,
              "wave_height": 0.9,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 0.58,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.544071934838501,
            "lng": 114.24153516859415,
            "distance_from_start": 38.020837602906646,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.85,
              "wind_speed": 12,
              "wind_from": "Timur",
              "wind_gust": 10,
              "current_speed": 0.44,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.580039930128293,
            "lng": 114.29091205178605,
            "distance_from_start": 42.773442303269974,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 0.78,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 12,
              "current_speed": 0.37,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.648379965064146,
            "lng": 114.25061152589304,
            "distance_from_start": 47.52604700363331,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.65,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 7,
              "current_speed": 0.28,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.71672,
            "lng": 114.210311,
            "distance_from_start": 52.27865170399664,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 26,
              "wave_height": 0.54,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 7,
              "current_speed": 0.09,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 2,
        "distance": "52.28"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.43,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Jangkar",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 13,
            "wind_gust": 7,
            "wind_from": "Timur",
            "current_speed": 0.09,
            "current_to": "Tenggara",
            "wave_height": 0.54,
            "weather": "Cerah Berawan",
            "temp_avg": 25.11,
            "rh_avg": 61.7,
            "visibility": 26
          }
        }
      }
    },
    {
      "route_name": "Kalianget → Sapeken",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.057292,
            "lng": 113.942911,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.54,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.046344166273499,
            "lng": 114.03137881692274,
            "distance_from_start": 5.445398095482016,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.67,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.19,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.039540875837068,
            "lng": 114.12250283871799,
            "distance_from_start": 10.890796190964032,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 19,
              "wave_height": 0.71,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.21,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.032737585400637,
            "lng": 114.21362686051326,
            "distance_from_start": 16.336194286446045,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.75,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.16,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.025934294964206,
            "lng": 114.30475088230853,
            "distance_from_start": 21.781592381928064,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 0.78,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.2,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.019131004527775,
            "lng": 114.39587490410378,
            "distance_from_start": 27.22699047741008,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.82,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.36,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -7.012327714091344,
            "lng": 114.48699892589904,
            "distance_from_start": 32.67238857289209,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 19,
              "wave_height": 0.85,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.35,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.005524423654913,
            "lng": 114.5781229476943,
            "distance_from_start": 38.117786668374116,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 16,
              "wave_height": 0.87,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.38,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -6.998721133218482,
            "lng": 114.66924696948956,
            "distance_from_start": 43.56318476385613,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 14,
              "wave_height": 0.92,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.31,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.006034157512414,
            "lng": 114.76016393999413,
            "distance_from_start": 49.00858285933814,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 21,
              "wave_height": 1.02,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.38,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.01552452627976,
            "lng": 114.85104897426095,
            "distance_from_start": 54.45398095482016,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 1.08,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 20,
              "current_speed": 0.55,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.025014895047106,
            "lng": 114.94193400852775,
            "distance_from_start": 59.89937905030217,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 1,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 21,
              "current_speed": 0.76,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.034505263814452,
            "lng": 115.03281904279457,
            "distance_from_start": 65.34477714578418,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.98,
              "wind_speed": 16,
              "wind_from": "Timur",
              "wind_gust": 24,
              "current_speed": 0.95,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.043995632581797,
            "lng": 115.12370407706138,
            "distance_from_start": 70.7901752412662,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.96,
              "wind_speed": 19,
              "wind_from": "Timur",
              "wind_gust": 28,
              "current_speed": 1.02,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.053486001349143,
            "lng": 115.21458911132818,
            "distance_from_start": 76.23557333674823,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 1.07,
              "wind_speed": 19,
              "wind_from": "Timur",
              "wind_gust": 28,
              "current_speed": 0.81,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.062976370116489,
            "lng": 115.305474145595,
            "distance_from_start": 81.68097143223024,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 1.09,
              "wind_speed": 18,
              "wind_from": "Timur",
              "wind_gust": 27,
              "current_speed": 0.57,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.072466738883835,
            "lng": 115.3963591798618,
            "distance_from_start": 87.12636952771226,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 14,
              "wave_height": 1.12,
              "wind_speed": 16,
              "wind_from": "Timur",
              "wind_gust": 24,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.0819571076511805,
            "lng": 115.48724421412862,
            "distance_from_start": 92.57176762319428,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 19,
              "wave_height": 0.99,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 20,
              "current_speed": 0.39,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.0914474764185265,
            "lng": 115.57812924839543,
            "distance_from_start": 98.01716571867628,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.89,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.34,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.1009378451858725,
            "lng": 115.66901428266225,
            "distance_from_start": 103.4625638141583,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 22,
              "wave_height": 0.78,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.38,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.059553028837779,
            "lng": 115.72585120754101,
            "distance_from_start": 108.90796190964032,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.68,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.44,
              "current_to": "Selatan"
            }
          },
          {
            "lat": -7.008174,
            "lng": 115.703832,
            "distance_from_start": 114.35336000512234,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 16,
              "wave_height": 0.62,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 16,
              "current_speed": 0.41,
              "current_to": "Barat Daya"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 5,
        "distance": "114.35"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.54,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Sapeken",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 13,
            "wind_gust": 16,
            "wind_from": "Tenggara",
            "current_speed": 0.41,
            "current_to": "Barat Daya",
            "wave_height": 0.62,
            "weather": "Cerah Berawan",
            "temp_avg": 26.3,
            "rh_avg": 77.18,
            "visibility": 16
          }
        }
      }
    },
    {
      "route_name": "Kalianget → Sapudi",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -7.057327,
            "lng": 113.942859,
            "distance_from_start": 0,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.45,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 18,
              "current_speed": 0.23,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.086398915513759,
            "lng": 113.91094753082922,
            "distance_from_start": 2.58415698253516,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.54,
              "wind_speed": 10,
              "wind_from": "Tenggara",
              "wind_gust": 16,
              "current_speed": 0.17,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.103750808453253,
            "lng": 113.94617445878632,
            "distance_from_start": 5.16831396507032,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.62,
              "wind_speed": 11,
              "wind_from": "Tenggara",
              "wind_gust": 17,
              "current_speed": 0.11,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.120291051539803,
            "lng": 113.98621849820523,
            "distance_from_start": 7.75247094760548,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 25,
              "wave_height": 0.7,
              "wind_speed": 13,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.17,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.136831294626352,
            "lng": 114.02626253762415,
            "distance_from_start": 10.33662793014064,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 24,
              "wave_height": 0.78,
              "wind_speed": 12,
              "wind_from": "Tenggara",
              "wind_gust": 19,
              "current_speed": 0.39,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.153371537712902,
            "lng": 114.06630657704306,
            "distance_from_start": 12.9207849126758,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.85,
              "wind_speed": 14,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.45,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.155705828269812,
            "lng": 114.10958107439043,
            "distance_from_start": 15.50494189521096,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.92,
              "wind_speed": 15,
              "wind_from": "Tenggara",
              "wind_gust": 22,
              "current_speed": 0.49,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.15781106261585,
            "lng": 114.15290765951234,
            "distance_from_start": 18.089098877746117,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 23,
              "wave_height": 0.98,
              "wind_speed": 14,
              "wind_from": "Timur",
              "wind_gust": 22,
              "current_speed": 0.76,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.159916296961887,
            "lng": 114.19623424463425,
            "distance_from_start": 20.67325586028128,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 25,
              "wave_height": 0.92,
              "wind_speed": 14,
              "wind_from": "Timur",
              "wind_gust": 21,
              "current_speed": 0.68,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.162021531307925,
            "lng": 114.23956082975617,
            "distance_from_start": 23.25741284281644,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 20,
              "wave_height": 0.87,
              "wind_speed": 14,
              "wind_from": "Timur",
              "wind_gust": 22,
              "current_speed": 0.45,
              "current_to": "Timur"
            }
          },
          {
            "lat": -7.164126765653962,
            "lng": 114.28288741487808,
            "distance_from_start": 25.8415698253516,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 14,
              "wave_height": 0.8,
              "wind_speed": 14,
              "wind_from": "Timur",
              "wind_gust": 22,
              "current_speed": 0.34,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -7.166232,
            "lng": 114.326214,
            "distance_from_start": 28.425726807886758,
            "weather": {
              "weather": "Cerah Berawan",
              "visibility": 18,
              "wave_height": 0.72,
              "wind_speed": 13,
              "wind_from": "Timur",
              "wind_gust": 19,
              "current_speed": 0.28,
              "current_to": "Tenggara"
            }
          }
        ],
        "departure_time": "2026-08-24T07:00",
        "arrival_time": "2026-08-25T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 1,
        "distance": "28.43"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Kalianget",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 12,
            "wind_gust": 18,
            "wind_from": "Tenggara",
            "current_speed": 0.23,
            "current_to": "Tenggara",
            "wave_height": 0.45,
            "weather": "Cerah Berawan",
            "temp_avg": 26.73,
            "rh_avg": 71.18,
            "visibility": 24
          }
        },
        "destination": {
          "name": "Pelabuhan Sapudi",
          "province": "Jawa Timur",
          "weather": {
            "wind_speed": 13,
            "wind_gust": 19,
            "wind_from": "Timur",
            "current_speed": 0.28,
            "current_to": "Tenggara",
            "wave_height": 0.72,
            "weather": "Cerah Berawan",
            "temp_avg": 26.17,
            "rh_avg": 77.77,
            "visibility": 18
          }
        }
      }
    }
  ]
}