{
  "routes": [
    {
      "route_name": "Ciwandan - Wijaya Karya Beton PP 07.00",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -6.014684427526532,
            "lng": 105.95136962379502,
            "distance_from_start": 0,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 13,
              "wave_height": 0.41,
              "wind_speed": 5,
              "wind_from": "Barat",
              "wind_gust": 8,
              "current_speed": 10.11,
              "current_to": "Barat"
            }
          },
          {
            "lat": -5.992260243946722,
            "lng": 105.9406672280631,
            "distance_from_start": 1.4903840348974204,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.39,
              "wind_speed": 5,
              "wind_from": "Barat",
              "wind_gust": 8,
              "current_speed": 12.94,
              "current_to": "Barat"
            }
          },
          {
            "lat": -5.969298328407781,
            "lng": 105.93125605603242,
            "distance_from_start": 2.980768069794841,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 18,
              "wave_height": 0.38,
              "wind_speed": 6,
              "wind_from": "Barat",
              "wind_gust": 9,
              "current_speed": 22.8,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.945925279872787,
            "lng": 105.92285137774773,
            "distance_from_start": 4.471152104692261,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 0.37,
              "wind_speed": 7,
              "wind_from": "Barat",
              "wind_gust": 10,
              "current_speed": 37.91,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.922552231337793,
            "lng": 105.91444669946304,
            "distance_from_start": 5.961536139589682,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 0.35,
              "wind_speed": 7,
              "wind_from": "Barat",
              "wind_gust": 11,
              "current_speed": 58.62,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.901063468370784,
            "lng": 105.90340634560741,
            "distance_from_start": 7.451920174487103,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 18,
              "wave_height": 0.34,
              "wind_speed": 8,
              "wind_from": "Barat",
              "wind_gust": 12,
              "current_speed": 72.68,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.8856869396643505,
            "lng": 105.88381640309161,
            "distance_from_start": 8.942304209384522,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 18,
              "wave_height": 0.33,
              "wind_speed": 7,
              "wind_from": "Barat",
              "wind_gust": 11,
              "current_speed": 82.77,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.8703104109579165,
            "lng": 105.86422646057581,
            "distance_from_start": 10.432688244281943,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 18,
              "wave_height": 0.32,
              "wind_speed": 7,
              "wind_from": "Barat Laut",
              "wind_gust": 10,
              "current_speed": 87.15,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.8549338822514825,
            "lng": 105.84463651806001,
            "distance_from_start": 11.923072279179364,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 17,
              "wave_height": 0.31,
              "wind_speed": 7,
              "wind_from": "Barat Laut",
              "wind_gust": 10,
              "current_speed": 90.92,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.846564824155901,
            "lng": 105.82213689531665,
            "distance_from_start": 13.413456314076786,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 16,
              "wave_height": 0.3,
              "wind_speed": 6,
              "wind_from": "Barat Laut",
              "wind_gust": 10,
              "current_speed": 78.66,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.84370283181298,
            "lng": 105.79735059864734,
            "distance_from_start": 14.903840348974207,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 13,
              "wave_height": 0.3,
              "wind_speed": 6,
              "wind_from": "Barat Laut",
              "wind_gust": 9,
              "current_speed": 60.82,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.842531446042727,
            "lng": 105.77281149243282,
            "distance_from_start": 16.394224383871624,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 11,
              "wave_height": 0.32,
              "wind_speed": 6,
              "wind_from": "Barat Laut",
              "wind_gust": 9,
              "current_speed": 43.74,
              "current_to": "Barat Daya"
            }
          }
        ],
        "departure_time": "2026-01-01T07:00",
        "arrival_time": "2026-01-01T13:00",
        "timezone": "Asia/Jakarta",
        "speed": 3,
        "distance": "16.39"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Ciwandan",
          "province": "Banten",
          "weather": {
            "wind_speed": 5,
            "wind_gust": 8,
            "wind_from": "Barat",
            "current_speed": 10.11,
            "current_to": "Barat",
            "wave_height": 0.41,
            "weather": "Hujan Ringan",
            "temp_avg": 24.84,
            "rh_avg": 91.38,
            "visibility": 13
          }
        },
        "destination": {
          "name": "Pelabuhan Wijaya Karya Beton",
          "province": "Lampung",
          "weather": {
            "wind_speed": 6,
            "wind_gust": 9,
            "wind_from": "Barat Laut",
            "current_speed": 43.74,
            "current_to": "Barat Daya",
            "wave_height": 0.32,
            "weather": "Hujan Sedang",
            "temp_avg": 27.76,
            "rh_avg": 76.28,
            "visibility": 11
          }
        }
      }
    },
    {
      "route_name": "Ciwandan - Wijaya Karya Beton PP 13.00",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -6.014684427526532,
            "lng": 105.95136962379502,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 11,
              "wave_height": 0.36,
              "wind_speed": 6,
              "wind_from": "Utara",
              "wind_gust": 9,
              "current_speed": 27.07,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.992260243946722,
            "lng": 105.9406672280631,
            "distance_from_start": 1.4903840348974204,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.34,
              "wind_speed": 6,
              "wind_from": "Utara",
              "wind_gust": 10,
              "current_speed": 25.96,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.969298328407781,
            "lng": 105.93125605603242,
            "distance_from_start": 2.980768069794841,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.35,
              "wind_speed": 7,
              "wind_from": "Utara",
              "wind_gust": 11,
              "current_speed": 27.02,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.945925279872787,
            "lng": 105.92285137774773,
            "distance_from_start": 4.471152104692261,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.36,
              "wind_speed": 8,
              "wind_from": "Utara",
              "wind_gust": 12,
              "current_speed": 23.49,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": -5.922552231337793,
            "lng": 105.91444669946304,
            "distance_from_start": 5.961536139589682,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.36,
              "wind_speed": 8,
              "wind_from": "Utara",
              "wind_gust": 12,
              "current_speed": 15.14,
              "current_to": "Barat"
            }
          },
          {
            "lat": -5.901063468370784,
            "lng": 105.90340634560741,
            "distance_from_start": 7.451920174487103,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.37,
              "wind_speed": 8,
              "wind_from": "Utara",
              "wind_gust": 13,
              "current_speed": 15.79,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.8856869396643505,
            "lng": 105.88381640309161,
            "distance_from_start": 8.942304209384522,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.38,
              "wind_speed": 9,
              "wind_from": "Utara",
              "wind_gust": 13,
              "current_speed": 34.16,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.8703104109579165,
            "lng": 105.86422646057581,
            "distance_from_start": 10.432688244281943,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.37,
              "wind_speed": 9,
              "wind_from": "Utara",
              "wind_gust": 13,
              "current_speed": 55.37,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.8549338822514825,
            "lng": 105.84463651806001,
            "distance_from_start": 11.923072279179364,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.36,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 13,
              "current_speed": 76.33,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.846564824155901,
            "lng": 105.82213689531665,
            "distance_from_start": 13.413456314076786,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 10,
              "wave_height": 0.34,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 13,
              "current_speed": 84.34,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.84370283181298,
            "lng": 105.79735059864734,
            "distance_from_start": 14.903840348974207,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.36,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 13,
              "current_speed": 81.57,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.842531446042727,
            "lng": 105.77281149243282,
            "distance_from_start": 16.394224383871624,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 9,
              "wave_height": 0.4,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 71.82,
              "current_to": "Utara"
            }
          }
        ],
        "departure_time": "2026-01-01T13:00",
        "arrival_time": "2026-01-01T19:00",
        "timezone": "Asia/Jakarta",
        "speed": 3,
        "distance": "16.39"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Ciwandan",
          "province": "Banten",
          "weather": {
            "wind_speed": 6,
            "wind_gust": 9,
            "wind_from": "Utara",
            "current_speed": 27.07,
            "current_to": "Barat Daya",
            "wave_height": 0.36,
            "weather": "Berawan Tebal",
            "temp_avg": 27.67,
            "rh_avg": 78.55,
            "visibility": 11
          }
        },
        "destination": {
          "name": "Pelabuhan Wijaya Karya Beton",
          "province": "Lampung",
          "weather": {
            "wind_speed": 9,
            "wind_gust": 14,
            "wind_from": "Timur Laut",
            "current_speed": 71.82,
            "current_to": "Utara",
            "wave_height": 0.4,
            "weather": "Hujan Ringan",
            "temp_avg": 25.71,
            "rh_avg": 88.46,
            "visibility": 9
          }
        }
      }
    },
    {
      "route_name": "Ciwandan - Wijaya Karya Beton PP 19.00",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -6.014684427526532,
            "lng": 105.95136962379502,
            "distance_from_start": 0,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.44,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 52.54,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.992260243946722,
            "lng": 105.9406672280631,
            "distance_from_start": 1.4903840348974204,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.42,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 63.57,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.969298328407781,
            "lng": 105.93125605603242,
            "distance_from_start": 2.980768069794841,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 7,
              "wave_height": 0.43,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 87.81,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.945925279872787,
            "lng": 105.92285137774773,
            "distance_from_start": 4.471152104692261,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 8,
              "wave_height": 0.43,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 115.01,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.922552231337793,
            "lng": 105.91444669946304,
            "distance_from_start": 5.961536139589682,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 9,
              "wave_height": 0.43,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 144.97,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.901063468370784,
            "lng": 105.90340634560741,
            "distance_from_start": 7.451920174487103,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 11,
              "wave_height": 0.43,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 151.82,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.8856869396643505,
            "lng": 105.88381640309161,
            "distance_from_start": 8.942304209384522,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 12,
              "wave_height": 0.44,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 149.9,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.8703104109579165,
            "lng": 105.86422646057581,
            "distance_from_start": 10.432688244281943,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 12,
              "wave_height": 0.43,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 138.34,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.8549338822514825,
            "lng": 105.84463651806001,
            "distance_from_start": 11.923072279179364,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 11,
              "wave_height": 0.4,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 124.41,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.846564824155901,
            "lng": 105.82213689531665,
            "distance_from_start": 13.413456314076786,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 10,
              "wave_height": 0.37,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 97.34,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.84370283181298,
            "lng": 105.79735059864734,
            "distance_from_start": 14.903840348974207,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 9,
              "wave_height": 0.37,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 70.06,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.842531446042727,
            "lng": 105.77281149243282,
            "distance_from_start": 16.394224383871624,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 8,
              "wave_height": 0.41,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 15,
              "current_speed": 47.42,
              "current_to": "Utara"
            }
          }
        ],
        "departure_time": "2026-01-01T19:00",
        "arrival_time": "2026-01-02T01:00",
        "timezone": "Asia/Jakarta",
        "speed": 3,
        "distance": "16.39"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Ciwandan",
          "province": "Banten",
          "weather": {
            "wind_speed": 9,
            "wind_gust": 14,
            "wind_from": "Timur Laut",
            "current_speed": 52.54,
            "current_to": "Utara",
            "wave_height": 0.44,
            "weather": "Berawan Tebal",
            "temp_avg": 25.15,
            "rh_avg": 91.18,
            "visibility": 7
          }
        },
        "destination": {
          "name": "Pelabuhan Wijaya Karya Beton",
          "province": "Lampung",
          "weather": {
            "wind_speed": 10,
            "wind_gust": 15,
            "wind_from": "Timur Laut",
            "current_speed": 47.42,
            "current_to": "Utara",
            "wave_height": 0.41,
            "weather": "Berawan Tebal",
            "temp_avg": 24.76,
            "rh_avg": 92.69,
            "visibility": 8
          }
        }
      }
    },
    {
      "route_name": "Ciwandan - Wijaya Karya Beton PP 01.00",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -6.014684427526532,
            "lng": 105.95136962379502,
            "distance_from_start": 0,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 5,
              "wave_height": 0.39,
              "wind_speed": 8,
              "wind_from": "Timur Laut",
              "wind_gust": 13,
              "current_speed": 35.23,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.992260243946722,
            "lng": 105.9406672280631,
            "distance_from_start": 1.4903840348974204,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 6,
              "wave_height": 0.38,
              "wind_speed": 9,
              "wind_from": "Timur Laut",
              "wind_gust": 14,
              "current_speed": 39.16,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.969298328407781,
            "lng": 105.93125605603242,
            "distance_from_start": 2.980768069794841,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 7,
              "wave_height": 0.41,
              "wind_speed": 10,
              "wind_from": "Timur Laut",
              "wind_gust": 16,
              "current_speed": 48.77,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.945925279872787,
            "lng": 105.92285137774773,
            "distance_from_start": 4.471152104692261,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 8,
              "wave_height": 0.44,
              "wind_speed": 11,
              "wind_from": "Timur Laut",
              "wind_gust": 17,
              "current_speed": 57.45,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.922552231337793,
            "lng": 105.91444669946304,
            "distance_from_start": 5.961536139589682,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 10,
              "wave_height": 0.47,
              "wind_speed": 12,
              "wind_from": "Utara",
              "wind_gust": 18,
              "current_speed": 62.02,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.901063468370784,
            "lng": 105.90340634560741,
            "distance_from_start": 7.451920174487103,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 11,
              "wave_height": 0.5,
              "wind_speed": 12,
              "wind_from": "Utara",
              "wind_gust": 19,
              "current_speed": 52.87,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.8856869396643505,
            "lng": 105.88381640309161,
            "distance_from_start": 8.942304209384522,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 12,
              "wave_height": 0.52,
              "wind_speed": 13,
              "wind_from": "Utara",
              "wind_gust": 19,
              "current_speed": 41.34,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -5.8703104109579165,
            "lng": 105.86422646057581,
            "distance_from_start": 10.432688244281943,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 14,
              "wave_height": 0.5,
              "wind_speed": 13,
              "wind_from": "Utara",
              "wind_gust": 20,
              "current_speed": 29.19,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.8549338822514825,
            "lng": 105.84463651806001,
            "distance_from_start": 11.923072279179364,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 16,
              "wave_height": 0.45,
              "wind_speed": 13,
              "wind_from": "Utara",
              "wind_gust": 20,
              "current_speed": 16.78,
              "current_to": "Utara"
            }
          },
          {
            "lat": -5.846564824155901,
            "lng": 105.82213689531665,
            "distance_from_start": 13.413456314076786,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 18,
              "wave_height": 0.39,
              "wind_speed": 13,
              "wind_from": "Utara",
              "wind_gust": 20,
              "current_speed": 9.14,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": -5.84370283181298,
            "lng": 105.79735059864734,
            "distance_from_start": 14.903840348974207,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.41,
              "wind_speed": 14,
              "wind_from": "Utara",
              "wind_gust": 21,
              "current_speed": 7.95,
              "current_to": "Barat"
            }
          },
          {
            "lat": -5.842531446042727,
            "lng": 105.77281149243282,
            "distance_from_start": 16.394224383871624,
            "weather": {
              "weather": "Hujan Sedang",
              "visibility": 21,
              "wave_height": 0.47,
              "wind_speed": 14,
              "wind_from": "Utara",
              "wind_gust": 22,
              "current_speed": 9.05,
              "current_to": "Barat"
            }
          }
        ],
        "departure_time": "2026-01-02T01:00",
        "arrival_time": "2026-01-02T07:00",
        "timezone": "Asia/Jakarta",
        "speed": 3,
        "distance": "16.39"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Ciwandan",
          "province": "Banten",
          "weather": {
            "wind_speed": 8,
            "wind_gust": 13,
            "wind_from": "Timur Laut",
            "current_speed": 35.23,
            "current_to": "Utara",
            "wave_height": 0.39,
            "weather": "Hujan Ringan",
            "temp_avg": 24.76,
            "rh_avg": 92.29,
            "visibility": 5
          }
        },
        "destination": {
          "name": "Pelabuhan Wijaya Karya Beton",
          "province": "Lampung",
          "weather": {
            "wind_speed": 14,
            "wind_gust": 22,
            "wind_from": "Utara",
            "current_speed": 9.05,
            "current_to": "Barat",
            "wave_height": 0.47,
            "weather": "Hujan Sedang",
            "temp_avg": 24.27,
            "rh_avg": 92.53,
            "visibility": 21
          }
        }
      }
    }
  ]
}