{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "JNB",
                "name": "Johannesburg",
                "country_code": "ZA",
                "country_name": "South Africa",
                "is_hub": false
            },
            "destination": {
                "iata": "CAN",
                "name": "Guangzhou",
                "country_code": "CN",
                "country_name": "China",
                "is_hub": true
            },
            "slug": "jnb-can"
        },
        "parameters": {
            "agencies": [
                "Mytrip.com",
                "OneTwoTrip",
                "Trip.com"
            ],
            "agencies_count": 3,
            "airlines": [
                "CX",
                "DT",
                "ET",
                "TK"
            ],
            "airlines_count": 4,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "CAN"
            ],
            "airports_departure": 2,
            "airports_departure_list": [
                "JNB"
            ],
            "avg_duration_min": 1163,
            "avg_price": 498.5,
            "avg_transfers": 1.2,
            "cheapest_agency": "Trip.com",
            "cheapest_month": 11,
            "cheapest_weekday": 2,
            "departures_per_week": 0,
            "direct_flights_count": 0,
            "direct_share": 0,
            "distance_km": 10676,
            "eco_score": 2.3,
            "flight_time_min": 784,
            "flights_found": 5,
            "has_direct": false,
            "max_duration_min": 1240,
            "max_price": 615,
            "min_duration_min": 1035,
            "min_price": 451,
            "min_price_1stop": 451,
            "months_with_flights": [
                11,
                12
            ],
            "popularity_score": 0.3,
            "seasonality": 1,
            "time_diff_hours": 6
        },
        "calendar": [
            {
                "date": "2026-11-13",
                "price_usd": 501,
                "transfers": 2,
                "airline": "CX",
                "gate": "Trip.com",
                "duration_min": 1130
            },
            {
                "date": "2026-11-17",
                "price_usd": 451,
                "transfers": 1,
                "airline": "DT",
                "gate": "Trip.com",
                "duration_min": 1035
            },
            {
                "date": "2026-12-03",
                "price_usd": 466,
                "transfers": 1,
                "airline": null,
                "gate": "Mytrip.com",
                "duration_min": 0
            },
            {
                "date": "2026-12-04",
                "price_usd": 466,
                "transfers": 1,
                "airline": "ET",
                "gate": "Mytrip.com",
                "duration_min": 1240
            },
            {
                "date": "2026-12-11",
                "price_usd": 492,
                "transfers": 1,
                "airline": "ET",
                "gate": "OneTwoTrip",
                "duration_min": 1220
            },
            {
                "date": "2026-12-12",
                "price_usd": 615,
                "transfers": 1,
                "airline": "TK",
                "gate": "Trip.com",
                "duration_min": 1190
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-17",
                "price_usd": 451,
                "airline": "DT",
                "flight_number": "576",
                "departure_airport": "JNB",
                "arrival_airport": "CAN",
                "departure_time": "06:45:00",
                "arrival_time": "00:00:00",
                "duration_min": 1035,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "5e758fb18fabd7f75ba30170111c894b"
            },
            {
                "depart_date": "2026-12-04",
                "price_usd": 466,
                "airline": "ET",
                "flight_number": "858",
                "departure_airport": "JNB",
                "arrival_airport": "CAN",
                "departure_time": "00:00:00",
                "arrival_time": "20:40:00",
                "duration_min": 1240,
                "transfers": 1,
                "gate": "Mytrip.com",
                "ticket_id": "331b35af27185da5a13fbb5fe64afeff"
            },
            {
                "depart_date": "2026-12-11",
                "price_usd": 492,
                "airline": "ET",
                "flight_number": "808",
                "departure_airport": "JNB",
                "arrival_airport": "CAN",
                "departure_time": "15:30:00",
                "arrival_time": "11:50:00",
                "duration_min": 1220,
                "transfers": 1,
                "gate": "OneTwoTrip",
                "ticket_id": "83fae5ebb68c8a410c05addbf1e84ad7"
            },
            {
                "depart_date": "2026-11-13",
                "price_usd": 501,
                "airline": "CX",
                "flight_number": "748",
                "departure_airport": "JNB",
                "arrival_airport": "CAN",
                "departure_time": "12:00:00",
                "arrival_time": "06:50:00",
                "duration_min": 1130,
                "transfers": 2,
                "gate": "Trip.com",
                "ticket_id": "e90265ab4aa153a2e0ec3ea04cd5c518"
            },
            {
                "depart_date": "2026-12-12",
                "price_usd": 615,
                "airline": "TK",
                "flight_number": "243",
                "departure_airport": "JNB",
                "arrival_airport": "CAN",
                "departure_time": "01:20:00",
                "arrival_time": "21:10:00",
                "duration_min": 1190,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "7a5dc2fb0b88fef2918bc158d54d75c5"
            }
        ],
        "airlines": [
            {
                "iata": "DT",
                "name": "TAAG Angola",
                "logo_url": "https://img.wway.io/pics/root/DT@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 68,
                "min_price_usd": 451
            },
            {
                "iata": "ET",
                "name": "Ethiopian Airlines",
                "logo_url": "https://img.wway.io/pics/root/ET@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 223,
                "min_price_usd": 466
            },
            {
                "iata": "CX",
                "name": "Cathay Pacific",
                "logo_url": "https://img.wway.io/pics/root/CX@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 180,
                "min_price_usd": 501
            },
            {
                "iata": "TK",
                "name": "Turkish Airlines",
                "logo_url": "https://img.wway.io/pics/root/TK@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 544,
                "min_price_usd": 615
            }
        ],
        "agencies": [
            {
                "name": "Trip.com",
                "min_price_usd": 451,
                "tickets_count": 3
            },
            {
                "name": "Mytrip.com",
                "min_price_usd": 466,
                "tickets_count": 1
            },
            {
                "name": "OneTwoTrip",
                "min_price_usd": 492,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "JNB",
                    "name": "O.R. Tambo International Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                }
            ],
            "arrival": [
                {
                    "iata": "CAN",
                    "name": "Guangzhou Baiyun International Airport",
                    "iata_type": "airport",
                    "time_zone": "Asia/Shanghai"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/jnb-can/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/jnb-can",
            "qa": "https://cityvator.com/api/qa/route/jnb-can",
            "compare": "https://cityvator.com/api/compare/jnb-can-vs-"
        },
        "updated_at": "2026-11-09 02:19:50"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-12T22:04:35+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}