{
 "destination": "porto",
 "name": "Porto",
 "country": "PT",
 "computed_at": "2026-09-13T07:49:04",
 "model_version": "v11-2026.07",
 "artifact_hash": "f08a7d2e9886a265",
 "overall_state": "PARTIALLY_STALE",
 "confidence": 0.887,
 "signal_profile": {
  "cruise": 0.4616113574213588,
  "season": 0.39154550316214853,
  "holiday": 0.1468431394164927
 },
 "ship_size_coverage": 0.9967,
 "capacity_note": "Ship figures are guest capacity at double occupancy (berths, not headcounts); unknown-size ships aren't counted, so true capacity can only be higher.",
 "definitions": {
  "bands": "Crowd bands are percentiles of this destination's OWN forecast year (Calm 0\u201339, Lively 40\u201364, Busy 65\u201384, Packed 85\u2013100 on busier_than_pct) \u2014 never a comparison to any other place.",
  "busier_than_pct": "How the day ranks against the same destination's other forecast days, 0\u2013100; 100 appears only on the single busiest day (rank n = 1).",
  "basis": "basis \"confirmed\" = the schedule inputs (ships, holidays, season) are confirmed sources; the crowd level itself is always modeled. \"estimated\" = at least one input is a labeled stand-in.",
  "confidence": "Share of the day's signal weight carried by real sources, scaled by their coverage (0\u20131; not a probability). It steps to a lower tier where a feeder country's school-holiday calendar for that year isn't published yet \u2014 coverage drops, nothing is guessed.",
  "quiet_desirability": "Weekly 0\u20131 scales: quiet = 1 \u2212 mean busier_than_pct/100 (1 = quietest); desirability = editorial blend of comfort temperature, dryness and daylight (weights in /constants.json).",
  "caveats_checked": "true = the caveat rules ran for this day; an empty caveats list is a statement, not an unpopulated field.",
  "legend_url": "https://avoid-crowds.com/methodology/"
 },
 "methodology": "https://avoid-crowds.com/porto/methodology/",
 "months": [
  {
   "month": "2026-09",
   "label": "September 2026",
   "days_total": 18,
   "days_scored": 18,
   "days_gap": 0,
   "busy_or_packed": 9,
   "call_days": 15,
   "cruise_gap_days": 0,
   "peak_date": "2026-09-28",
   "peak_ships": 3,
   "peak_capacity_min": 3158,
   "band_counts": {
    "Calm": 0,
    "Lively": 9,
    "Busy": 8,
    "Packed": 1
   },
   "calmest": {
    "date": "2026-09-22",
    "band": "Lively",
    "busier_than_pct": 47
   },
   "busiest": {
    "date": "2026-09-27",
    "band": "Packed",
    "busier_than_pct": 85
   },
   "typical_temp_max_c": 23.5,
   "typical_rain_days": 8.0,
   "typical_daylight_h": 12.26,
   "summary": "September 2026 \u2014 9 of 18 days Busy or Packed (partial: 13\u201330 September) \u00b7 ships 15 of 18 days \u00b7 peak Mon 28 Sep",
   "capsule": "September 2026 in Porto: 9 of 18 days forecast Busy or Packed. Only 13\u201330 September is in our current window \u2014 18 of September's 30 days. Cruise ships call on 15 of 18 days (peak Mon 28 Sep: 3 ships, guest capacity at least 3,158). Typical September here: warm and showery \u2014 around 24\u00b0C by day, rain on about 8 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2026-09",
   "anchor": "https://avoid-crowds.com/porto/#m-2026-09"
  },
  {
   "month": "2026-10",
   "label": "October 2026",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 14,
   "call_days": 27,
   "cruise_gap_days": 0,
   "peak_date": "2026-10-05",
   "peak_ships": 5,
   "peak_capacity_min": 4192,
   "band_counts": {
    "Calm": 1,
    "Lively": 16,
    "Busy": 8,
    "Packed": 6
   },
   "calmest": {
    "date": "2026-10-13",
    "band": "Calm",
    "busier_than_pct": 37
   },
   "busiest": {
    "date": "2026-10-05",
    "band": "Packed",
    "busier_than_pct": 95
   },
   "typical_temp_max_c": 20.3,
   "typical_rain_days": 14.2,
   "typical_daylight_h": 10.87,
   "summary": "October 2026 \u2014 14 of 31 days Busy or Packed \u00b7 ships 27 of 31 days \u00b7 peak Mon 5 Oct",
   "capsule": "October 2026 in Porto: 14 of 31 days forecast Busy or Packed. Cruise ships call on 27 of 31 days (peak Mon 5 Oct: 5 ships, guest capacity at least 4,192). Typical October here: mild and wet \u2014 around 20\u00b0C by day, rain on about 14 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2026-10",
   "anchor": "https://avoid-crowds.com/porto/#m-2026-10"
  },
  {
   "month": "2026-11",
   "label": "November 2026",
   "days_total": 30,
   "days_scored": 30,
   "days_gap": 0,
   "busy_or_packed": 1,
   "call_days": 17,
   "cruise_gap_days": 0,
   "peak_date": "2026-11-10",
   "peak_ships": 3,
   "peak_capacity_min": 3463,
   "band_counts": {
    "Calm": 26,
    "Lively": 3,
    "Busy": 1,
    "Packed": 0
   },
   "calmest": {
    "date": "2026-11-15",
    "band": "Calm",
    "busier_than_pct": 18
   },
   "busiest": {
    "date": "2026-11-10",
    "band": "Busy",
    "busier_than_pct": 71
   },
   "typical_temp_max_c": 16.3,
   "typical_rain_days": 16.2,
   "typical_daylight_h": 9.65,
   "summary": "November 2026 \u2014 1 of 30 days Busy or Packed \u00b7 ships 17 of 30 days \u00b7 peak Tue 10 Nov",
   "capsule": "November 2026 in Porto: 1 of 30 days forecast Busy or Packed. Cruise ships call on 17 of 30 days (peak Tue 10 Nov: 3 ships, guest capacity at least 3,463). Typical November here: mild and wet \u2014 around 16\u00b0C by day, rain on about 16 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2026-11",
   "anchor": "https://avoid-crowds.com/porto/#m-2026-11"
  },
  {
   "month": "2026-12",
   "label": "December 2026",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 1,
   "call_days": 7,
   "cruise_gap_days": 0,
   "peak_date": "2026-12-02",
   "peak_ships": 1,
   "peak_capacity_min": 2666,
   "band_counts": {
    "Calm": 27,
    "Lively": 3,
    "Busy": 1,
    "Packed": 0
   },
   "calmest": {
    "date": "2026-12-03",
    "band": "Calm",
    "busier_than_pct": 15
   },
   "busiest": {
    "date": "2026-12-28",
    "band": "Busy",
    "busier_than_pct": 70
   },
   "typical_temp_max_c": 14.4,
   "typical_rain_days": 18.2,
   "typical_daylight_h": 9.05,
   "summary": "December 2026 \u2014 1 of 31 days Busy or Packed \u00b7 ships 7 of 31 days \u00b7 peak Wed 2 Dec",
   "capsule": "December 2026 in Porto: 1 of 31 days forecast Busy or Packed. Cruise ships call on 7 of 31 days (peak Wed 2 Dec: 1 ship, guest capacity at least 2,666). Typical December here: cool and wet \u2014 around 14\u00b0C by day, rain on about 18 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2026-12",
   "anchor": "https://avoid-crowds.com/porto/#m-2026-12"
  },
  {
   "month": "2027-01",
   "label": "January 2027",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 0,
   "call_days": 3,
   "cruise_gap_days": 0,
   "peak_date": "2027-01-05",
   "peak_ships": 2,
   "peak_capacity_min": 2444,
   "band_counts": {
    "Calm": 30,
    "Lively": 1,
    "Busy": 0,
    "Packed": 0
   },
   "calmest": {
    "date": "2027-01-13",
    "band": "Calm",
    "busier_than_pct": 4
   },
   "busiest": {
    "date": "2027-01-05",
    "band": "Lively",
    "busier_than_pct": 41
   },
   "typical_temp_max_c": 13.3,
   "typical_rain_days": 10.0,
   "typical_daylight_h": 9.35,
   "summary": "January 2027 \u2014 0 of 31 days Busy or Packed \u00b7 ships 3 of 31 days \u00b7 peak Tue 5 Jan",
   "capsule": "January 2027 in Porto: 0 of 31 days forecast Busy or Packed. Cruise ships call on 3 of 31 days (peak Tue 5 Jan: 2 ships, guest capacity at least 2,444). Typical January here: cool and wet \u2014 around 13\u00b0C by day, rain on about 10 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-01",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-01"
  },
  {
   "month": "2027-02",
   "label": "February 2027",
   "days_total": 28,
   "days_scored": 28,
   "days_gap": 0,
   "busy_or_packed": 0,
   "call_days": 4,
   "cruise_gap_days": 0,
   "peak_date": "2027-02-17",
   "peak_ships": 2,
   "peak_capacity_min": 2337,
   "band_counts": {
    "Calm": 27,
    "Lively": 1,
    "Busy": 0,
    "Packed": 0
   },
   "calmest": {
    "date": "2027-02-07",
    "band": "Calm",
    "busier_than_pct": 7
   },
   "busiest": {
    "date": "2027-02-17",
    "band": "Lively",
    "busier_than_pct": 43
   },
   "typical_temp_max_c": 15.6,
   "typical_rain_days": 8.2,
   "typical_daylight_h": 10.41,
   "summary": "February 2027 \u2014 0 of 28 days Busy or Packed \u00b7 ships 4 of 28 days \u00b7 peak Wed 17 Feb",
   "capsule": "February 2027 in Porto: 0 of 28 days forecast Busy or Packed. Cruise ships call on 4 of 28 days (peak Wed 17 Feb: 2 ships, guest capacity at least 2,337). Typical February here: mild and showery \u2014 around 16\u00b0C by day, rain on about 8 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-02",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-02"
  },
  {
   "month": "2027-03",
   "label": "March 2027",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 1,
   "call_days": 9,
   "cruise_gap_days": 0,
   "peak_date": "2027-03-27",
   "peak_ships": 6,
   "peak_capacity_min": 2358,
   "band_counts": {
    "Calm": 26,
    "Lively": 4,
    "Busy": 1,
    "Packed": 0
   },
   "calmest": {
    "date": "2027-03-13",
    "band": "Calm",
    "busier_than_pct": 20
   },
   "busiest": {
    "date": "2027-03-29",
    "band": "Busy",
    "busier_than_pct": 66
   },
   "typical_temp_max_c": 16.5,
   "typical_rain_days": 11.6,
   "typical_daylight_h": 11.67,
   "summary": "March 2027 \u2014 1 of 31 days Busy or Packed \u00b7 ships 9 of 31 days \u00b7 peak Sat 27 Mar",
   "capsule": "March 2027 in Porto: 1 of 31 days forecast Busy or Packed. Cruise ships call on 9 of 31 days (peak Sat 27 Mar: 6 ships, guest capacity at least 2,358). Typical March here: mild and wet \u2014 around 16\u00b0C by day, rain on about 12 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-03",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-03"
  },
  {
   "month": "2027-04",
   "label": "April 2027",
   "days_total": 30,
   "days_scored": 30,
   "days_gap": 0,
   "busy_or_packed": 14,
   "call_days": 27,
   "cruise_gap_days": 0,
   "peak_date": "2027-04-17",
   "peak_ships": 10,
   "peak_capacity_min": 4313,
   "band_counts": {
    "Calm": 6,
    "Lively": 10,
    "Busy": 8,
    "Packed": 6
   },
   "calmest": {
    "date": "2027-04-20",
    "band": "Calm",
    "busier_than_pct": 36
   },
   "busiest": {
    "date": "2027-04-25",
    "band": "Packed",
    "busier_than_pct": 95
   },
   "typical_temp_max_c": 17.4,
   "typical_rain_days": 13.2,
   "typical_daylight_h": 13.11,
   "summary": "April 2027 \u2014 14 of 30 days Busy or Packed \u00b7 ships 27 of 30 days \u00b7 peak Sat 17 Apr",
   "capsule": "April 2027 in Porto: 14 of 30 days forecast Busy or Packed. Cruise ships call on 27 of 30 days (peak Sat 17 Apr: 10 ships, guest capacity at least 4,313). Typical April here: mild and wet \u2014 around 17\u00b0C by day, rain on about 13 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-04",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-04"
  },
  {
   "month": "2027-05",
   "label": "May 2027",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 16,
   "call_days": 30,
   "cruise_gap_days": 0,
   "peak_date": "2027-05-16",
   "peak_ships": 7,
   "peak_capacity_min": 4504,
   "band_counts": {
    "Calm": 1,
    "Lively": 14,
    "Busy": 10,
    "Packed": 6
   },
   "calmest": {
    "date": "2027-05-04",
    "band": "Calm",
    "busier_than_pct": 37
   },
   "busiest": {
    "date": "2027-05-25",
    "band": "Packed",
    "busier_than_pct": 95
   },
   "typical_temp_max_c": 20.6,
   "typical_rain_days": 8.6,
   "typical_daylight_h": 14.31,
   "summary": "May 2027 \u2014 16 of 31 days Busy or Packed \u00b7 ships 30 of 31 days \u00b7 peak Sun 16 May",
   "capsule": "May 2027 in Porto: 16 of 31 days forecast Busy or Packed. Cruise ships call on 30 of 31 days (peak Sun 16 May: 7 ships, guest capacity at least 4,504). Typical May here: mild and showery \u2014 around 21\u00b0C by day, rain on about 9 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-05",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-05"
  },
  {
   "month": "2027-06",
   "label": "June 2027",
   "days_total": 30,
   "days_scored": 30,
   "days_gap": 0,
   "busy_or_packed": 13,
   "call_days": 26,
   "cruise_gap_days": 0,
   "peak_date": "2027-06-05",
   "peak_ships": 7,
   "peak_capacity_min": 3697,
   "band_counts": {
    "Calm": 0,
    "Lively": 17,
    "Busy": 6,
    "Packed": 7
   },
   "calmest": {
    "date": "2027-06-01",
    "band": "Lively",
    "busier_than_pct": 46
   },
   "busiest": {
    "date": "2027-06-10",
    "band": "Packed",
    "busier_than_pct": 99
   },
   "typical_temp_max_c": 21.0,
   "typical_rain_days": 9.0,
   "typical_daylight_h": 14.95,
   "summary": "June 2027 \u2014 13 of 30 days Busy or Packed \u00b7 ships 26 of 30 days \u00b7 peak Sat 5 Jun",
   "capsule": "June 2027 in Porto: 13 of 30 days forecast Busy or Packed. Cruise ships call on 26 of 30 days (peak Sat 5 Jun: 7 ships, guest capacity at least 3,697). Typical June here: mild and wet \u2014 around 21\u00b0C by day, rain on about 9 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-06",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-06"
  },
  {
   "month": "2027-07",
   "label": "July 2027",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 27,
   "call_days": 27,
   "cruise_gap_days": 0,
   "peak_date": "2027-07-01",
   "peak_ships": 7,
   "peak_capacity_min": 5143,
   "band_counts": {
    "Calm": 0,
    "Lively": 4,
    "Busy": 18,
    "Packed": 9
   },
   "calmest": {
    "date": "2027-07-02",
    "band": "Lively",
    "busier_than_pct": 62
   },
   "busiest": {
    "date": "2027-07-01",
    "band": "Packed",
    "busier_than_pct": 99
   },
   "typical_temp_max_c": 24.2,
   "typical_rain_days": 4.0,
   "typical_daylight_h": 14.69,
   "summary": "July 2027 \u2014 27 of 31 days Busy or Packed \u00b7 ships 27 of 31 days \u00b7 peak Thu 1 Jul",
   "capsule": "July 2027 in Porto: 27 of 31 days forecast Busy or Packed. Cruise ships call on 27 of 31 days (peak Thu 1 Jul: 7 ships, guest capacity at least 5,143). Typical July here: warm and dry \u2014 around 24\u00b0C by day, rain on about 4 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-07",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-07"
  },
  {
   "month": "2027-08",
   "label": "August 2027",
   "days_total": 31,
   "days_scored": 31,
   "days_gap": 0,
   "busy_or_packed": 31,
   "call_days": 29,
   "cruise_gap_days": 0,
   "peak_date": "2027-08-13",
   "peak_ships": 4,
   "peak_capacity_min": 3638,
   "band_counts": {
    "Calm": 0,
    "Lively": 0,
    "Busy": 8,
    "Packed": 23
   },
   "calmest": {
    "date": "2027-08-31",
    "band": "Busy",
    "busier_than_pct": 79
   },
   "busiest": {
    "date": "2027-08-19",
    "band": "Packed",
    "busier_than_pct": 100
   },
   "typical_temp_max_c": 23.7,
   "typical_rain_days": 3.2,
   "typical_daylight_h": 13.65,
   "summary": "August 2027 \u2014 31 of 31 days Busy or Packed \u00b7 ships 29 of 31 days \u00b7 peak Fri 13 Aug",
   "capsule": "August 2027 in Porto: 31 of 31 days forecast Busy or Packed. Cruise ships call on 29 of 31 days (peak Fri 13 Aug: 4 ships, guest capacity at least 3,638). Typical August here: warm and dry \u2014 around 24\u00b0C by day, rain on about 3 days. Avoid-Crowds, as of 13 Sep 2026, recomputed nightly: https://avoid-crowds.com/porto/#m-2027-08",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-08"
  },
  {
   "month": "2027-09",
   "label": "September 2027",
   "days_total": 12,
   "days_scored": 12,
   "days_gap": 0,
   "busy_or_packed": 9,
   "call_days": 10,
   "cruise_gap_days": 0,
   "peak_date": "2027-09-06",
   "peak_ships": 8,
   "peak_capacity_min": 3587,
   "band_counts": {
    "Calm": 0,
    "Lively": 3,
    "Busy": 6,
    "Packed": 3
   },
   "calmest": {
    "date": "2027-09-07",
    "band": "Lively",
    "busier_than_pct": 55
   },
   "busiest": {
    "date": "2027-09-06",
    "band": "Packed",
    "busier_than_pct": 95
   },
   "typical_temp_max_c": 23.5,
   "typical_rain_days": 8.0,
   "typical_daylight_h": 12.26,
   "summary": "September 2027 \u2014 already covered by September 2026",
   "capsule": "",
   "anchor": "https://avoid-crowds.com/porto/#m-2027-09"
  }
 ],
 "climate_normals_source": "meteorological archive:41.15,-8.61:2019-2023",
 "climate_note": "Monthly typical_temp_max_c / typical_rain_days are climate normals from a meteorological archive (2019\u20132023 daily means) \u2014 climate, never a forecast.",
 "best_time": [
  {
   "start": "2027-02-01",
   "end": "2027-02-07",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.919,
   "desirability": 0.628
  },
  {
   "start": "2027-02-22",
   "end": "2027-02-28",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.844,
   "desirability": 0.628
  },
  {
   "start": "2027-02-08",
   "end": "2027-02-14",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.843,
   "desirability": 0.628
  },
  {
   "start": "2027-02-15",
   "end": "2027-02-21",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.84,
   "desirability": 0.628
  },
  {
   "start": "2027-03-15",
   "end": "2027-03-21",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.766,
   "desirability": 0.643
  },
  {
   "start": "2027-03-08",
   "end": "2027-03-14",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "quieter than most weeks here; the weather is usually decent",
   "quiet": 0.737,
   "desirability": 0.643
  }
 ],
 "quietest_not_recommended": [
  {
   "start": "2027-01-11",
   "end": "2027-01-17",
   "label": "quiet_but_harsh",
   "headline": "Quiet but not a great time to be here",
   "reason": "among the quietest weeks of the year here; the weather is usually harsh",
   "quiet": 0.957,
   "desirability": 0.442
  },
  {
   "start": "2027-01-18",
   "end": "2027-01-24",
   "label": "quiet_but_harsh",
   "headline": "Quiet but not a great time to be here",
   "reason": "among the quietest weeks of the year here; the weather is usually harsh",
   "quiet": 0.926,
   "desirability": 0.442
  },
  {
   "start": "2027-01-25",
   "end": "2027-01-31",
   "label": "quiet_but_harsh",
   "headline": "Quiet but not a great time to be here",
   "reason": "among the quietest weeks of the year here; the weather is usually harsh",
   "quiet": 0.924,
   "desirability": 0.442
  },
  {
   "start": "2027-02-01",
   "end": "2027-02-07",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.919,
   "desirability": 0.628
  },
  {
   "start": "2027-01-04",
   "end": "2027-01-10",
   "label": "quiet_but_harsh",
   "headline": "Quiet but not a great time to be here",
   "reason": "among the quietest weeks of the year here; the weather is usually harsh",
   "quiet": 0.886,
   "desirability": 0.442
  },
  {
   "start": "2027-02-22",
   "end": "2027-02-28",
   "label": "recommended",
   "headline": "Recommended \u2014 quiet and pleasant",
   "reason": "among the quietest weeks of the year here; the weather is usually decent",
   "quiet": 0.844,
   "desirability": 0.628
  }
 ],
 "days": [
  {
   "date": "2026-09-13",
   "band": "Busy",
   "busier_than_pct": 79,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2085,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-13.json"
  },
  {
   "date": "2026-09-14",
   "band": "Lively",
   "busier_than_pct": 55,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 413,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-14.json"
  },
  {
   "date": "2026-09-15",
   "band": "Busy",
   "busier_than_pct": 65,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 772,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-15.json"
  },
  {
   "date": "2026-09-16",
   "band": "Lively",
   "busier_than_pct": 54,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 484,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-16.json"
  },
  {
   "date": "2026-09-17",
   "band": "Lively",
   "busier_than_pct": 55,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 548,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-17.json"
  },
  {
   "date": "2026-09-18",
   "band": "Busy",
   "busier_than_pct": 68,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1394,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-18.json"
  },
  {
   "date": "2026-09-19",
   "band": "Lively",
   "busier_than_pct": 56,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 597,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-19.json"
  },
  {
   "date": "2026-09-20",
   "band": "Lively",
   "busier_than_pct": 49,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 224,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-20.json"
  },
  {
   "date": "2026-09-21",
   "band": "Busy",
   "busier_than_pct": 66,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1168,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-21.json"
  },
  {
   "date": "2026-09-22",
   "band": "Lively",
   "busier_than_pct": 47,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 216,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-22.json"
  },
  {
   "date": "2026-09-23",
   "band": "Lively",
   "busier_than_pct": 63,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 938,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-23.json"
  },
  {
   "date": "2026-09-24",
   "band": "Busy",
   "busier_than_pct": 73,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1700,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-24.json"
  },
  {
   "date": "2026-09-25",
   "band": "Lively",
   "busier_than_pct": 53,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 459,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-25.json"
  },
  {
   "date": "2026-09-26",
   "band": "Busy",
   "busier_than_pct": 74,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1594,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-26.json"
  },
  {
   "date": "2026-09-27",
   "band": "Packed",
   "busier_than_pct": 85,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2758,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-27.json"
  },
  {
   "date": "2026-09-28",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3158,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-28.json"
  },
  {
   "date": "2026-09-29",
   "band": "Lively",
   "busier_than_pct": 47,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 216,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-29.json"
  },
  {
   "date": "2026-09-30",
   "band": "Busy",
   "busier_than_pct": 76,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1919,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-09-30.json"
  },
  {
   "date": "2026-10-01",
   "band": "Lively",
   "busier_than_pct": 40,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 362,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-01.json"
  },
  {
   "date": "2026-10-02",
   "band": "Busy",
   "busier_than_pct": 75,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2488,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-02.json"
  },
  {
   "date": "2026-10-03",
   "band": "Lively",
   "busier_than_pct": 43,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 336,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-03.json"
  },
  {
   "date": "2026-10-04",
   "band": "Lively",
   "busier_than_pct": 60,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1482,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-04.json"
  },
  {
   "date": "2026-10-05",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 4192,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-05.json"
  },
  {
   "date": "2026-10-06",
   "band": "Lively",
   "busier_than_pct": 41,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 346,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-06.json"
  },
  {
   "date": "2026-10-07",
   "band": "Lively",
   "busier_than_pct": 49,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 890,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-07.json"
  },
  {
   "date": "2026-10-08",
   "band": "Busy",
   "busier_than_pct": 71,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2126,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-08.json"
  },
  {
   "date": "2026-10-09",
   "band": "Busy",
   "busier_than_pct": 80,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3030,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-09.json"
  },
  {
   "date": "2026-10-10",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3234,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-10.json"
  },
  {
   "date": "2026-10-11",
   "band": "Lively",
   "busier_than_pct": 41,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 330,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-11.json"
  },
  {
   "date": "2026-10-12",
   "band": "Packed",
   "busier_than_pct": 87,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2842,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-12.json"
  },
  {
   "date": "2026-10-13",
   "band": "Calm",
   "busier_than_pct": 37,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 114,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-13.json"
  },
  {
   "date": "2026-10-14",
   "band": "Lively",
   "busier_than_pct": 42,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 382,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-14.json"
  },
  {
   "date": "2026-10-15",
   "band": "Lively",
   "busier_than_pct": 44,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 446,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-15.json"
  },
  {
   "date": "2026-10-16",
   "band": "Busy",
   "busier_than_pct": 81,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2702,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-16.json"
  },
  {
   "date": "2026-10-17",
   "band": "Lively",
   "busier_than_pct": 48,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 737,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-17.json"
  },
  {
   "date": "2026-10-18",
   "band": "Busy",
   "busier_than_pct": 79,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2418,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-18.json"
  },
  {
   "date": "2026-10-19",
   "band": "Lively",
   "busier_than_pct": 53,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 698,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-19.json"
  },
  {
   "date": "2026-10-20",
   "band": "Lively",
   "busier_than_pct": 40,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 216,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-20.json"
  },
  {
   "date": "2026-10-21",
   "band": "Lively",
   "busier_than_pct": 49,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 501,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-21.json"
  },
  {
   "date": "2026-10-22",
   "band": "Lively",
   "busier_than_pct": 40,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 256,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-22.json"
  },
  {
   "date": "2026-10-23",
   "band": "Lively",
   "busier_than_pct": 40,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 112,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-23.json"
  },
  {
   "date": "2026-10-24",
   "band": "Busy",
   "busier_than_pct": 78,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2498,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-24.json"
  },
  {
   "date": "2026-10-25",
   "band": "Packed",
   "busier_than_pct": 91,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3510,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-25.json"
  },
  {
   "date": "2026-10-26",
   "band": "Busy",
   "busier_than_pct": 72,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2029,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-26.json"
  },
  {
   "date": "2026-10-27",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3734,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-27.json"
  },
  {
   "date": "2026-10-28",
   "band": "Lively",
   "busier_than_pct": 47,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 435,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-28.json"
  },
  {
   "date": "2026-10-29",
   "band": "Packed",
   "busier_than_pct": 88,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3280,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-29.json"
  },
  {
   "date": "2026-10-30",
   "band": "Lively",
   "busier_than_pct": 50,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 541,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-30.json"
  },
  {
   "date": "2026-10-31",
   "band": "Packed",
   "busier_than_pct": 85,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2899,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-10-31.json"
  },
  {
   "date": "2026-11-01",
   "band": "Calm",
   "busier_than_pct": 37,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 401,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-01.json"
  },
  {
   "date": "2026-11-02",
   "band": "Calm",
   "busier_than_pct": 31,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 567,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-02.json"
  },
  {
   "date": "2026-11-03",
   "band": "Calm",
   "busier_than_pct": 39,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1457,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-03.json"
  },
  {
   "date": "2026-11-04",
   "band": "Calm",
   "busier_than_pct": 32,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 612,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-04.json"
  },
  {
   "date": "2026-11-05",
   "band": "Calm",
   "busier_than_pct": 35,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1370,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-05.json"
  },
  {
   "date": "2026-11-06",
   "band": "Calm",
   "busier_than_pct": 29,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 511,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-06.json"
  },
  {
   "date": "2026-11-07",
   "band": "Calm",
   "busier_than_pct": 32,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 619,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-07.json"
  },
  {
   "date": "2026-11-08",
   "band": "Lively",
   "busier_than_pct": 62,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2941,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-08.json"
  },
  {
   "date": "2026-11-09",
   "band": "Calm",
   "busier_than_pct": 27,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 356,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-09.json"
  },
  {
   "date": "2026-11-10",
   "band": "Busy",
   "busier_than_pct": 71,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 3463,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-10.json"
  },
  {
   "date": "2026-11-11",
   "band": "Calm",
   "busier_than_pct": 33,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 554,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "France public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-11.json"
  },
  {
   "date": "2026-11-12",
   "band": "Calm",
   "busier_than_pct": 29,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 552,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-12.json"
  },
  {
   "date": "2026-11-13",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 375,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-13.json"
  },
  {
   "date": "2026-11-14",
   "band": "Calm",
   "busier_than_pct": 31,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 502,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-14.json"
  },
  {
   "date": "2026-11-15",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 204,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-15.json"
  },
  {
   "date": "2026-11-16",
   "band": "Lively",
   "busier_than_pct": 58,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2474,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-16.json"
  },
  {
   "date": "2026-11-17",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-17.json"
  },
  {
   "date": "2026-11-18",
   "band": "Calm",
   "busier_than_pct": 23,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 256,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-18.json"
  },
  {
   "date": "2026-11-19",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-19.json"
  },
  {
   "date": "2026-11-20",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-20.json"
  },
  {
   "date": "2026-11-21",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 98,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-21.json"
  },
  {
   "date": "2026-11-22",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 98,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-22.json"
  },
  {
   "date": "2026-11-23",
   "band": "Calm",
   "busier_than_pct": 34,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1101,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-23.json"
  },
  {
   "date": "2026-11-24",
   "band": "Lively",
   "busier_than_pct": 41,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2348,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-24.json"
  },
  {
   "date": "2026-11-25",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-25.json"
  },
  {
   "date": "2026-11-26",
   "band": "Calm",
   "busier_than_pct": 19,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-26.json"
  },
  {
   "date": "2026-11-27",
   "band": "Calm",
   "busier_than_pct": 19,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-27.json"
  },
  {
   "date": "2026-11-28",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 98,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-28.json"
  },
  {
   "date": "2026-11-29",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-29.json"
  },
  {
   "date": "2026-11-30",
   "band": "Calm",
   "busier_than_pct": 23,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "UK public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-11-30.json"
  },
  {
   "date": "2026-12-01",
   "band": "Calm",
   "busier_than_pct": 24,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-01.json"
  },
  {
   "date": "2026-12-02",
   "band": "Lively",
   "busier_than_pct": 53,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2666,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-02.json"
  },
  {
   "date": "2026-12-03",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-03.json"
  },
  {
   "date": "2026-12-04",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-04.json"
  },
  {
   "date": "2026-12-05",
   "band": "Calm",
   "busier_than_pct": 35,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1360,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-05.json"
  },
  {
   "date": "2026-12-06",
   "band": "Calm",
   "busier_than_pct": 19,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-06.json"
  },
  {
   "date": "2026-12-07",
   "band": "Calm",
   "busier_than_pct": 36,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1452,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-07.json"
  },
  {
   "date": "2026-12-08",
   "band": "Calm",
   "busier_than_pct": 28,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-08.json"
  },
  {
   "date": "2026-12-09",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-09.json"
  },
  {
   "date": "2026-12-10",
   "band": "Calm",
   "busier_than_pct": 35,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1338,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-10.json"
  },
  {
   "date": "2026-12-11",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-11.json"
  },
  {
   "date": "2026-12-12",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-12.json"
  },
  {
   "date": "2026-12-13",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-13.json"
  },
  {
   "date": "2026-12-14",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-14.json"
  },
  {
   "date": "2026-12-15",
   "band": "Lively",
   "busier_than_pct": 48,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2152,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-15.json"
  },
  {
   "date": "2026-12-16",
   "band": "Calm",
   "busier_than_pct": 24,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-16.json"
  },
  {
   "date": "2026-12-17",
   "band": "Calm",
   "busier_than_pct": 24,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-17.json"
  },
  {
   "date": "2026-12-18",
   "band": "Calm",
   "busier_than_pct": 24,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-18.json"
  },
  {
   "date": "2026-12-19",
   "band": "Calm",
   "busier_than_pct": 24,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-19.json"
  },
  {
   "date": "2026-12-20",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-20.json"
  },
  {
   "date": "2026-12-21",
   "band": "Calm",
   "busier_than_pct": 27,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-21.json"
  },
  {
   "date": "2026-12-22",
   "band": "Calm",
   "busier_than_pct": 27,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-22.json"
  },
  {
   "date": "2026-12-23",
   "band": "Lively",
   "busier_than_pct": 47,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 1596,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-23.json"
  },
  {
   "date": "2026-12-24",
   "band": "Calm",
   "busier_than_pct": 30,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-24.json"
  },
  {
   "date": "2026-12-25",
   "band": "Calm",
   "busier_than_pct": 34,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "UK public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-25.json"
  },
  {
   "date": "2026-12-26",
   "band": "Calm",
   "busier_than_pct": 32,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 106,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-26.json"
  },
  {
   "date": "2026-12-27",
   "band": "Calm",
   "busier_than_pct": 30,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-27.json"
  },
  {
   "date": "2026-12-28",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 2506,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "UK public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-28.json"
  },
  {
   "date": "2026-12-29",
   "band": "Calm",
   "busier_than_pct": 30,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-29.json"
  },
  {
   "date": "2026-12-30",
   "band": "Calm",
   "busier_than_pct": 30,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-30.json"
  },
  {
   "date": "2026-12-31",
   "band": "Calm",
   "busier_than_pct": 30,
   "basis": "confirmed",
   "confidence": 0.933,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2026-12-31.json"
  },
  {
   "date": "2027-01-01",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 106,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "UK public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-01.json"
  },
  {
   "date": "2027-01-02",
   "band": "Calm",
   "busier_than_pct": 13,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "UK public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-02.json"
  },
  {
   "date": "2027-01-03",
   "band": "Calm",
   "busier_than_pct": 7,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-03.json"
  },
  {
   "date": "2027-01-04",
   "band": "Calm",
   "busier_than_pct": 6,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 102,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-04.json"
  },
  {
   "date": "2027-01-05",
   "band": "Lively",
   "busier_than_pct": 41,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2444,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-05.json"
  },
  {
   "date": "2027-01-06",
   "band": "Calm",
   "busier_than_pct": 11,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-06.json"
  },
  {
   "date": "2027-01-07",
   "band": "Calm",
   "busier_than_pct": 6,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-07.json"
  },
  {
   "date": "2027-01-08",
   "band": "Calm",
   "busier_than_pct": 6,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-08.json"
  },
  {
   "date": "2027-01-09",
   "band": "Calm",
   "busier_than_pct": 5,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-09.json"
  },
  {
   "date": "2027-01-10",
   "band": "Calm",
   "busier_than_pct": 5,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-10.json"
  },
  {
   "date": "2027-01-11",
   "band": "Calm",
   "busier_than_pct": 5,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-11.json"
  },
  {
   "date": "2027-01-12",
   "band": "Calm",
   "busier_than_pct": 5,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-12.json"
  },
  {
   "date": "2027-01-13",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-13.json"
  },
  {
   "date": "2027-01-14",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-14.json"
  },
  {
   "date": "2027-01-15",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-15.json"
  },
  {
   "date": "2027-01-16",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-16.json"
  },
  {
   "date": "2027-01-17",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-17.json"
  },
  {
   "date": "2027-01-18",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-18.json"
  },
  {
   "date": "2027-01-19",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-19.json"
  },
  {
   "date": "2027-01-20",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-20.json"
  },
  {
   "date": "2027-01-21",
   "band": "Calm",
   "busier_than_pct": 28,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1338,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-21.json"
  },
  {
   "date": "2027-01-22",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-22.json"
  },
  {
   "date": "2027-01-23",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-23.json"
  },
  {
   "date": "2027-01-24",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-24.json"
  },
  {
   "date": "2027-01-25",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-25.json"
  },
  {
   "date": "2027-01-26",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-26.json"
  },
  {
   "date": "2027-01-27",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-27.json"
  },
  {
   "date": "2027-01-28",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-28.json"
  },
  {
   "date": "2027-01-29",
   "band": "Calm",
   "busier_than_pct": 5,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-29.json"
  },
  {
   "date": "2027-01-30",
   "band": "Calm",
   "busier_than_pct": 28,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1350,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-30.json"
  },
  {
   "date": "2027-01-31",
   "band": "Calm",
   "busier_than_pct": 4,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-01-31.json"
  },
  {
   "date": "2027-02-01",
   "band": "Calm",
   "busier_than_pct": 9,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-01.json"
  },
  {
   "date": "2027-02-02",
   "band": "Calm",
   "busier_than_pct": 9,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-02.json"
  },
  {
   "date": "2027-02-03",
   "band": "Calm",
   "busier_than_pct": 8,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-03.json"
  },
  {
   "date": "2027-02-04",
   "band": "Calm",
   "busier_than_pct": 8,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-04.json"
  },
  {
   "date": "2027-02-05",
   "band": "Calm",
   "busier_than_pct": 8,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-05.json"
  },
  {
   "date": "2027-02-06",
   "band": "Calm",
   "busier_than_pct": 8,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-06.json"
  },
  {
   "date": "2027-02-07",
   "band": "Calm",
   "busier_than_pct": 7,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-07.json"
  },
  {
   "date": "2027-02-08",
   "band": "Calm",
   "busier_than_pct": 16,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-08.json"
  },
  {
   "date": "2027-02-09",
   "band": "Calm",
   "busier_than_pct": 16,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-09.json"
  },
  {
   "date": "2027-02-10",
   "band": "Calm",
   "busier_than_pct": 16,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-10.json"
  },
  {
   "date": "2027-02-11",
   "band": "Calm",
   "busier_than_pct": 9,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-11.json"
  },
  {
   "date": "2027-02-12",
   "band": "Calm",
   "busier_than_pct": 9,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-12.json"
  },
  {
   "date": "2027-02-13",
   "band": "Calm",
   "busier_than_pct": 34,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1350,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-13.json"
  },
  {
   "date": "2027-02-14",
   "band": "Calm",
   "busier_than_pct": 10,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-14.json"
  },
  {
   "date": "2027-02-15",
   "band": "Calm",
   "busier_than_pct": 18,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 394,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-15.json"
  },
  {
   "date": "2027-02-16",
   "band": "Calm",
   "busier_than_pct": 10,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-16.json"
  },
  {
   "date": "2027-02-17",
   "band": "Lively",
   "busier_than_pct": 43,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2337,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-17.json"
  },
  {
   "date": "2027-02-18",
   "band": "Calm",
   "busier_than_pct": 10,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-18.json"
  },
  {
   "date": "2027-02-19",
   "band": "Calm",
   "busier_than_pct": 10,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-19.json"
  },
  {
   "date": "2027-02-20",
   "band": "Calm",
   "busier_than_pct": 9,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-20.json"
  },
  {
   "date": "2027-02-21",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-21.json"
  },
  {
   "date": "2027-02-22",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-22.json"
  },
  {
   "date": "2027-02-23",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-23.json"
  },
  {
   "date": "2027-02-24",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-24.json"
  },
  {
   "date": "2027-02-25",
   "band": "Calm",
   "busier_than_pct": 34,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1350,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-25.json"
  },
  {
   "date": "2027-02-26",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-26.json"
  },
  {
   "date": "2027-02-27",
   "band": "Calm",
   "busier_than_pct": 12,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-27.json"
  },
  {
   "date": "2027-02-28",
   "band": "Calm",
   "busier_than_pct": 15,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-02-28.json"
  },
  {
   "date": "2027-03-01",
   "band": "Calm",
   "busier_than_pct": 29,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-01.json"
  },
  {
   "date": "2027-03-02",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-02.json"
  },
  {
   "date": "2027-03-03",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-03.json"
  },
  {
   "date": "2027-03-04",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-04.json"
  },
  {
   "date": "2027-03-05",
   "band": "Calm",
   "busier_than_pct": 37,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1248,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-05.json"
  },
  {
   "date": "2027-03-06",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-06.json"
  },
  {
   "date": "2027-03-07",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-07.json"
  },
  {
   "date": "2027-03-08",
   "band": "Calm",
   "busier_than_pct": 26,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-08.json"
  },
  {
   "date": "2027-03-09",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-09.json"
  },
  {
   "date": "2027-03-10",
   "band": "Lively",
   "busier_than_pct": 52,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2050,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-10.json"
  },
  {
   "date": "2027-03-11",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-11.json"
  },
  {
   "date": "2027-03-12",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-12.json"
  },
  {
   "date": "2027-03-13",
   "band": "Calm",
   "busier_than_pct": 20,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-13.json"
  },
  {
   "date": "2027-03-14",
   "band": "Calm",
   "busier_than_pct": 20,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-14.json"
  },
  {
   "date": "2027-03-15",
   "band": "Calm",
   "busier_than_pct": 20,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-15.json"
  },
  {
   "date": "2027-03-16",
   "band": "Calm",
   "busier_than_pct": 20,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-16.json"
  },
  {
   "date": "2027-03-17",
   "band": "Calm",
   "busier_than_pct": 27,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 126,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "UK public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-17.json"
  },
  {
   "date": "2027-03-18",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 126,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-18.json"
  },
  {
   "date": "2027-03-19",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-19.json"
  },
  {
   "date": "2027-03-20",
   "band": "Calm",
   "busier_than_pct": 22,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-20.json"
  },
  {
   "date": "2027-03-21",
   "band": "Calm",
   "busier_than_pct": 31,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 329,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-21.json"
  },
  {
   "date": "2027-03-22",
   "band": "Lively",
   "busier_than_pct": 51,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1542,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-22.json"
  },
  {
   "date": "2027-03-23",
   "band": "Calm",
   "busier_than_pct": 32,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 0,
   "ships": 0,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-23.json"
  },
  {
   "date": "2027-03-24",
   "band": "Calm",
   "busier_than_pct": 38,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 539,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-24.json"
  },
  {
   "date": "2027-03-25",
   "band": "Lively",
   "busier_than_pct": 49,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1093,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-25.json"
  },
  {
   "date": "2027-03-26",
   "band": "Calm",
   "busier_than_pct": 35,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 71,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "UK public holiday",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-26.json"
  },
  {
   "date": "2027-03-27",
   "band": "Lively",
   "busier_than_pct": 63,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2358,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-27.json"
  },
  {
   "date": "2027-03-28",
   "band": "Calm",
   "busier_than_pct": 33,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 295,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-28.json"
  },
  {
   "date": "2027-03-29",
   "band": "Busy",
   "busier_than_pct": 66,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1672,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany public holiday",
    "UK public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-29.json"
  },
  {
   "date": "2027-03-30",
   "band": "Calm",
   "busier_than_pct": 33,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 238,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-30.json"
  },
  {
   "date": "2027-03-31",
   "band": "Calm",
   "busier_than_pct": 38,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 610,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-03-31.json"
  },
  {
   "date": "2027-04-01",
   "band": "Busy",
   "busier_than_pct": 72,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1900,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-01.json"
  },
  {
   "date": "2027-04-02",
   "band": "Calm",
   "busier_than_pct": 39,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 106,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-02.json"
  },
  {
   "date": "2027-04-03",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 703,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-03.json"
  },
  {
   "date": "2027-04-04",
   "band": "Lively",
   "busier_than_pct": 61,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1740,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-04.json"
  },
  {
   "date": "2027-04-05",
   "band": "Packed",
   "busier_than_pct": 91,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3715,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-05.json"
  },
  {
   "date": "2027-04-06",
   "band": "Calm",
   "busier_than_pct": 38,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 471,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-06.json"
  },
  {
   "date": "2027-04-07",
   "band": "Busy",
   "busier_than_pct": 66,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1930,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-07.json"
  },
  {
   "date": "2027-04-08",
   "band": "Calm",
   "busier_than_pct": 38,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 428,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-08.json"
  },
  {
   "date": "2027-04-09",
   "band": "Busy",
   "busier_than_pct": 78,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2696,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-09.json"
  },
  {
   "date": "2027-04-10",
   "band": "Busy",
   "busier_than_pct": 73,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2730,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-10.json"
  },
  {
   "date": "2027-04-11",
   "band": "Lively",
   "busier_than_pct": 42,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 707,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-11.json"
  },
  {
   "date": "2027-04-12",
   "band": "Lively",
   "busier_than_pct": 43,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 602,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-12.json"
  },
  {
   "date": "2027-04-13",
   "band": "Calm",
   "busier_than_pct": 39,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 454,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-13.json"
  },
  {
   "date": "2027-04-14",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4105,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-14.json"
  },
  {
   "date": "2027-04-15",
   "band": "Lively",
   "busier_than_pct": 42,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 642,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-15.json"
  },
  {
   "date": "2027-04-16",
   "band": "Lively",
   "busier_than_pct": 50,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1148,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-16.json"
  },
  {
   "date": "2027-04-17",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4313,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-17.json"
  },
  {
   "date": "2027-04-18",
   "band": "Busy",
   "busier_than_pct": 75,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2626,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-18.json"
  },
  {
   "date": "2027-04-19",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2100,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-19.json"
  },
  {
   "date": "2027-04-20",
   "band": "Calm",
   "busier_than_pct": 36,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-20.json"
  },
  {
   "date": "2027-04-21",
   "band": "Lively",
   "busier_than_pct": 48,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 999,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-21.json"
  },
  {
   "date": "2027-04-22",
   "band": "Packed",
   "busier_than_pct": 94,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4266,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-22.json"
  },
  {
   "date": "2027-04-23",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3213,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-23.json"
  },
  {
   "date": "2027-04-24",
   "band": "Busy",
   "busier_than_pct": 83,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3661,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-24.json"
  },
  {
   "date": "2027-04-25",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4218,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-25.json"
  },
  {
   "date": "2027-04-26",
   "band": "Packed",
   "busier_than_pct": 88,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3638,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-26.json"
  },
  {
   "date": "2027-04-27",
   "band": "Calm",
   "busier_than_pct": 36,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-27.json"
  },
  {
   "date": "2027-04-28",
   "band": "Lively",
   "busier_than_pct": 61,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1575,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-28.json"
  },
  {
   "date": "2027-04-29",
   "band": "Lively",
   "busier_than_pct": 43,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 776,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-29.json"
  },
  {
   "date": "2027-04-30",
   "band": "Lively",
   "busier_than_pct": 48,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 967,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-04-30.json"
  },
  {
   "date": "2027-05-01",
   "band": "Busy",
   "busier_than_pct": 72,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1205,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-01.json"
  },
  {
   "date": "2027-05-02",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3049,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-02.json"
  },
  {
   "date": "2027-05-03",
   "band": "Lively",
   "busier_than_pct": 58,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 822,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "UK public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-03.json"
  },
  {
   "date": "2027-05-04",
   "band": "Calm",
   "busier_than_pct": 37,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-04.json"
  },
  {
   "date": "2027-05-05",
   "band": "Packed",
   "busier_than_pct": 86,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3591,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-05.json"
  },
  {
   "date": "2027-05-06",
   "band": "Packed",
   "busier_than_pct": 86,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3033,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday",
    "France public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-06.json"
  },
  {
   "date": "2027-05-07",
   "band": "Lively",
   "busier_than_pct": 64,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1118,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-07.json"
  },
  {
   "date": "2027-05-08",
   "band": "Busy",
   "busier_than_pct": 81,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2933,
   "ships": 11,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-08.json"
  },
  {
   "date": "2027-05-09",
   "band": "Busy",
   "busier_than_pct": 76,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3270,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-09.json"
  },
  {
   "date": "2027-05-10",
   "band": "Lively",
   "busier_than_pct": 51,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 637,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-10.json"
  },
  {
   "date": "2027-05-11",
   "band": "Busy",
   "busier_than_pct": 66,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1466,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-11.json"
  },
  {
   "date": "2027-05-12",
   "band": "Lively",
   "busier_than_pct": 44,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 411,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-12.json"
  },
  {
   "date": "2027-05-13",
   "band": "Lively",
   "busier_than_pct": 60,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1004,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-13.json"
  },
  {
   "date": "2027-05-14",
   "band": "Busy",
   "busier_than_pct": 67,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1652,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-14.json"
  },
  {
   "date": "2027-05-15",
   "band": "Lively",
   "busier_than_pct": 52,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 774,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-15.json"
  },
  {
   "date": "2027-05-16",
   "band": "Busy",
   "busier_than_pct": 82,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4504,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-16.json"
  },
  {
   "date": "2027-05-17",
   "band": "Busy",
   "busier_than_pct": 65,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 769,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-17.json"
  },
  {
   "date": "2027-05-18",
   "band": "Lively",
   "busier_than_pct": 58,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1052,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-18.json"
  },
  {
   "date": "2027-05-19",
   "band": "Lively",
   "busier_than_pct": 55,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 778,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-19.json"
  },
  {
   "date": "2027-05-20",
   "band": "Lively",
   "busier_than_pct": 56,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1050,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-20.json"
  },
  {
   "date": "2027-05-21",
   "band": "Busy",
   "busier_than_pct": 77,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2296,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-21.json"
  },
  {
   "date": "2027-05-22",
   "band": "Busy",
   "busier_than_pct": 77,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2588,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-22.json"
  },
  {
   "date": "2027-05-23",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 444,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-23.json"
  },
  {
   "date": "2027-05-24",
   "band": "Packed",
   "busier_than_pct": 94,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3753,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-24.json"
  },
  {
   "date": "2027-05-25",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 4486,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-25.json"
  },
  {
   "date": "2027-05-26",
   "band": "Lively",
   "busier_than_pct": 44,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 411,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-26.json"
  },
  {
   "date": "2027-05-27",
   "band": "Packed",
   "busier_than_pct": 91,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3046,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-27.json"
  },
  {
   "date": "2027-05-28",
   "band": "Lively",
   "busier_than_pct": 54,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 945,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-28.json"
  },
  {
   "date": "2027-05-29",
   "band": "Lively",
   "busier_than_pct": 51,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 688,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-29.json"
  },
  {
   "date": "2027-05-30",
   "band": "Busy",
   "busier_than_pct": 74,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1710,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-30.json"
  },
  {
   "date": "2027-05-31",
   "band": "Lively",
   "busier_than_pct": 60,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 602,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "UK public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-05-31.json"
  },
  {
   "date": "2027-06-01",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 106,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-01.json"
  },
  {
   "date": "2027-06-02",
   "band": "Lively",
   "busier_than_pct": 63,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1511,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-02.json"
  },
  {
   "date": "2027-06-03",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 476,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-03.json"
  },
  {
   "date": "2027-06-04",
   "band": "Lively",
   "busier_than_pct": 58,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1250,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-04.json"
  },
  {
   "date": "2027-06-05",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3697,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-05.json"
  },
  {
   "date": "2027-06-06",
   "band": "Busy",
   "busier_than_pct": 79,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2258,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-06.json"
  },
  {
   "date": "2027-06-07",
   "band": "Busy",
   "busier_than_pct": 78,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2000,
   "ships": 11,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-07.json"
  },
  {
   "date": "2027-06-08",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-08.json"
  },
  {
   "date": "2027-06-09",
   "band": "Lively",
   "busier_than_pct": 62,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 776,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-09.json"
  },
  {
   "date": "2027-06-10",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 512,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday"
   ],
   "events": [
    "NOS Primavera Sound Porto"
   ],
   "caveats": [
    "lifted to Packed \u2014 NOS Primavera Sound Porto (MAJOR event)"
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-10.json"
  },
  {
   "date": "2027-06-11",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 190,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [
    "NOS Primavera Sound Porto"
   ],
   "caveats": [
    "lifted to Packed \u2014 NOS Primavera Sound Porto (MAJOR event)"
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-11.json"
  },
  {
   "date": "2027-06-12",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1285,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [
    "NOS Primavera Sound Porto"
   ],
   "caveats": [
    "lifted to Packed \u2014 NOS Primavera Sound Porto (MAJOR event)"
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-12.json"
  },
  {
   "date": "2027-06-13",
   "band": "Lively",
   "busier_than_pct": 57,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 576,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-13.json"
  },
  {
   "date": "2027-06-14",
   "band": "Busy",
   "busier_than_pct": 65,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 870,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-14.json"
  },
  {
   "date": "2027-06-15",
   "band": "Lively",
   "busier_than_pct": 46,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-15.json"
  },
  {
   "date": "2027-06-16",
   "band": "Lively",
   "busier_than_pct": 56,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 609,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-16.json"
  },
  {
   "date": "2027-06-17",
   "band": "Lively",
   "busier_than_pct": 51,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 410,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-17.json"
  },
  {
   "date": "2027-06-18",
   "band": "Lively",
   "busier_than_pct": 52,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 388,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-18.json"
  },
  {
   "date": "2027-06-19",
   "band": "Busy",
   "busier_than_pct": 82,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2728,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-19.json"
  },
  {
   "date": "2027-06-20",
   "band": "Busy",
   "busier_than_pct": 69,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1458,
   "ships": 7,
   "unknown_size": 1,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [
    "1 ship of unknown size not counted \u2014 the capacity floor is understated."
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-20.json"
  },
  {
   "date": "2027-06-21",
   "band": "Lively",
   "busier_than_pct": 57,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 541,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-21.json"
  },
  {
   "date": "2027-06-22",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3060,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-22.json"
  },
  {
   "date": "2027-06-23",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 513,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [
    "Festa de Sao Joao (patron; bonfires, sardines)"
   ],
   "caveats": [
    "lifted to Packed \u2014 Festa de Sao Joao (patron; bonfires, sardines) (MAJOR event)"
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-23.json"
  },
  {
   "date": "2027-06-24",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 664,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Spain public holiday"
   ],
   "events": [
    "Festa de Sao Joao (patron; bonfires, sardines)"
   ],
   "caveats": [
    "lifted to Packed \u2014 Festa de Sao Joao (patron; bonfires, sardines) (MAJOR event)"
   ],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-24.json"
  },
  {
   "date": "2027-06-25",
   "band": "Busy",
   "busier_than_pct": 71,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1456,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-25.json"
  },
  {
   "date": "2027-06-26",
   "band": "Lively",
   "busier_than_pct": 61,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 870,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-26.json"
  },
  {
   "date": "2027-06-27",
   "band": "Lively",
   "busier_than_pct": 52,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 444,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-27.json"
  },
  {
   "date": "2027-06-28",
   "band": "Lively",
   "busier_than_pct": 57,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 541,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-28.json"
  },
  {
   "date": "2027-06-29",
   "band": "Lively",
   "busier_than_pct": 59,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 814,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-29.json"
  },
  {
   "date": "2027-06-30",
   "band": "Lively",
   "busier_than_pct": 59,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 729,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-06-30.json"
  },
  {
   "date": "2027-07-01",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 5143,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-01.json"
  },
  {
   "date": "2027-07-02",
   "band": "Lively",
   "busier_than_pct": 62,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 106,
   "ships": 1,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-02.json"
  },
  {
   "date": "2027-07-03",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2666,
   "ships": 10,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-03.json"
  },
  {
   "date": "2027-07-04",
   "band": "Busy",
   "busier_than_pct": 68,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 444,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-04.json"
  },
  {
   "date": "2027-07-05",
   "band": "Busy",
   "busier_than_pct": 74,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 665,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-05.json"
  },
  {
   "date": "2027-07-06",
   "band": "Lively",
   "busier_than_pct": 62,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 274,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-06.json"
  },
  {
   "date": "2027-07-07",
   "band": "Busy",
   "busier_than_pct": 69,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 477,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-07.json"
  },
  {
   "date": "2027-07-08",
   "band": "Busy",
   "busier_than_pct": 73,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 674,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-08.json"
  },
  {
   "date": "2027-07-09",
   "band": "Busy",
   "busier_than_pct": 69,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 322,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-09.json"
  },
  {
   "date": "2027-07-10",
   "band": "Busy",
   "busier_than_pct": 79,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1060,
   "ships": 11,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-10.json"
  },
  {
   "date": "2027-07-11",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 444,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-11.json"
  },
  {
   "date": "2027-07-12",
   "band": "Busy",
   "busier_than_pct": 75,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 808,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "UK public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-12.json"
  },
  {
   "date": "2027-07-13",
   "band": "Packed",
   "busier_than_pct": 88,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2112,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-13.json"
  },
  {
   "date": "2027-07-14",
   "band": "Busy",
   "busier_than_pct": 77,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 711,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-14.json"
  },
  {
   "date": "2027-07-15",
   "band": "Packed",
   "busier_than_pct": 94,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2878,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-15.json"
  },
  {
   "date": "2027-07-16",
   "band": "Lively",
   "busier_than_pct": 64,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 190,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-16.json"
  },
  {
   "date": "2027-07-17",
   "band": "Packed",
   "busier_than_pct": 91,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2641,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-17.json"
  },
  {
   "date": "2027-07-18",
   "band": "Busy",
   "busier_than_pct": 76,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 852,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-18.json"
  },
  {
   "date": "2027-07-19",
   "band": "Packed",
   "busier_than_pct": 89,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2261,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-19.json"
  },
  {
   "date": "2027-07-20",
   "band": "Busy",
   "busier_than_pct": 68,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 304,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-20.json"
  },
  {
   "date": "2027-07-21",
   "band": "Busy",
   "busier_than_pct": 71,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 513,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-21.json"
  },
  {
   "date": "2027-07-22",
   "band": "Packed",
   "busier_than_pct": 98,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3094,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-22.json"
  },
  {
   "date": "2027-07-23",
   "band": "Lively",
   "busier_than_pct": 64,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 238,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-23.json"
  },
  {
   "date": "2027-07-24",
   "band": "Busy",
   "busier_than_pct": 77,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 898,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-24.json"
  },
  {
   "date": "2027-07-25",
   "band": "Busy",
   "busier_than_pct": 73,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 510,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-25.json"
  },
  {
   "date": "2027-07-26",
   "band": "Busy",
   "busier_than_pct": 76,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 731,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-26.json"
  },
  {
   "date": "2027-07-27",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 340,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-27.json"
  },
  {
   "date": "2027-07-28",
   "band": "Busy",
   "busier_than_pct": 78,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 825,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-28.json"
  },
  {
   "date": "2027-07-29",
   "band": "Packed",
   "busier_than_pct": 98,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3028,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-29.json"
  },
  {
   "date": "2027-07-30",
   "band": "Busy",
   "busier_than_pct": 80,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1456,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-30.json"
  },
  {
   "date": "2027-07-31",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2286,
   "ships": 11,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-07-31.json"
  },
  {
   "date": "2027-08-01",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2408,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-01.json"
  },
  {
   "date": "2027-08-02",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 665,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "UK public holiday",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-02.json"
  },
  {
   "date": "2027-08-03",
   "band": "Packed",
   "busier_than_pct": 97,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3006,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-03.json"
  },
  {
   "date": "2027-08-04",
   "band": "Packed",
   "busier_than_pct": 96,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2769,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-04.json"
  },
  {
   "date": "2027-08-05",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3168,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-05.json"
  },
  {
   "date": "2027-08-06",
   "band": "Busy",
   "busier_than_pct": 80,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 238,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-06.json"
  },
  {
   "date": "2027-08-07",
   "band": "Packed",
   "busier_than_pct": 92,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1218,
   "ships": 11,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-07.json"
  },
  {
   "date": "2027-08-08",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 510,
   "ships": 5,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-08.json"
  },
  {
   "date": "2027-08-09",
   "band": "Packed",
   "busier_than_pct": 89,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 761,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-09.json"
  },
  {
   "date": "2027-08-10",
   "band": "Busy",
   "busier_than_pct": 83,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 340,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-10.json"
  },
  {
   "date": "2027-08-11",
   "band": "Packed",
   "busier_than_pct": 85,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 645,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-11.json"
  },
  {
   "date": "2027-08-12",
   "band": "Packed",
   "busier_than_pct": 96,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3028,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-12.json"
  },
  {
   "date": "2027-08-13",
   "band": "Packed",
   "busier_than_pct": 99,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3638,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-13.json"
  },
  {
   "date": "2027-08-14",
   "band": "Packed",
   "busier_than_pct": 96,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2918,
   "ships": 12,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "France school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-14.json"
  },
  {
   "date": "2027-08-15",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 594,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal public holiday",
    "Germany public holiday",
    "France public holiday",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-15.json"
  },
  {
   "date": "2027-08-16",
   "band": "Packed",
   "busier_than_pct": 97,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3517,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-16.json"
  },
  {
   "date": "2027-08-17",
   "band": "Busy",
   "busier_than_pct": 82,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 370,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-17.json"
  },
  {
   "date": "2027-08-18",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1399,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-18.json"
  },
  {
   "date": "2027-08-19",
   "band": "Packed",
   "busier_than_pct": 100,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3365,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-19.json"
  },
  {
   "date": "2027-08-20",
   "band": "Busy",
   "busier_than_pct": 82,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 304,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-20.json"
  },
  {
   "date": "2027-08-21",
   "band": "Packed",
   "busier_than_pct": 88,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 898,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-21.json"
  },
  {
   "date": "2027-08-22",
   "band": "Packed",
   "busier_than_pct": 96,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3016,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-22.json"
  },
  {
   "date": "2027-08-23",
   "band": "Packed",
   "busier_than_pct": 87,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 765,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-23.json"
  },
  {
   "date": "2027-08-24",
   "band": "Packed",
   "busier_than_pct": 90,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1138,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-24.json"
  },
  {
   "date": "2027-08-25",
   "band": "Packed",
   "busier_than_pct": 85,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 711,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-25.json"
  },
  {
   "date": "2027-08-26",
   "band": "Packed",
   "busier_than_pct": 92,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1244,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-26.json"
  },
  {
   "date": "2027-08-27",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 501,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-27.json"
  },
  {
   "date": "2027-08-28",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2588,
   "ships": 9,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-28.json"
  },
  {
   "date": "2027-08-29",
   "band": "Busy",
   "busier_than_pct": 84,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 606,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-29.json"
  },
  {
   "date": "2027-08-30",
   "band": "Packed",
   "busier_than_pct": 97,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3543,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "UK public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-30.json"
  },
  {
   "date": "2027-08-31",
   "band": "Busy",
   "busier_than_pct": 79,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-08-31.json"
  },
  {
   "date": "2027-09-01",
   "band": "Busy",
   "busier_than_pct": 66,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 645,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-01.json"
  },
  {
   "date": "2027-09-02",
   "band": "Packed",
   "busier_than_pct": 93,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3018,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-02.json"
  },
  {
   "date": "2027-09-03",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 894,
   "ships": 4,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-03.json"
  },
  {
   "date": "2027-09-04",
   "band": "Busy",
   "busier_than_pct": 81,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1970,
   "ships": 7,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-04.json"
  },
  {
   "date": "2027-09-05",
   "band": "Busy",
   "busier_than_pct": 67,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 707,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-05.json"
  },
  {
   "date": "2027-09-06",
   "band": "Packed",
   "busier_than_pct": 95,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 3587,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-06.json"
  },
  {
   "date": "2027-09-07",
   "band": "Lively",
   "busier_than_pct": 55,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 208,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-07.json"
  },
  {
   "date": "2027-09-08",
   "band": "Busy",
   "busier_than_pct": 70,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 645,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-08.json"
  },
  {
   "date": "2027-09-09",
   "band": "Lively",
   "busier_than_pct": 60,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 344,
   "ships": 3,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-09.json"
  },
  {
   "date": "2027-09-10",
   "band": "Lively",
   "busier_than_pct": 55,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 190,
   "ships": 2,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-10.json"
  },
  {
   "date": "2027-09-11",
   "band": "Packed",
   "busier_than_pct": 85,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 2476,
   "ships": 8,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays",
    "Spain public holiday"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-11.json"
  },
  {
   "date": "2027-09-12",
   "band": "Busy",
   "busier_than_pct": 73,
   "basis": "confirmed",
   "confidence": 0.867,
   "guest_capacity_min": 1134,
   "ships": 6,
   "unknown_size": 0,
   "drivers": [
    "Portugal school holidays",
    "Germany school holidays"
   ],
   "events": [],
   "caveats": [],
   "caveats_checked": true,
   "record": "https://avoid-crowds.com/porto/2027-09-12.json"
  }
 ],
 "cite_as": "Avoid-Crowds crowd forecast \u2014 Porto, as of 2026-09-13 \u00b7 https://avoid-crowds.com/porto/",
 "license": "CC BY 4.0"
}