{
  "routes": [
    {
      "route_name": "KMP. Senangin, Kuala Tungkal - Punggur | Selasa 6 Januari 2025 15.00 WIB",
      "route_forecast": {
        "coordinates": [
          {
            "lat": -0.802398,
            "lng": 103.483485,
            "distance_from_start": 0,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 11,
              "wave_height": 0.32,
              "wind_speed": 5,
              "wind_from": "Barat Daya",
              "wind_gust": 8,
              "current_speed": 4.18,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": -0.7422123710694155,
            "lng": 103.57688271164204,
            "distance_from_start": 6.670744110742135,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 11,
              "wave_height": 0.27,
              "wind_speed": 7,
              "wind_from": "Barat Daya",
              "wind_gust": 10,
              "current_speed": 11.33,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": -0.6820267421388311,
            "lng": 103.67028042328408,
            "distance_from_start": 13.34148822148427,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 21,
              "wave_height": 0.27,
              "wind_speed": 8,
              "wind_from": "Barat Daya",
              "wind_gust": 13,
              "current_speed": 18,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": -0.6218411132082466,
            "lng": 103.76367813492612,
            "distance_from_start": 20.012232332226404,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 23,
              "wave_height": 0.27,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 15,
              "current_speed": 26.25,
              "current_to": "Barat Laut"
            }
          },
          {
            "lat": -0.5532529843029177,
            "lng": 103.85077379926413,
            "distance_from_start": 26.68297644296854,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.28,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 16,
              "current_speed": 31.13,
              "current_to": "Utara"
            }
          },
          {
            "lat": -0.48047608350596227,
            "lng": 103.93472779877783,
            "distance_from_start": 33.35372055371067,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 24,
              "wave_height": 0.31,
              "wind_speed": 12,
              "wind_from": "Barat Daya",
              "wind_gust": 18,
              "current_speed": 31.13,
              "current_to": "Utara"
            }
          },
          {
            "lat": -0.37394059954960585,
            "lng": 103.96279085429602,
            "distance_from_start": 40.02446466445281,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 27,
              "wave_height": 0.41,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 22.1,
              "current_to": "Utara"
            }
          },
          {
            "lat": -0.2657674802705093,
            "lng": 103.98814262943623,
            "distance_from_start": 46.695208775194935,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 27,
              "wave_height": 0.49,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 16,
              "current_speed": 11.94,
              "current_to": "Timur Laut"
            }
          },
          {
            "lat": -0.15759436099141266,
            "lng": 104.01349440457643,
            "distance_from_start": 53.36595288593708,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 24,
              "wave_height": 0.52,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 15,
              "current_speed": 19.73,
              "current_to": "Tenggara"
            }
          },
          {
            "lat": -0.04942124171231599,
            "lng": 104.03884617971666,
            "distance_from_start": 60.03669699667921,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 20,
              "wave_height": 0.52,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 15,
              "current_speed": 6.08,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.058751877566780575,
            "lng": 104.06419795485687,
            "distance_from_start": 66.70744110742135,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 15,
              "wave_height": 0.51,
              "wind_speed": 10,
              "wind_from": "Barat Daya",
              "wind_gust": 15,
              "current_speed": 21.65,
              "current_to": "Selatan"
            }
          },
          {
            "lat": 0.1607757486047413,
            "lng": 104.10640085611344,
            "distance_from_start": 73.37818521816347,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 15,
              "wave_height": 0.53,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 16,
              "current_speed": 52.61,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.2598528404233893,
            "lng": 104.15667897995243,
            "distance_from_start": 80.04892932890561,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 27,
              "wave_height": 0.53,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 70.14,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.35646789162090164,
            "lng": 104.21120783168536,
            "distance_from_start": 86.71967343964775,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 32,
              "wave_height": 0.49,
              "wind_speed": 13,
              "wind_from": "Barat Daya",
              "wind_gust": 20,
              "current_speed": 69.41,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.4288481970459225,
            "lng": 104.29353771491637,
            "distance_from_start": 93.39041755038987,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 22,
              "wave_height": 0.41,
              "wind_speed": 14,
              "wind_from": "Barat",
              "wind_gust": 21,
              "current_speed": 58.28,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.5168329543214178,
            "lng": 104.3598169844704,
            "distance_from_start": 100.061161661132,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 25,
              "wave_height": 0.35,
              "wind_speed": 14,
              "wind_from": "Barat",
              "wind_gust": 22,
              "current_speed": 57.04,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.5989318922706145,
            "lng": 104.4322655816746,
            "distance_from_start": 106.73190577187415,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 26,
              "wave_height": 0.32,
              "wind_speed": 13,
              "wind_from": "Barat",
              "wind_gust": 19,
              "current_speed": 66.02,
              "current_to": "Selatan"
            }
          },
          {
            "lat": 0.7019556635425735,
            "lng": 104.40724101331955,
            "distance_from_start": 113.40264988261629,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 23,
              "wave_height": 0.28,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 39.57,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.791801263406404,
            "lng": 104.34267028046625,
            "distance_from_start": 120.07339399335842,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 20,
              "wave_height": 0.27,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 22.02,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.8773951085221747,
            "lng": 104.27182586581776,
            "distance_from_start": 126.74413810410054,
            "weather": {
              "weather": "Hujan Ringan",
              "visibility": 19,
              "wave_height": 0.29,
              "wind_speed": 12,
              "wind_from": "Barat",
              "wind_gust": 18,
              "current_speed": 20.18,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 0.9629889536379455,
            "lng": 104.20098145116927,
            "distance_from_start": 133.4148822148427,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 19,
              "wave_height": 0.28,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 17,
              "current_speed": 21.55,
              "current_to": "Barat Daya"
            }
          },
          {
            "lat": 1.033382,
            "lng": 104.132097,
            "distance_from_start": 140.08562632558483,
            "weather": {
              "weather": "Berawan Tebal",
              "visibility": 14,
              "wave_height": 0.32,
              "wind_speed": 11,
              "wind_from": "Barat Daya",
              "wind_gust": 16,
              "current_speed": 20.91,
              "current_to": "Selatan"
            }
          }
        ],
        "departure_time": "2026-01-06T15:00",
        "arrival_time": "2026-01-07T09:00",
        "timezone": "Asia/Jakarta",
        "speed": 8,
        "distance": "140.09"
      },
      "port_forecast": {
        "origin": {
          "name": "Pelabuhan Roro Kuala Tungkal",
          "province": "Jambi",
          "weather": {
            "wind_speed": 5,
            "wind_gust": 8,
            "wind_from": "Barat Daya",
            "current_speed": 4.18,
            "current_to": "Barat Laut",
            "wave_height": 0.32,
            "weather": "Hujan Ringan",
            "temp_avg": 27.42,
            "rh_avg": 81.2,
            "visibility": 11
          }
        },
        "destination": {
          "name": "Pelabuhan Telaga Punggur",
          "province": "Kepulauan Riau",
          "weather": {
            "wind_speed": 11,
            "wind_gust": 16,
            "wind_from": "Barat Daya",
            "current_speed": 20.91,
            "current_to": "Selatan",
            "wave_height": 0.32,
            "weather": "Berawan Tebal",
            "temp_avg": 27.49,
            "rh_avg": 78.91,
            "visibility": 14
          }
        }
      }
    }
  ]
}