{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "BUH",
                "name": "Bucharest",
                "country_code": "RO",
                "country_name": "Romania",
                "is_hub": false
            },
            "destination": {
                "iata": "OPO",
                "name": "Porto",
                "country_code": "PT",
                "country_name": "Portugal",
                "is_hub": false
            },
            "slug": "buh-opo"
        },
        "parameters": {
            "agencies": [
                "Clickavia",
                "Gotogate",
                "Kiwi.com"
            ],
            "agencies_count": 3,
            "airlines": [
                "AL",
                "FR",
                "MW",
                "RR",
                "W4"
            ],
            "airlines_count": 5,
            "airports_arrival": 1,
            "airports_arrival_list": [
                "OPO"
            ],
            "airports_departure": 2,
            "airports_departure_list": [
                "OTP"
            ],
            "avg_duration_min": 304,
            "avg_price": 95.8571,
            "avg_transfers": 0.69,
            "cheapest_agency": "Clickavia",
            "cheapest_month": 11,
            "cheapest_weekday": 3,
            "departures_per_week": 1,
            "direct_airlines_list": [
                "W4"
            ],
            "direct_flights_count": 5,
            "direct_share": 31.25,
            "distance_km": 2835,
            "eco_score": 7.2,
            "flight_time_min": 230,
            "flights_found": 16,
            "has_direct": true,
            "max_duration_min": 365,
            "max_price": 151,
            "min_duration_min": 265,
            "min_price": 47,
            "min_price_1stop": 47,
            "min_price_direct": 89,
            "months_with_flights": [
                11,
                12
            ],
            "popularity_score": 0.8,
            "seasonality": 1,
            "time_diff_hours": -2
        },
        "calendar": [
            {
                "date": "2026-11-15",
                "price_usd": 88,
                "transfers": 1,
                "airline": "RR",
                "gate": "Kiwi.com",
                "duration_min": 365
            },
            {
                "date": "2026-12-22",
                "price_usd": 86,
                "transfers": 0,
                "airline": "W4",
                "gate": "Kiwi.com",
                "duration_min": 345
            },
            {
                "date": "2026-12-25",
                "price_usd": 114,
                "transfers": 0,
                "airline": null,
                "gate": null,
                "duration_min": 0
            },
            {
                "date": "2026-12-26",
                "price_usd": 142,
                "transfers": 0,
                "airline": "FR",
                "gate": "Kiwi.com",
                "duration_min": 315
            },
            {
                "date": "2026-12-27",
                "price_usd": 151,
                "transfers": 1,
                "airline": "MW",
                "gate": "Kiwi.com",
                "duration_min": 350
            }
        ],
        "variants": [
            {
                "depart_date": "2026-12-22",
                "price_usd": 86,
                "airline": "W4",
                "flight_number": "3151",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "13:45:00",
                "arrival_time": "19:30:00",
                "duration_min": 345,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "c24f94ebb073806e1215f03da3fb94e5"
            },
            {
                "depart_date": "2026-11-15",
                "price_usd": 88,
                "airline": "RR",
                "flight_number": "9706",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "00:25:00",
                "arrival_time": "06:30:00",
                "duration_min": 365,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "91a495c518c6f6d3bfe8a17a5f2ab749"
            },
            {
                "depart_date": "2026-12-22",
                "price_usd": 112,
                "airline": "W4",
                "flight_number": "3289",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "17:20:00",
                "arrival_time": "21:45:00",
                "duration_min": 265,
                "transfers": 0,
                "gate": "Gotogate",
                "ticket_id": "708bdbfaf0e3208ed50f02d180defd92"
            },
            {
                "depart_date": "2026-12-26",
                "price_usd": 142,
                "airline": "FR",
                "flight_number": "2514",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "23:00:00",
                "arrival_time": "04:15:00",
                "duration_min": 315,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "81c0b49e54825eb276a4ab8cfdfd986c"
            },
            {
                "depart_date": "2026-12-27",
                "price_usd": 151,
                "airline": "MW",
                "flight_number": "7626",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "21:05:00",
                "arrival_time": "02:55:00",
                "duration_min": 350,
                "transfers": 1,
                "gate": "Kiwi.com",
                "ticket_id": "9ebea3e12d87c4512eea6d85585225ef"
            },
            {
                "depart_date": "2026-12-26",
                "price_usd": 153,
                "airline": "W4",
                "flight_number": "3289",
                "departure_airport": "OTP",
                "arrival_airport": "OPO",
                "departure_time": "17:20:00",
                "arrival_time": "21:45:00",
                "duration_min": 265,
                "transfers": 0,
                "gate": "Kiwi.com",
                "ticket_id": "8cd72d986a8ebd4dc0b1139318f13317"
            }
        ],
        "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": 47
            },
            {
                "iata": "W4",
                "name": "Wizz Air Malta",
                "logo_url": "https://img.wway.io/pics/root/W4@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 14,
                "min_price_usd": 86
            },
            {
                "iata": "RR",
                "name": "Buzz",
                "logo_url": "https://img.wway.io/pics/root/RR@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 0,
                "min_price_usd": 88
            },
            {
                "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": 101
            },
            {
                "iata": "MW",
                "name": "Malta Air",
                "logo_url": "https://img.wway.io/pics/root/MW@png?exar=1&rs=fit:80:80",
                "is_lowcost": true,
                "routes_count": 14,
                "min_price_usd": 114
            }
        ],
        "agencies": [
            {
                "name": "Clickavia",
                "min_price_usd": 47,
                "tickets_count": 5
            },
            {
                "name": "Kiwi.com",
                "min_price_usd": 86,
                "tickets_count": 10
            },
            {
                "name": "Gotogate",
                "min_price_usd": 112,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "OTP",
                    "name": "Bucharest Henri Coanda International Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Bucharest"
                }
            ],
            "arrival": [
                {
                    "iata": "OPO",
                    "name": "Porto Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Lisbon"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/buh-opo/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/buh-opo",
            "qa": "https://cityvator.com/api/qa/route/buh-opo",
            "compare": "https://cityvator.com/api/compare/buh-opo-vs-"
        },
        "updated_at": "2026-10-30 15:02:48"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-15T23:26:46+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}