{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "TNG",
                "name": "Tangier",
                "country_code": "MA",
                "country_name": "Morocco",
                "is_hub": false
            },
            "destination": {
                "iata": "PAR",
                "name": "Paris",
                "country_code": "FR",
                "country_name": "France",
                "is_hub": false
            },
            "slug": "tng-cdg"
        },
        "parameters": {
            "agencies": [
                "Aviakassa",
                "Clickavia",
                "Farera",
                "Flightnetwork",
                "Kiwi.com",
                "Lucky2Go",
                "Mytrip.com",
                "Tickets",
                "Trip.com",
                "Ubfly",
                "Wingie"
            ],
            "agencies_count": 11,
            "airlines": [
                "3O",
                "AF",
                "AL",
                "AT",
                "FR",
                "RK",
                "VY"
            ],
            "airlines_count": 7,
            "airports_arrival": 0,
            "airports_arrival_list": [
                "CDG"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "TNG"
            ],
            "avg_duration_min": 229,
            "avg_price": 119.52,
            "avg_transfers": 0.74,
            "cheapest_agency": "Tickets",
            "cheapest_month": 12,
            "cheapest_weekday": 3,
            "departures_per_week": 2,
            "direct_airlines_list": [
                "3O",
                "AF"
            ],
            "direct_flights_count": 9,
            "direct_share": 33.33,
            "distance_km": 1602,
            "eco_score": 7.7,
            "flight_time_min": 143,
            "flights_found": 27,
            "has_direct": true,
            "max_duration_min": 405,
            "max_price": 232,
            "min_duration_min": 100,
            "min_price": 43,
            "min_price_1stop": 43,
            "min_price_direct": 102,
            "months_with_flights": [
                10,
                11,
                12
            ],
            "popularity_score": 1.4,
            "seasonality": 1,
            "time_diff_hours": 1
        },
        "calendar": [
            {
                "date": "2026-11-14",
                "price_usd": 70,
                "transfers": 0,
                "airline": "FR",
                "gate": "Clickavia",
                "duration_min": 265
            },
            {
                "date": "2026-11-16",
                "price_usd": 99,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-20",
                "price_usd": 99,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-11-23",
                "price_usd": 127,
                "transfers": 3,
                "airline": "AT",
                "gate": "Aviakassa",
                "duration_min": 405
            },
            {
                "date": "2026-11-24",
                "price_usd": 82,
                "transfers": 0,
                "airline": "RK",
                "gate": "Lucky2Go",
                "duration_min": 265
            },
            {
                "date": "2026-11-25",
                "price_usd": 79,
                "transfers": 1,
                "airline": "RK",
                "gate": "Lucky2Go",
                "duration_min": 255
            },
            {
                "date": "2026-11-26",
                "price_usd": 72,
                "transfers": 1,
                "airline": "FR",
                "gate": "Lucky2Go",
                "duration_min": 280
            },
            {
                "date": "2026-11-27",
                "price_usd": 94,
                "transfers": 1,
                "airline": "FR",
                "gate": "Tickets",
                "duration_min": 240
            },
            {
                "date": "2026-11-28",
                "price_usd": 65,
                "transfers": 0,
                "airline": "FR",
                "gate": "Flightnetwork",
                "duration_min": 260
            },
            {
                "date": "2026-11-29",
                "price_usd": 43,
                "transfers": 1,
                "airline": "FR",
                "gate": "Tickets",
                "duration_min": 260
            },
            {
                "date": "2026-12-23",
                "price_usd": 72,
                "transfers": 1,
                "airline": "FR",
                "gate": "Lucky2Go",
                "duration_min": 280
            }
        ],
        "variants": [
            {
                "depart_date": "2026-11-29",
                "price_usd": 43,
                "airline": "FR",
                "flight_number": "3451",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "08:00:00",
                "arrival_time": "12:20:00",
                "duration_min": 260,
                "transfers": 1,
                "gate": "Tickets",
                "ticket_id": "feb1c1e2e1c6990a21d67acb00520f98"
            },
            {
                "depart_date": "2026-11-28",
                "price_usd": 65,
                "airline": "FR",
                "flight_number": "3451",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "21:40:00",
                "arrival_time": "02:00:00",
                "duration_min": 260,
                "transfers": 1,
                "gate": "Flightnetwork",
                "ticket_id": "c9bdda6c32b0ecc916430324b6f4d5d2"
            },
            {
                "depart_date": "2026-11-14",
                "price_usd": 70,
                "airline": "FR",
                "flight_number": "3451",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "21:40:00",
                "arrival_time": "02:05:00",
                "duration_min": 265,
                "transfers": 1,
                "gate": "Clickavia",
                "ticket_id": "9e729488e6f5f47d295fd0e521a4ec4f"
            },
            {
                "depart_date": "2026-11-26",
                "price_usd": 72,
                "airline": "FR",
                "flight_number": "6763",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "08:10:00",
                "arrival_time": "12:50:00",
                "duration_min": 280,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "a96268d9b0f4f0be7d16826e6cb4123a"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 72,
                "airline": "FR",
                "flight_number": "6763",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "08:00:00",
                "arrival_time": "12:40:00",
                "duration_min": 280,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "e77880a1d8c4230a2d6908ce0a7504cb"
            },
            {
                "depart_date": "2026-11-25",
                "price_usd": 79,
                "airline": "RK",
                "flight_number": "405",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "16:50:00",
                "arrival_time": "21:05:00",
                "duration_min": 255,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "3f7239703640d89343c2675a69da7ee7"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 82,
                "airline": "RK",
                "flight_number": "1376",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "22:10:00",
                "arrival_time": "02:35:00",
                "duration_min": 265,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "fd349b1cd98a5789eab2b7800577c77f"
            },
            {
                "depart_date": "2026-11-27",
                "price_usd": 94,
                "airline": "FR",
                "flight_number": "8630",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "20:25:00",
                "arrival_time": "00:25:00",
                "duration_min": 240,
                "transfers": 1,
                "gate": "Tickets",
                "ticket_id": "9598eb3ebf60360af814be6796f63048"
            },
            {
                "depart_date": "2026-11-24",
                "price_usd": 102,
                "airline": "AF",
                "flight_number": "1075",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "14:45:00",
                "arrival_time": "17:30:00",
                "duration_min": 165,
                "transfers": 0,
                "gate": "Ubfly",
                "ticket_id": "8c63651e6897dc32d43c879d253fdc50"
            },
            {
                "depart_date": "2026-11-23",
                "price_usd": 127,
                "airline": "AT",
                "flight_number": "1439",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "20:25:00",
                "arrival_time": "03:10:00",
                "duration_min": 405,
                "transfers": 3,
                "gate": "Aviakassa",
                "ticket_id": "80f4034927b016486da8fbcf53e700ad"
            },
            {
                "depart_date": "2026-11-28",
                "price_usd": 198,
                "airline": "AF",
                "flight_number": "1075",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "14:45:00",
                "arrival_time": "17:30:00",
                "duration_min": 165,
                "transfers": 0,
                "gate": "Ubfly",
                "ticket_id": "d391629a5ba193930aa91399687c8ae6"
            },
            {
                "depart_date": "2026-11-14",
                "price_usd": 354,
                "airline": "AF",
                "flight_number": "1075",
                "departure_airport": "TNG",
                "arrival_airport": "CDG",
                "departure_time": "14:45:00",
                "arrival_time": "17:30:00",
                "duration_min": 165,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "f85661689b48ce376826469ee7ee9133"
            }
        ],
        "airlines": [
            {
                "iata": "FR",
                "name": "Ryanair",
                "logo_url": "https://img.wway.io/pics/root/FR@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 2466,
                "min_price_usd": 43
            },
            {
                "iata": "RK",
                "name": "Ryanair UK",
                "logo_url": "https://img.wway.io/pics/root/RK@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 0,
                "min_price_usd": 79
            },
            {
                "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": 102
            },
            {
                "iata": "VY",
                "name": "Vueling",
                "logo_url": "https://img.wway.io/pics/root/VY@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 228,
                "min_price_usd": 114
            },
            {
                "iata": "AT",
                "name": "Royal Air Maroc",
                "logo_url": "https://img.wway.io/pics/root/AT@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 220,
                "min_price_usd": 127
            },
            {
                "iata": "3O",
                "name": "Air Arabia Maroc",
                "logo_url": "https://img.wway.io/pics/root/3O@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 37,
                "min_price_usd": 140
            },
            {
                "iata": "AL",
                "name": "ALPAVIA",
                "logo_url": "https://img.wway.io/pics/root/AL@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 0,
                "min_price_usd": 203
            }
        ],
        "agencies": [
            {
                "name": "Tickets",
                "min_price_usd": 43,
                "tickets_count": 3
            },
            {
                "name": "Flightnetwork",
                "min_price_usd": 65,
                "tickets_count": 1
            },
            {
                "name": "Clickavia",
                "min_price_usd": 70,
                "tickets_count": 4
            },
            {
                "name": "Lucky2Go",
                "min_price_usd": 72,
                "tickets_count": 5
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 84,
                "tickets_count": 3
            },
            {
                "name": "Ubfly",
                "min_price_usd": 102,
                "tickets_count": 5
            },
            {
                "name": "Trip.com",
                "min_price_usd": 114,
                "tickets_count": 2
            },
            {
                "name": "Aviakassa",
                "min_price_usd": 127,
                "tickets_count": 1
            },
            {
                "name": "Farera",
                "min_price_usd": 140,
                "tickets_count": 1
            },
            {
                "name": "Mytrip.com",
                "min_price_usd": 203,
                "tickets_count": 1
            },
            {
                "name": "Wingie",
                "min_price_usd": 264,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "TNG",
                    "name": "Tangier Ibn Battouta Airport",
                    "iata_type": "airport",
                    "time_zone": "Africa/Casablanca"
                }
            ],
            "arrival": [
                {
                    "iata": "CDG",
                    "name": "Charles de Gaulle Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Paris"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/tng-cdg/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/tng-cdg",
            "qa": "https://cityvator.com/api/qa/route/tng-cdg",
            "compare": "https://cityvator.com/api/compare/tng-cdg-vs-"
        },
        "updated_at": "2026-10-23 00:10:59"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-14T07:58:30+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}