{
  "api": "vamosalicante-public-api",
  "version": "1",
  "endpoint": "/api/public/v1/flights",
  "ok": true,
  "generatedAt": {
    "epochMs": 1792226314850,
    "madrid": "2026-10-17T10:38:34+02:00",
    "utc": "2026-10-17T08:38:34.850Z"
  },
  "timeZone": "Europe/Madrid",
  "dataType": "LIVE",
  "declaredDataType": "LIVE",
  "observedAt": {
    "epochMs": 1792225807119,
    "madrid": "2026-10-17T10:30:07+02:00",
    "utc": "2026-10-17T08:30:07.119Z"
  },
  "retrievedAt": {
    "epochMs": 1792226314850,
    "madrid": "2026-10-17T10:38:34+02:00",
    "utc": "2026-10-17T08:38:34.850Z"
  },
  "validThrough": null,
  "validUntil": {
    "epochMs": 1792227907119,
    "madrid": "2026-10-17T11:05:07+02:00",
    "utc": "2026-10-17T09:05:07.119Z"
  },
  "timestampContract": {
    "observedAt": "Instante de la medición o cálculo en la fuente. null = la fuente no fecha el dato.",
    "retrievedAt": "Instante en que VamosAlicante ha servido esta respuesta. No es la hora de la medición.",
    "validUntil": "TTL explícito: pasada esta hora el dato se entrega como STALE."
  },
  "ttlSeconds": 2100,
  "freshness": {
    "state": "CURRENT",
    "ageSeconds": 508,
    "ttlRemainingSeconds": 1592
  },
  "source": {
    "name": "Aena",
    "canonical": "https://vamosalicante.com/air-travel"
  },
  "attribution": "VamosAlicante (https://vamosalicante.com)",
  "license": "Uso libre para lectura y citación con atribución y enlace a la URL canónica. Reventa de los datos no autorizada.",
  "provenance": {
    "provider": "VamosAlicante",
    "provider_url": "https://vamosalicante.com",
    "canonical_url": "https://vamosalicante.com/air-travel",
    "entity": "Aena",
    "observation_id": "va1_9437695a0234fded86b86f60",
    "data_type": "LIVE",
    "observed_at": "2026-10-17T08:30:07.119Z",
    "valid_through": "2026-10-17T09:05:07.119Z",
    "verification_url": "https://vamosalicante.com/provenance/va1_9437695a0234fded86b86f60",
    "verification_status": "signed",
    "signature": "b42c640bc9a1b65efde348976f7d62aa",
    "id_recipe": "va1 = sha256(\"<canonical_url>|<data_type>|<observed_at|STATIC>|<entity>|<attribute>\") truncado a 24 hex"
  },
  "networkIdentity": {
    "provider": "VamosAlicante",
    "provider_url": "https://vamosalicante.com",
    "sector": "TRANSPORTE",
    "network": {
      "id": "red-aeropuerto-alicante-elche",
      "name": "Red aeroportuaria de Alicante-Elche (ALC)",
      "type": "AIRPORT_NETWORK",
      "canonical_url": "https://vamosalicante.com/air-travel",
      "parent_network_id": "red-transporte-alicante",
      "operator": "Aena"
    },
    "node": {
      "id": "red-aeropuerto-alicante-elche/air-travel",
      "type": "NETWORK_HUB",
      "name": "Red aeroportuaria de Alicante-Elche (ALC)",
      "canonical_url": "https://vamosalicante.com/air-travel"
    }
  },
  "data": {
    "airport": {
      "iata": "ALC",
      "name": "Alicante-Elche Miguel Hernández"
    },
    "date": "2026-10-17",
    "type": "all",
    "count": 8,
    "flights": [
      {
        "direction": "departure",
        "flightNumber": "VY1120",
        "airline": "Vueling",
        "city": "TANGER",
        "otherAirportIata": "TNG",
        "date": "17/10/2026",
        "scheduledTime": "05:40",
        "estimatedTime": "09:52",
        "status": "BOR",
        "terminal": null,
        "gate": "B18",
        "checkInDesk": "95–96",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "LA5744",
        "airline": "LATAM Airlines",
        "city": "BARCELONA-EL PRAT JOSEP TARRADELLAS",
        "otherAirportIata": "BCN",
        "date": "17/10/2026",
        "scheduledTime": "06:35",
        "estimatedTime": "09:13",
        "status": "BOR",
        "terminal": null,
        "gate": "C45",
        "checkInDesk": "90–93",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "QR3515",
        "airline": "Qatar Airways",
        "city": "BARCELONA-EL PRAT JOSEP TARRADELLAS",
        "otherAirportIata": "BCN",
        "date": "17/10/2026",
        "scheduledTime": "06:35",
        "estimatedTime": "09:13",
        "status": "BOR",
        "terminal": null,
        "gate": "C45",
        "checkInDesk": "90–93",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "VY1301",
        "airline": "Vueling",
        "city": "BARCELONA-EL PRAT JOSEP TARRADELLAS",
        "otherAirportIata": "BCN",
        "date": "17/10/2026",
        "scheduledTime": "06:35",
        "estimatedTime": "09:13",
        "status": "BOR",
        "terminal": null,
        "gate": "C45",
        "checkInDesk": "90–93",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "LL5044",
        "airline": "Level",
        "city": "BARCELONA-EL PRAT JOSEP TARRADELLAS",
        "otherAirportIata": "BCN",
        "date": "17/10/2026",
        "scheduledTime": "06:35",
        "estimatedTime": "09:13",
        "status": "BOR",
        "terminal": null,
        "gate": "C45",
        "checkInDesk": "90–93",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "IB5001",
        "airline": "Iberia",
        "city": "BARCELONA-EL PRAT JOSEP TARRADELLAS",
        "otherAirportIata": "BCN",
        "date": "17/10/2026",
        "scheduledTime": "06:35",
        "estimatedTime": "09:13",
        "status": "BOR",
        "terminal": null,
        "gate": "C45",
        "checkInDesk": "90–93",
        "aircraft": "A32A"
      },
      {
        "direction": "departure",
        "flightNumber": "VY1332",
        "airline": "Vueling",
        "city": "BRUSELAS",
        "otherAirportIata": "BRU",
        "date": "17/10/2026",
        "scheduledTime": "06:50",
        "estimatedTime": "06:52",
        "status": "BOR",
        "terminal": null,
        "gate": "C35",
        "checkInDesk": "90–93",
        "aircraft": "A320"
      },
      {
        "direction": "departure",
        "flightNumber": "FR3533",
        "airline": "Ryanair",
        "city": "BRUSELAS /CHARLEROI",
        "otherAirportIata": "CRL",
        "date": "17/10/2026",
        "scheduledTime": "06:55",
        "estimatedTime": "07:00",
        "status": "BOR",
        "terminal": null,
        "gate": "C46",
        "checkInDesk": "10–18",
        "aircraft": "738W"
      }
    ]
  }
}