{
    "success": true,
    "data": {
        "route": {
            "origin": {
                "iata": "BRE",
                "name": "Bremen",
                "country_code": "DE",
                "country_name": "Germany",
                "is_hub": false
            },
            "destination": {
                "iata": "OSL",
                "name": "Oslo",
                "country_code": "NO",
                "country_name": "Norway",
                "is_hub": false
            },
            "slug": "bre-osl"
        },
        "parameters": {
            "agencies": [
                "Lucky2Go",
                "Trip.com"
            ],
            "agencies_count": 2,
            "airlines": [
                "FR",
                "LH"
            ],
            "airlines_count": 2,
            "airports_arrival": 2,
            "airports_arrival_list": [
                "OSL"
            ],
            "airports_departure": 1,
            "airports_departure_list": [
                "BRE"
            ],
            "avg_duration_min": 210,
            "avg_price": 201.5,
            "avg_transfers": 1,
            "cheapest_agency": "Trip.com",
            "cheapest_month": 12,
            "cheapest_weekday": 6,
            "departures_per_week": 0,
            "direct_flights_count": 0,
            "direct_share": 0,
            "distance_km": 769,
            "eco_score": 7.6,
            "flight_time_min": 84,
            "flights_found": 2,
            "has_direct": false,
            "max_duration_min": 210,
            "max_price": 208,
            "min_duration_min": 210,
            "min_price": 195,
            "min_price_1stop": 195,
            "months_with_flights": [
                12
            ],
            "popularity_score": 0.1,
            "seasonality": 1,
            "time_diff_hours": 0
        },
        "calendar": [
            {
                "date": "2026-12-05",
                "price_usd": 195,
                "transfers": 1,
                "airline": "LH",
                "gate": "Trip.com",
                "duration_min": 210
            },
            {
                "date": "2026-12-23",
                "price_usd": 208,
                "transfers": 1,
                "airline": "FR",
                "gate": "Lucky2Go",
                "duration_min": 210
            }
        ],
        "variants": [
            {
                "depart_date": "2026-12-05",
                "price_usd": 195,
                "airline": "LH",
                "flight_number": "2119",
                "departure_airport": "BRE",
                "arrival_airport": "OSL",
                "departure_time": "08:20:00",
                "arrival_time": "11:50:00",
                "duration_min": 210,
                "transfers": 1,
                "gate": "Trip.com",
                "ticket_id": "088893a0589f3de87ddc164ab72dc45e"
            },
            {
                "depart_date": "2026-12-23",
                "price_usd": 208,
                "airline": "FR",
                "flight_number": "3633",
                "departure_airport": "BRE",
                "arrival_airport": "OSL",
                "departure_time": "11:05:00",
                "arrival_time": "14:35:00",
                "duration_min": 210,
                "transfers": 1,
                "gate": "Lucky2Go",
                "ticket_id": "d6ebc5cd78420123eeed1f3d7de6e0f4"
            }
        ],
        "airlines": [
            {
                "iata": "LH",
                "name": "Lufthansa",
                "logo_url": "https://img.wway.io/pics/root/LH@png?exar=1&rs=fit:80:80",
                "is_lowcost": false,
                "routes_count": 1083,
                "min_price_usd": 195
            },
            {
                "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": 208
            }
        ],
        "agencies": [
            {
                "name": "Trip.com",
                "min_price_usd": 195,
                "tickets_count": 1
            },
            {
                "name": "Lucky2Go",
                "min_price_usd": 208,
                "tickets_count": 1
            }
        ],
        "airports": {
            "departure": [
                {
                    "iata": "BRE",
                    "name": "Bremen Airport",
                    "iata_type": "airport",
                    "time_zone": "Europe/Berlin"
                }
            ],
            "arrival": [
                {
                    "iata": "OSL",
                    "name": "Oslo Airport Gardermoen",
                    "iata_type": "airport",
                    "time_zone": "Europe/Oslo"
                }
            ]
        },
        "html_url": "https://cityvator.com/en/bre-osl/",
        "api_urls": {
            "self": "https://cityvator.com/api/routes/bre-osl",
            "qa": "https://cityvator.com/api/qa/route/bre-osl",
            "compare": "https://cityvator.com/api/compare/bre-osl-vs-"
        },
        "updated_at": "2026-10-23 07:34:26"
    },
    "meta": {
        "lang": "en",
        "currency": "USD",
        "requested_at": "2026-11-13T17:48:22+03:00",
        "powered_by": "Cityvator",
        "source": "https://cityvator.com",
        "license": "CC-BY-4.0",
        "attribution": "Data source: Cityvator (https://cityvator.com)"
    }
}