{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "GRJ",
                "name": "George",
                "country_code": "ZA",
                "country_name": "South Africa",
                "is_hub": false
            },
            "destination": {
                "iata": "JNB",
                "name": "Johannesburg",
                "country_code": "ZA",
                "country_name": "South Africa",
                "is_hub": false
            },
            "slug": "grj-jnb"
        },
        "parameters": {
            "agencies": [
                "Clickavia",
                "Kiwi.com",
                "Mego.travel",
                "Mytrip.com",
                "Trip.com",
                "Авиасейлс"
            ],
            "agencies_count": 6,
            "airlines": [
                "5Z",
                "FA"
            ],
            "airlines_count": 2,
            "airports_arrival": 2,
            "airports_arrival_list": [
                "HLA",
                "JNB"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "GRJ"
            ],
            "avg_duration_min": 116,
            "avg_price": 101.75,
            "avg_transfers": 0,
            "cheapest_agency": "Авиасейлс",
            "cheapest_month": 10,
            "cheapest_weekday": 4,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "5Z",
                "FA"
            ],
            "direct_flights_count": 12,
            "direct_share": 100,
            "distance_km": 1024,
            "eco_score": 9.5,
            "flight_time_min": 102,
            "flights_found": 12,
            "has_direct": true,
            "max_duration_min": 120,
            "max_price": 151,
            "min_duration_min": 110,
            "min_price": 71,
            "min_price_direct": 71,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 0.6,
            "seasonality": 1,
            "time_diff_hours": 0
        },
        "calendar": [
            {
                "date": "2026-11-14",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-15",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-16",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-17",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-18",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-19",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-20",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-21",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-22",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-23",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-24",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-25",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-26",
                "price_usd": 109,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-27",
                "price_usd": 103,
                "transfers": 0,
                "airline": "FA",
                "gate": "Kiwi.com",
                "duration_min": 120
            },
            {
                "date": "2026-11-28",
                "price_usd": 110,
                "transfers": 0,
                "airline": "FA",
                "gate": "Mego.travel",
                "duration_min": 110
            },
            {
                "date": "2026-11-29",
                "price_usd": 103,
                "transfers": 0,
                "airline": "FA",
                "gate": "Mego.travel",
                "duration_min": 115
            },
            {
                "date": "2026-12-28",
                "price_usd": 151,
                "transfers": 0,
                "airline": "5Z",
                "gate": "Trip.com",
                "duration_min": 115
            },
            {
                "date": "2026-12-29",
                "price_usd": 140,
                "transfers": 0,
                "airline": "5Z",
                "gate": "Trip.com",
                "duration_min": 115
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-27",
                "price_usd": 103,
                "airline": "FA",
                "flight_number": "253",
                "departure_airport": "GRJ",
                "arrival_airport": "JNB",
                "departure_time": "19:35:00",
                "arrival_time": "21:35:00",
                "duration_min": 120,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "824193b3922eda60e0edcd3d9e626a78"
            },
            {
                "depart_date": "2026-11-29",
                "price_usd": 103,
                "airline": "FA",
                "flight_number": "227",
                "departure_airport": "GRJ",
                "arrival_airport": "JNB",
                "departure_time": "20:15:00",
                "arrival_time": "22:10:00",
                "duration_min": 115,
                "transfers": 0,
                "gate": "Mego.travel",
                "ticket_id": "0beb3d1d919b531bb98ce576a4119170"
            },
            {
                "depart_date": "2026-11-28",
                "price_usd": 110,
                "airline": "FA",
                "flight_number": "221",
                "departure_airport": "GRJ",
                "arrival_airport": "JNB",
                "departure_time": "14:35:00",
                "arrival_time": "16:25:00",
                "duration_min": 110,
                "transfers": 0,
                "gate": "Mego.travel",
                "ticket_id": "8e8b67d18fd38971b3e7e6befaf59df1"
            },
            {
                "depart_date": "2026-12-29",
                "price_usd": 140,
                "airline": "5Z",
                "flight_number": "445",
                "departure_airport": "GRJ",
                "arrival_airport": "JNB",
                "departure_time": "19:50:00",
                "arrival_time": "21:45:00",
                "duration_min": 115,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "6f7113073aba9feea3c1db72cfe5b420"
            },
            {
                "depart_date": "2026-12-28",
                "price_usd": 151,
                "airline": "5Z",
                "flight_number": "445",
                "departure_airport": "GRJ",
                "arrival_airport": "JNB",
                "departure_time": "19:50:00",
                "arrival_time": "21:45:00",
                "duration_min": 115,
                "transfers": 0,
                "gate": "Trip.com",
                "ticket_id": "55bcf0544abe1cf0b3aacd6938dae770"
            }
        ],
        "airlines": [
            {
                "iata": "FA",
                "name": "FlySafair",
                "logo_url": "https://img.wway.io/pics/root/FA@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 0,
                "min_price_usd": 71
            },
            {
                "iata": "5Z",
                "name": "CemAir",
                "logo_url": "https://img.wway.io/pics/root/5Z@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 0,
                "min_price_usd": 140
            }
        ],
        "agencies": [
            {
                "name": "Авиасейлс",
                "min_price_usd": 71,
                "tickets_count": 1
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 79,
                "tickets_count": 2
            },
            {
                "name": "Trip.com",
                "min_price_usd": 83,
                "tickets_count": 5
            },
            {
                "name": "Mytrip.com",
                "min_price_usd": 97,
                "tickets_count": 1
            },
            {
                "name": "Clickavia",
                "min_price_usd": 102,
                "tickets_count": 1
            },
            {
                "name": "Mego.travel",
                "min_price_usd": 103,
                "tickets_count": 2
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "GRJ",
                    "name": "George Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                }
            ],
            "arrival": [
                {
                    "iata": "HLA",
                    "name": "Lanseria International Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                },
                {
                    "iata": "JNB",
                    "name": "O.R. Tambo International Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Johannesburg"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/grj-jnb/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/grj-jnb",
            "qa": "https://cityvator.com/api/qa/route/grj-jnb",
            "compare": "https://cityvator.com/api/compare/grj-jnb-vs-"
        },
        "updated_at": "2026-10-15 22:49:03"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-14T08:15:46+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}