{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "JKT",
                "name": "Jakarta",
                "country_code": "ID",
                "country_name": "Indonesia",
                "is_hub": false
            },
            "destination": {
                "iata": "SUB",
                "name": "Surabaya",
                "country_code": "ID",
                "country_name": "Indonesia",
                "is_hub": false
            },
            "slug": "jkt-sub"
        },
        "parameters": {
            "agencies": [
                "Lucky2Go",
                "Trip.com",
                "Авиасейлс"
            ],
            "agencies_count": 3,
            "airlines": [
                "IP",
                "IU",
                "JT"
            ],
            "airlines_count": 3,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "SUB"
            ],
            "airports_departure": 2,
            "airports_departure_list": [
                "CGK"
            ],
            "avg_duration_min": 92,
            "avg_price": 66.3333,
            "avg_transfers": 0,
            "cheapest_agency": "Trip.com",
            "cheapest_month": 11,
            "cheapest_weekday": 6,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "IP",
                "IU",
                "JT"
            ],
            "direct_flights_count": 10,
            "direct_share": 100,
            "distance_km": 663,
            "eco_score": 9.7,
            "flight_time_min": 77,
            "flights_found": 10,
            "has_direct": true,
            "max_duration_min": 95,
            "max_price": 75,
            "min_duration_min": 90,
            "min_price": 61,
            "min_price_direct": 61,
            "months_with_flights": [
                11,
                12
            ],
            "popularity_score": 0.5,
            "seasonality": 1,
            "time_diff_hours": 0
        },
        "calendar": [
            {
                "date": "2026-11-13",
                "price_usd": 61,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-14",
                "price_usd": 61,
                "transfers": 0,
                "airline": "JT",
                "gate": "Trip.com",
                "duration_min": 90
            },
            {
                "date": "2026-11-15",
                "price_usd": 61,
                "transfers": 0,
                "airline": null,
                "gate": "Trip.com",
                "duration_min": 0
            },
            {
                "date": "2026-11-16",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-17",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-18",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-19",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-20",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-21",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-22",
                "price_usd": 62,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-23",
                "price_usd": 63,
                "transfers": 0,
                "airline": "JT",
                "gate": "Lucky2Go",
                "duration_min": 90
            },
            {
                "date": "2026-12-12",
                "price_usd": 69,
                "transfers": 0,
                "airline": "IP",
                "gate": "Авиасейлс",
                "duration_min": 95
            },
            {
                "date": "2026-12-13",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-14",
                "price_usd": 75,
                "transfers": 0,
                "airline": "IU",
                "gate": "Trip.com",
                "duration_min": 90
            },
            {
                "date": "2026-12-15",
                "price_usd": 72,
                "transfers": 0,
                "airline": "IP",
                "gate": "Trip.com",
                "duration_min": 95
            },
            {
                "date": "2026-12-16",
                "price_usd": 72,
                "transfers": 0,
                "airline": "IP",
                "gate": "Trip.com",
                "duration_min": 95
            },
            {
                "date": "2026-12-17",
                "price_usd": 72,
                "transfers": 0,
                "airline": "IP",
                "gate": "Trip.com",
                "duration_min": 95
            },
            {
                "date": "2026-12-18",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-19",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-20",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-21",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-22",
                "price_usd": 72,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-23",
                "price_usd": 72,
                "transfers": 0,
                "airline": "JT",
                "gate": "Lucky2Go",
                "duration_min": 90
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-14",
                "price_usd": 61,
                "airline": "JT",
                "flight_number": "690",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "23:35:00",
                "arrival_time": "01:05:00",
                "duration_min": 90,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "a03b092790dc7fd99a327735c589a9bf"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 63,
                "airline": "JT",
                "flight_number": "694",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "05:05:00",
                "arrival_time": "06:35:00",
                "duration_min": 90,
                "transfers": 0,
                "gate": "Lucky2Go",
                "ticket_id": "0b75b337d0773c363886858c840c833e"
            },
            {
                "depart_date": "2026-12-12",
                "price_usd": 69,
                "airline": "IP",
                "flight_number": "212",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "15:45:00",
                "arrival_time": "17:20:00",
                "duration_min": 95,
                "transfers": 0,
                "gate": "Авиасейлс",
                "ticket_id": "5cd97553b8ddba1aad0564b197f1c90f"
            },
            {
                "depart_date": "2026-12-15",
                "price_usd": 72,
                "airline": "IP",
                "flight_number": "212",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "15:45:00",
                "arrival_time": "17:20:00",
                "duration_min": 95,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "b4e9fb62eaf18ade691006e112edf212"
            },
            {
                "depart_date": "2026-12-16",
                "price_usd": 72,
                "airline": "IP",
                "flight_number": "212",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "15:45:00",
                "arrival_time": "17:20:00",
                "duration_min": 95,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "ad6097d15504a0bb7998896deaf66dab"
            },
            {
                "depart_date": "2026-12-17",
                "price_usd": 72,
                "airline": "IP",
                "flight_number": "212",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "15:45:00",
                "arrival_time": "17:20:00",
                "duration_min": 95,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "426f3f66b9e0b5a5b9ed7813a163d528"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 72,
                "airline": "JT",
                "flight_number": "694",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "05:05:00",
                "arrival_time": "06:35:00",
                "duration_min": 90,
                "transfers": 0,
                "gate": "Lucky2Go",
                "ticket_id": "0abeb49b19a3f9120d4b4f59a1f39c6d"
            },
            {
                "depart_date": "2026-12-14",
                "price_usd": 75,
                "airline": "IU",
                "flight_number": "196",
                "departure_airport": "CGK",
                "arrival_airport": "SUB",
                "departure_time": "12:55:00",
                "arrival_time": "14:25:00",
                "duration_min": 90,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "6fdf9cc04cb6bd18a544320902490db6"
            }
        ],
        "airlines": [
            {
                "iata": "JT",
                "name": "Lion Air",
                "logo_url": "https://img.wway.io/pics/root/JT@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 245,
                "min_price_usd": 61
            },
            {
                "iata": "IU",
                "name": "Super Air Jet",
                "logo_url": "https://img.wway.io/pics/root/IU@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 0,
                "min_price_usd": 62
            },
            {
                "iata": "IP",
                "name": "Pelita Air",
                "logo_url": "https://img.wway.io/pics/root/IP@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 36,
                "min_price_usd": 69
            }
        ],
        "agencies": [
            {
                "name": "Trip.com",
                "min_price_usd": 61,
                "tickets_count": 7
            },
            {
                "name": "Lucky2Go",
                "min_price_usd": 63,
                "tickets_count": 2
            },
            {
                "name": "Авиасейлс",
                "min_price_usd": 69,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "CGK",
                    "name": "Soekarno-Hatta International Airport",
                    "iata_type": "airport",
                    "time_zone": "Asia/Jakarta"
                }
            ],
            "arrival": [
                {
                    "iata": "SUB",
                    "name": "Juanda International Airport",
                    "iata_type": "airport",
                    "time_zone": "Asia/Jakarta"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/jkt-sub/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/jkt-sub",
            "qa": "https://cityvator.com/api/qa/route/jkt-sub",
            "compare": "https://cityvator.com/api/compare/jkt-sub-vs-"
        },
        "updated_at": "2026-11-08 20:43:41"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-13T01:18:41+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}