{
  "checked": "2026-10-28",
  "status": "provisional Lisbon 2025 expected-passenger estimate available",
  "summary": "Lisbon 2025 expected-passenger annual chart remains available. Capacity acquisition covers the complete stored call set, with 211 sourced name records and four stated exceptions. Nationwide annual timed passenger data are not acquired; other-port annual load charts cannot currently be completed. Leix\u00f5es now also displays a 2027 scheduled passenger-per-day chart at day granularity; four missing passenger declarations are flagged by month.",
  "lisbonHistorical2025": {
    "recordsRetrieved": 335,
    "recordsStatus": "Closed",
    "duplicateVesselArrivalDepartureCombinations": 0,
    "annualOfficialCalls": 335,
    "arrivalMonthCallCountsFromExport": [
      9,
      8,
      15,
      55,
      43,
      28,
      25,
      26,
      39,
      41,
      34,
      11
    ],
    "officialMonthlyCallCounts": [
      9,
      7,
      15,
      55,
      43,
      28,
      25,
      26,
      39,
      41,
      34,
      13
    ],
    "monthlyDifferenceExportMinusOfficial": [
      0,
      1,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      -2
    ],
    "note": "The 335-row per-call export matches the official annual call count. Its monthly call counts differ slightly from the official monthly aggregate. The daily estimate uses the detailed export consistently; arrival and departure calendar dates count in full and times are ignored.",
    "selectedSource": {
      "name": "Port of Lisbon per-call schedule export",
      "source": "https://lisboncruiseport.pt/wp-content/themes/mbcglobalports/includes/api/schedule-pdf.php?lang=en&site_id=45&param2=2025-01-01&param4=2025-12-31",
      "reason": "Selected for the chart because each call has an expected passenger value and arrival/departure interval; the monthly aggregate PDF reports passenger movements and cannot support a concurrent-load calculation.",
      "monthlyCountDifferenceHandling": "The detailed export monthly counts differ from the official monthly aggregate by +1 in February and -2 in December. The difference is treated as minor and the detailed export is used consistently for the chart."
    }
  },
  "currentSchedules": {
    "lisbonPublishedRowsRetrieved": 91,
    "leixoesApiReportedRowsRetrieved": 509,
    "portimaoCandidateArrivalRowsRetrieved": 205,
    "portimaoYachtRowsExcluded": 3,
    "futureScheduleCompleteness": "unknown",
    "note": "Retrieving all currently published rows does not establish that future schedules are over 90% complete. Portim\u00e3o departure times are missing."
  },
  "capacityEvidence": {
    "nameRecords": 215,
    "originalRegistryNameRecords": 167,
    "additionalNamesFoundInAcquiredCalls": 48,
    "sourcedPassengerFigures": 211,
    "exceptions": [
      {
        "vessel": "SONATA",
        "status": "provisional-identity"
      },
      {
        "vessel": "ALEXANDER VON HUMBOLDT II",
        "status": "excluded-sail-training"
      },
      {
        "vessel": "Viking Artemis",
        "status": "not-found-after-search"
      },
      {
        "vessel": "SEADREAM III",
        "status": "provisional-unconfirmed-newbuild"
      }
    ],
    "certifiedMaximaClaimed": false,
    "registry": "/assets/cruise/capacity-registry.json",
    "note": "Published passenger capacities acquired for 211 of 215 name records across the stored calls. Four explicitly classified exceptions. Secondary fleet summaries and vessel pages are published references, not independently certified all-berth maxima. Crew remains separate. No capacity has replaced an expected/declared passenger value."
  },
  "tenderCalls": {
    "included": true,
    "tenderStatusField": "true/false/null",
    "unknownRemainsNull": true,
    "disembarkationAdjustmentApplied": false,
    "futureTodo": "Evaluate evidence-based adjustment to likely disembarkation for tender calls."
  },
  "files": [
    "lisbon-calls-historical-2025.json",
    "lisbon-calls.json",
    "leixoes-calls-2026-10-28.json",
    "portimao-calls-2026-10-28.json",
    "capacity-registry.json",
    "lisbon-monthly-passenger-estimate-2025.json",
    "port-coverage.json",
    "leixoes-scheduled-load-2027.json"
  ],
  "report": "/assets/cruise/quality-report.json",
  "lisbonMonthlyEstimate": {
    "file": "lisbon-monthly-passenger-estimate-2025.json",
    "basis": "Average expected passengers in port daily: inclusive arrival/departure passenger-days divided by all calendar days in each month. Docking times are ignored.",
    "averageExpectedPassengersInPort": [
      265,
      314,
      724,
      1802,
      1528,
      1131,
      1324,
      1094,
      1393,
      1654,
      1718,
      817
    ],
    "all335RowsHaveExpectedPassengerValue": true,
    "technicalCallsExcluded": 2,
    "tenderCallsIncluded": true,
    "crewIncluded": false,
    "passengersAshoreMeasured": false,
    "actualPassengersMeasured": false
  },
  "portCoverage": [
    {
      "port": "Lisbon",
      "coverage": "335 historical 2025 calls plus 91 current calls; historical chart available",
      "passengerBasis": "per-call expected passengers; crew excluded",
      "source": "https://lisboncruiseport.pt/wp-content/themes/mbcglobalports/includes/api/schedule-pdf.php?lang=en&site_id=45&param2=2025-01-01&param4=2025-12-31",
      "annualLoadChart": "available-2025"
    },
    {
      "port": "Leix\u00f5es / Porto",
      "coverage": "509 timed published calls acquired for late 2026\u20132033, including 216 calls in 2027. Day-resolution passenger-load chart now published for 2027. Four calls have no passenger declaration and are flagged in their affected months. This is a current scheduled-declaration view, not a completeness-adjusted forecast or historical average.",
      "passengerBasis": "declared/forecast per-call passengers available; capacity references joined to 505/509 calls",
      "source": "https://livedata.apdl.pt/api/vesselCalls/filter/cruises",
      "annualLoadChart": "2027-scheduled-day-resolution-published",
      "passengerCounts": {
        "2027Calls": 216,
        "callsWithoutPositivePassengerDeclaration": 4,
        "monthsWithRecordedCalls": 12,
        "timeUsed": false,
        "dayResolution": true
      }
    },
    {
      "port": "Portim\u00e3o",
      "coverage": "205 arrival forecasts; no departures or per-call passenger declarations in acquired tables or inspected call detail. Capacity references joined to 200/205; five SONATA calls retain provisional identity.",
      "source": "https://www.apsinesalgarve.pt/port-of-portimao/ships",
      "annualLoadChart": "cannot-complete-without-departure-times"
    },
    {
      "port": "Set\u00fabal",
      "coverage": "CruiseMapper shows timed Le Lyrial call and an untimed SeaDream II call in April 2027. Full-year history/completeness not acquired.",
      "source": "https://www.cruisemapper.com/ports/setubal-port-13352",
      "annualLoadChart": "cannot-complete-from-inspected-schedule"
    },
    {
      "port": "Funchal / Madeira",
      "coverage": "APRAM-branded development schedule page readable with timed calls. Full-year historical export and production-source validation not acquired. Porto Santo coverage not established.",
      "source": "https://dev.apram.immera.io/cruise-calls",
      "annualLoadChart": "cannot-complete-from-retrieved-window"
    },
    {
      "port": "Azores ports",
      "coverage": "Official JUL page readable with PAX, ETA/ETD and port selection; recent history advertised. Complete year for each port not acquired.",
      "source": "https://portosdosacores.pt/movimento-portuario/",
      "annualLoadChart": "cannot-complete-for-all-ports"
    },
    {
      "port": "Other mainland / river locations",
      "coverage": "National coverage is not established. River stops, land-tour listings, sightseeing trips and shipyard calls must not be treated as ocean cruise dockings. Cascais listing describes land access by bus; Viking Torgil Lisbon listing includes hotels and land transfer. No annual passenger-load dataset acquired for these locations.",
      "source": "https://www.cruisemapper.com/ports/cascais-port-10414",
      "annualLoadChart": "not-established"
    }
  ],
  "dailyMetricMethod": "Arrival and departure dates inclusive; all calendar days in denominator; missing contributions flag months, with known contributions retained. Crew excluded. No disembarkation adjustment."
}
