{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "JNB",
                "name": "Johannesburg",
                "country_code": "ZA",
                "country_name": "South Africa",
                "is_hub": false
            },
            "destination": {
                "iata": "PAR",
                "name": "Paris",
                "country_code": "FR",
                "country_name": "France",
                "is_hub": false
            },
            "slug": "jnb-cdg"
        },
        "parameters": {
            "agencies": [
                "Farera",
                "Gotogate",
                "Turna.com",
                "Wingie"
            ],
            "agencies_count": 4,
            "airlines": [
                "AF",
                "EY",
                "QR"
            ],
            "airlines_count": 3,
            "airports_arrival": 0,
            "airports_arrival_list": [
                "CDG"
            ],
            "airports_departure": 2,
            "airports_departure_list": [
                "JNB"
            ],
            "avg_duration_min": 791,
            "avg_price": 390,
            "avg_transfers": 0.5,
            "cheapest_agency": "Farera",
            "cheapest_month": 11,
            "cheapest_weekday": 1,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "AF"
            ],
            "direct_flights_count": 5,
            "direct_share": 50,
            "distance_km": 8728,
            "eco_score": 4.6,
            "flight_time_min": 646,
            "flights_found": 10,
            "has_direct": true,
            "max_duration_min": 925,
            "max_price": 413,
            "min_duration_min": 655,
            "min_price": 368,
            "min_price_1stop": 368,
            "min_price_direct": 728,
            "months_with_flights": [
                10,
                11
            ],
            "popularity_score": 0.5,
            "seasonality": 1,
            "time_diff_hours": 0
        },
        "calendar": [
            {
                "date": "2026-11-22",
                "price_usd": 370,
                "transfers": 0,
                "airline": "EY",
                "gate": "Gotogate",
                "duration_min": 915
            },
            {
                "date": "2026-11-23",
                "price_usd": 368,
                "transfers": 0,
                "airline": "EY",
                "gate": "Farera",
                "duration_min": 915
            },
            {
                "date": "2026-11-24",
                "price_usd": 399,
                "transfers": 0,
                "airline": "QR",
                "gate": "Gotogate",
                "duration_min": 905
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-23",
                "price_usd": 368,
                "airline": "EY",
                "flight_number": "748",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "10:50:00",
                "arrival_time": "02:05:00",
                "duration_min": 915,
                "transfers": 1,
                "gate": "Farera",
                "ticket_id": "33b138e281b0baefe30ba25921e6f247"
            },
            {
                "depart_date": "2026-11-22",
                "price_usd": 370,
                "airline": "EY",
                "flight_number": "748",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "10:50:00",
                "arrival_time": "02:05:00",
                "duration_min": 915,
                "transfers": 1,
                "gate": "Gotogate",
                "ticket_id": "f0ca1b8e23b3a62c658b65616fcf0f08"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 399,
                "airline": "QR",
                "flight_number": "1378",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "21:20:00",
                "arrival_time": "12:25:00",
                "duration_min": 905,
                "transfers": 1,
                "gate": "Gotogate",
                "ticket_id": "b6c926ba92f5ca483699668a02e9e569"
            },
            {
                "depart_date": "2026-11-22",
                "price_usd": 728,
                "airline": "AF",
                "flight_number": "995",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "20:40:00",
                "arrival_time": "07:55:00",
                "duration_min": 675,
                "transfers": 0,
                "gate": "Wingie",
                "ticket_id": "4f832583d28175f11f4676f8bd75aa8c"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 728,
                "airline": "AF",
                "flight_number": "995",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "20:40:00",
                "arrival_time": "07:55:00",
                "duration_min": 675,
                "transfers": 0,
                "gate": "Wingie",
                "ticket_id": "1dc2528edd97f66fa1936bd62d8b1821"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 738,
                "airline": "AF",
                "flight_number": "995",
                "departure_airport": "JNB",
                "arrival_airport": "CDG",
                "departure_time": "20:40:00",
                "arrival_time": "07:55:00",
                "duration_min": 675,
                "transfers": 0,
                "gate": "Turna.com",
                "ticket_id": "2578adba1b7c43395e7e4446b18f2de9"
            }
        ],
        "airlines": [
            {
                "iata": "EY",
                "name": "Etihad Airways",
                "logo_url": "https://img.wway.io/pics/root/EY@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 202,
                "min_price_usd": 368
            },
            {
                "iata": "QR",
                "name": "Qatar Airways",
                "logo_url": "https://img.wway.io/pics/root/QR@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 230,
                "min_price_usd": 399
            },
            {
                "iata": "AF",
                "name": "Air France",
                "logo_url": "https://img.wway.io/pics/root/AF@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 833,
                "min_price_usd": 728
            }
        ],
        "agencies": [
            {
                "name": "Farera",
                "min_price_usd": 368,
                "tickets_count": 1
            },
            {
                "name": "Gotogate",
                "min_price_usd": 370,
                "tickets_count": 4
            },
            {
                "name": "Wingie",
                "min_price_usd": 728,
                "tickets_count": 4
            },
            {
                "name": "Turna.com",
                "min_price_usd": 738,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "JNB",
                    "name": "O.R. Tambo International Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                }
            ],
            "arrival": [
                {
                    "iata": "CDG",
                    "name": "Charles de Gaulle Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Paris"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/jnb-cdg/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/jnb-cdg",
            "qa": "https://cityvator.com/api/qa/route/jnb-cdg",
            "compare": "https://cityvator.com/api/compare/jnb-cdg-vs-"
        },
        "updated_at": "2026-10-16 19:09:25"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-12T22:08:55+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}