{
  "schema": "tvsports.schedule.v1",
  "generated_at": "2026-09-19T15:58:11.069705+03:00",
  "source": "sahadan+sporekrani+mock",
  "source_url": "https://www.sahadan.com/tv-programi",
  "extra_source_url": "https://www.sporekrani.com",
  "horizon_days": 65,
  "backend_version": "0.2.1",
  "event_count": 59,
  "events": [
    {
      "id": "8ftftwofpg71t5rcwbhdgn9xw",
      "source_match_id": null,
      "starts_at_utc": "2026-09-19 14:00:00",
      "starts_at_istanbul": "2026-09-19 17:00:00",
      "title": "Fenerbahçe Tarfin - Dubai",
      "home": "Fenerbahçe Tarfin",
      "away": "Dubai",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "S Sport Plus",
        "S Sport"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sahadan"
    },
    {
      "id": "chqb1auleskzta4x73zkpa978",
      "source_match_id": 5033242,
      "starts_at_utc": "2026-09-19 17:00:00",
      "starts_at_istanbul": "2026-09-19 20:00:00",
      "title": "Trabzonspor - Galatasaray",
      "home": "Trabzonspor",
      "away": "Galatasaray",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "beIN SPORTS 1"
      ],
      "entity_ids": [
        "trabzonspor",
        "galatasaray"
      ],
      "source": "sahadan"
    },
    {
      "id": "7kyrc4nfqqhhpuy9qmwezpp1w",
      "source_match_id": 4998091,
      "starts_at_utc": "2026-09-19 19:00:00",
      "starts_at_istanbul": "2026-09-19 22:00:00",
      "title": "Sevilla - Barcelona",
      "home": "Sevilla",
      "away": "Barcelona",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "S Sport Plus",
        "S Sport"
      ],
      "entity_ids": [
        "barcelona"
      ],
      "source": "sahadan"
    },
    {
      "id": "se-488092",
      "source_match_id": "488092",
      "starts_at_utc": "2026-09-20 13:00:00",
      "starts_at_istanbul": "2026-09-20 16:00:00",
      "title": "Fenerbahçe Koleji - Keçiören Bld",
      "home": "Fenerbahçe Koleji",
      "away": "Keçiören Bld",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "TBF TV Youtube"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "cjmgsnh2mcm3fvksvmlyxu3h0",
      "source_match_id": 5033248,
      "starts_at_utc": "2026-09-20 14:00:00",
      "starts_at_istanbul": "2026-09-20 17:00:00",
      "title": "Fenerbahçe - Eyüpspor",
      "home": "Fenerbahçe",
      "away": "Eyüpspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "beIN SPORTS 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sahadan"
    },
    {
      "id": "7j22qz3t4ws54eotrjesr4jdg",
      "source_match_id": 4998085,
      "starts_at_utc": "2026-09-20 14:15:00",
      "starts_at_istanbul": "2026-09-20 17:15:00",
      "title": "Atl. Madrid - Real Madrid",
      "home": "Atl. Madrid",
      "away": "Real Madrid",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "S Sport Plus",
        "S Sport"
      ],
      "entity_ids": [
        "real_madrid"
      ],
      "source": "sahadan"
    },
    {
      "id": "ciogj2i9n0vuzikm94orqsyz8",
      "source_match_id": 5033245,
      "starts_at_utc": "2026-09-20 17:00:00",
      "starts_at_istanbul": "2026-09-20 20:00:00",
      "title": "Amed SK - Beşiktaş",
      "home": "Amed SK",
      "away": "Beşiktaş",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "beIN SPORTS 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sahadan"
    },
    {
      "id": "dldg738b03tm0smr49nh84k4",
      "source_match_id": null,
      "starts_at_utc": "2026-09-22 17:00:00",
      "starts_at_istanbul": "2026-09-22 20:00:00",
      "title": "Fenerbahçe Tarfin - Beşiktaş",
      "home": "Fenerbahçe Tarfin",
      "away": "Beşiktaş",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "tabii",
        "TRT 1"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sahadan"
    },
    {
      "id": "demo-dense-fenerbahce_football",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 12:00:00",
      "starts_at_istanbul": "2026-09-23 15:00:00",
      "title": "[DEMO] Fenerbahçe - Demo A",
      "home": "Fenerbahçe",
      "away": "Demo A",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-fenerbahce_basketball",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 13:00:00",
      "starts_at_istanbul": "2026-09-23 16:00:00",
      "title": "[DEMO] Fenerbahçe Tarfin - Demo B",
      "home": "Fenerbahçe Tarfin",
      "away": "Demo B",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-galatasaray",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 14:00:00",
      "starts_at_istanbul": "2026-09-23 17:00:00",
      "title": "[DEMO] Galatasaray - Demo C",
      "home": "Galatasaray",
      "away": "Demo C",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-besiktas",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 15:00:00",
      "starts_at_istanbul": "2026-09-23 18:00:00",
      "title": "[DEMO] Beşiktaş - Demo D",
      "home": "Beşiktaş",
      "away": "Demo D",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-trabzonspor",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 16:00:00",
      "starts_at_istanbul": "2026-09-23 19:00:00",
      "title": "[DEMO] Trabzonspor - Demo E",
      "home": "Trabzonspor",
      "away": "Demo E",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-real_madrid",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 17:00:00",
      "starts_at_istanbul": "2026-09-23 20:00:00",
      "title": "[DEMO] Real Madrid - Demo F",
      "home": "Real Madrid",
      "away": "Demo F",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "real_madrid"
      ],
      "source": "mock"
    },
    {
      "id": "demo-dense-formula1",
      "source_match_id": null,
      "starts_at_utc": "2026-09-23 18:00:00",
      "starts_at_istanbul": "2026-09-23 21:00:00",
      "title": "[DEMO] Formula 1 - Demo GP",
      "home": "Formula 1",
      "away": "Demo GP",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Demo TV"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "mock"
    },
    {
      "id": "se-481463",
      "source_match_id": "481463",
      "starts_at_utc": "2026-09-25 12:00:00",
      "starts_at_istanbul": "2026-09-25 15:00:00",
      "title": "Formula 1 - Sıralama Turları",
      "home": "Formula 1",
      "away": "Sıralama Turları",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-485812",
      "source_match_id": "485812",
      "starts_at_utc": "2026-09-25 17:45:00",
      "starts_at_istanbul": "2026-09-25 20:45:00",
      "title": "Fenerbahçe Tarfin - Virtus Bologna",
      "home": "Fenerbahçe Tarfin",
      "away": "Virtus Bologna",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "S Sport Plus",
        "S Sport"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-481464",
      "source_match_id": "481464",
      "starts_at_utc": "2026-09-26 11:00:00",
      "starts_at_istanbul": "2026-09-26 14:00:00",
      "title": "Formula 1 - Azerbaycan GP",
      "home": "Formula 1",
      "away": "Azerbaycan GP",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488100",
      "source_match_id": "488100",
      "starts_at_utc": "2026-09-27 13:00:00",
      "starts_at_istanbul": "2026-09-27 16:00:00",
      "title": "Final Spor - Fenerbahçe Koleji",
      "home": "Final Spor",
      "away": "Fenerbahçe Koleji",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "TBF TV Youtube"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488852",
      "source_match_id": "488852",
      "starts_at_utc": "2026-09-27 15:00:00",
      "starts_at_istanbul": "2026-09-27 18:00:00",
      "title": "Bahçeşehir Klj - Fenerbahçe Tarfin",
      "home": "Bahçeşehir Klj",
      "away": "Fenerbahçe Tarfin",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "Bein Sports 5"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-485817",
      "source_match_id": "485817",
      "starts_at_utc": "2026-09-29 17:45:00",
      "starts_at_istanbul": "2026-09-29 20:45:00",
      "title": "Fenerbahçe Tarfin - Bayern Münih",
      "home": "Fenerbahçe Tarfin",
      "away": "Bayern Münih",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "S Sport Plus",
        "S Sport"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488471",
      "source_match_id": "488471",
      "starts_at_utc": "2026-10-03 07:00:00",
      "starts_at_istanbul": "2026-10-03 10:00:00",
      "title": "Formula 1 - Sıralama Turları",
      "home": "Formula 1",
      "away": "Sıralama Turları",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488472",
      "source_match_id": "488472",
      "starts_at_utc": "2026-10-04 06:00:00",
      "starts_at_istanbul": "2026-10-04 09:00:00",
      "title": "Formula 1 - Bahreyn GP",
      "home": "Formula 1",
      "away": "Bahreyn GP",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488860",
      "source_match_id": "488860",
      "starts_at_utc": "2026-10-04 12:30:00",
      "starts_at_istanbul": "2026-10-04 15:30:00",
      "title": "Fenerbahçe Tarfin - Körfez Basket",
      "home": "Fenerbahçe Tarfin",
      "away": "Körfez Basket",
      "sport": "Basketbol",
      "sport_id": 2,
      "channels": [
        "Bein Sports 5"
      ],
      "entity_ids": [
        "fenerbahce_basketball"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488474",
      "source_match_id": "488474",
      "starts_at_utc": "2026-10-09 12:30:00",
      "starts_at_istanbul": "2026-10-09 15:30:00",
      "title": "Formula 1 - Sprint Sıralama Turları",
      "home": "Formula 1",
      "away": "Sprint Sıralama Turları",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488937",
      "source_match_id": "488937",
      "starts_at_utc": "2026-10-09 17:00:00",
      "starts_at_istanbul": "2026-10-09 20:00:00",
      "title": "Galatasaray - Kasımpaşa",
      "home": "Galatasaray",
      "away": "Kasımpaşa",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488475",
      "source_match_id": "488475",
      "starts_at_utc": "2026-10-10 09:00:00",
      "starts_at_istanbul": "2026-10-10 12:00:00",
      "title": "Formula 1 - Sprint Yarışı",
      "home": "Formula 1",
      "away": "Sprint Yarışı",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488476",
      "source_match_id": "488476",
      "starts_at_utc": "2026-10-10 13:00:00",
      "starts_at_istanbul": "2026-10-10 16:00:00",
      "title": "Formula 1 - Sıralama Turları",
      "home": "Formula 1",
      "away": "Sıralama Turları",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488940",
      "source_match_id": "488940",
      "starts_at_utc": "2026-10-10 13:00:00",
      "starts_at_istanbul": "2026-10-10 16:00:00",
      "title": "Samsunspor - Trabzonspor",
      "home": "Samsunspor",
      "away": "Trabzonspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488941",
      "source_match_id": "488941",
      "starts_at_utc": "2026-10-10 16:00:00",
      "starts_at_istanbul": "2026-10-10 19:00:00",
      "title": "Ç.Rizespor - Fenerbahçe",
      "home": "Ç.Rizespor",
      "away": "Fenerbahçe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488219",
      "source_match_id": "488219",
      "starts_at_utc": "2026-10-10 16:30:00",
      "starts_at_istanbul": "2026-10-10 19:30:00",
      "title": "Barcelona - Getafe",
      "home": "Barcelona",
      "away": "Getafe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "S Sport Plus"
      ],
      "entity_ids": [
        "barcelona"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488220",
      "source_match_id": "488220",
      "starts_at_utc": "2026-10-10 19:00:00",
      "starts_at_istanbul": "2026-10-10 22:00:00",
      "title": "Real Madrid - Villarreal",
      "home": "Real Madrid",
      "away": "Villarreal",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "S Sport Plus"
      ],
      "entity_ids": [
        "real_madrid"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488477",
      "source_match_id": "488477",
      "starts_at_utc": "2026-10-11 12:00:00",
      "starts_at_istanbul": "2026-10-11 15:00:00",
      "title": "Formula 1 - Singapur GP",
      "home": "Formula 1",
      "away": "Singapur GP",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488944",
      "source_match_id": "488944",
      "starts_at_utc": "2026-10-11 16:00:00",
      "starts_at_istanbul": "2026-10-11 19:00:00",
      "title": "Beşiktaş - Kocaelispor",
      "home": "Beşiktaş",
      "away": "Kocaelispor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-487263",
      "source_match_id": "487263",
      "starts_at_utc": "2026-10-13 19:00:00",
      "starts_at_istanbul": "2026-10-13 22:00:00",
      "title": "Galatasaray - Barcelona",
      "home": "Galatasaray",
      "away": "Barcelona",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "TRT 1"
      ],
      "entity_ids": [
        "galatasaray",
        "barcelona"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-487271",
      "source_match_id": "487271",
      "starts_at_utc": "2026-10-14 19:00:00",
      "starts_at_istanbul": "2026-10-14 22:00:00",
      "title": "Aston Villa - Fenerbahçe",
      "home": "Aston Villa",
      "away": "Fenerbahçe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "TRT 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-487270",
      "source_match_id": "487270",
      "starts_at_utc": "2026-10-14 19:00:00",
      "starts_at_istanbul": "2026-10-14 22:00:00",
      "title": "Roma - Real Madrid",
      "home": "Roma",
      "away": "Real Madrid",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "tabii Spor"
      ],
      "entity_ids": [
        "real_madrid"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-487317",
      "source_match_id": "487317",
      "starts_at_utc": "2026-10-15 16:45:00",
      "starts_at_istanbul": "2026-10-15 19:45:00",
      "title": "KuPS - Trabzonspor",
      "home": "KuPS",
      "away": "Trabzonspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "TRT 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-487308",
      "source_match_id": "487308",
      "starts_at_utc": "2026-10-15 19:00:00",
      "starts_at_istanbul": "2026-10-15 22:00:00",
      "title": "Hoffenheim - Beşiktaş",
      "home": "Hoffenheim",
      "away": "Beşiktaş",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "TRT 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488949",
      "source_match_id": "488949",
      "starts_at_utc": "2026-10-17 13:00:00",
      "starts_at_istanbul": "2026-10-17 16:00:00",
      "title": "Gençlerbirliği - Galatasaray",
      "home": "Gençlerbirliği",
      "away": "Galatasaray",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488950",
      "source_match_id": "488950",
      "starts_at_utc": "2026-10-17 16:00:00",
      "starts_at_istanbul": "2026-10-17 19:00:00",
      "title": "Fenerbahçe - Alanyaspor",
      "home": "Fenerbahçe",
      "away": "Alanyaspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488954",
      "source_match_id": "488954",
      "starts_at_utc": "2026-10-19 17:00:00",
      "starts_at_istanbul": "2026-10-19 20:00:00",
      "title": "Trabzonspor - Beşiktaş",
      "home": "Trabzonspor",
      "away": "Beşiktaş",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor",
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488481",
      "source_match_id": "488481",
      "starts_at_utc": "2026-10-24 21:00:00",
      "starts_at_istanbul": "2026-10-25 00:00:00",
      "title": "Formula 1 - Sıralama Turları",
      "home": "Formula 1",
      "away": "Sıralama Turları",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488482",
      "source_match_id": "488482",
      "starts_at_utc": "2026-10-25 20:00:00",
      "starts_at_istanbul": "2026-10-25 23:00:00",
      "title": "Formula 1 - ABD GP",
      "home": "Formula 1",
      "away": "ABD GP",
      "sport": "Formula 1",
      "sport_id": 99,
      "channels": [
        "Bein Sports 4"
      ],
      "entity_ids": [
        "formula1"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488962",
      "source_match_id": "488962",
      "starts_at_utc": "2026-10-26 16:00:00",
      "starts_at_istanbul": "2026-10-26 19:00:00",
      "title": "Beşiktaş - İstanbul Başakşehir",
      "home": "Beşiktaş",
      "away": "İstanbul Başakşehir",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488961",
      "source_match_id": "488961",
      "starts_at_utc": "2026-10-26 16:00:00",
      "starts_at_istanbul": "2026-10-26 19:00:00",
      "title": "Ç.Rizespor - Trabzonspor",
      "home": "Ç.Rizespor",
      "away": "Trabzonspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488963",
      "source_match_id": "488963",
      "starts_at_utc": "2026-10-26 18:30:00",
      "starts_at_istanbul": "2026-10-26 21:30:00",
      "title": "Galatasaray - Fenerbahçe",
      "home": "Galatasaray",
      "away": "Fenerbahçe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football",
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488964",
      "source_match_id": "488964",
      "starts_at_utc": "2026-10-30 17:00:00",
      "starts_at_istanbul": "2026-10-30 20:00:00",
      "title": "Konyaspor - Galatasaray",
      "home": "Konyaspor",
      "away": "Galatasaray",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488967",
      "source_match_id": "488967",
      "starts_at_utc": "2026-10-31 16:00:00",
      "starts_at_istanbul": "2026-10-31 19:00:00",
      "title": "Fenerbahçe - Göztepe",
      "home": "Fenerbahçe",
      "away": "Göztepe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488969",
      "source_match_id": "488969",
      "starts_at_utc": "2026-11-01 13:00:00",
      "starts_at_istanbul": "2026-11-01 16:00:00",
      "title": "Trabzonspor - Gaziantep FK",
      "home": "Trabzonspor",
      "away": "Gaziantep FK",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488971",
      "source_match_id": "488971",
      "starts_at_utc": "2026-11-01 16:00:00",
      "starts_at_istanbul": "2026-11-01 19:00:00",
      "title": "Kasımpaşa - Beşiktaş",
      "home": "Kasımpaşa",
      "away": "Beşiktaş",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488977",
      "source_match_id": "488977",
      "starts_at_utc": "2026-11-07 16:00:00",
      "starts_at_istanbul": "2026-11-07 19:00:00",
      "title": "Galatasaray - Amedspor",
      "home": "Galatasaray",
      "away": "Amedspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488979",
      "source_match_id": "488979",
      "starts_at_utc": "2026-11-08 13:00:00",
      "starts_at_istanbul": "2026-11-08 16:00:00",
      "title": "Çorum FK - Fenerbahçe",
      "home": "Çorum FK",
      "away": "Fenerbahçe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488980",
      "source_match_id": "488980",
      "starts_at_utc": "2026-11-08 15:30:00",
      "starts_at_istanbul": "2026-11-08 18:30:00",
      "title": "Alanyaspor - Trabzonspor",
      "home": "Alanyaspor",
      "away": "Trabzonspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488981",
      "source_match_id": "488981",
      "starts_at_utc": "2026-11-08 18:00:00",
      "starts_at_istanbul": "2026-11-08 21:00:00",
      "title": "Beşiktaş - Gençlerbirliği",
      "home": "Beşiktaş",
      "away": "Gençlerbirliği",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488984",
      "source_match_id": "488984",
      "starts_at_utc": "2026-11-21 13:00:00",
      "starts_at_istanbul": "2026-11-21 16:00:00",
      "title": "Galatasaray - Samsunspor",
      "home": "Galatasaray",
      "away": "Samsunspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "galatasaray"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488985",
      "source_match_id": "488985",
      "starts_at_utc": "2026-11-21 16:00:00",
      "starts_at_istanbul": "2026-11-21 19:00:00",
      "title": "Kocaelispor - Fenerbahçe",
      "home": "Kocaelispor",
      "away": "Fenerbahçe",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "fenerbahce_football"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488988",
      "source_match_id": "488988",
      "starts_at_utc": "2026-11-22 13:00:00",
      "starts_at_istanbul": "2026-11-22 16:00:00",
      "title": "Konyaspor - Beşiktaş",
      "home": "Konyaspor",
      "away": "Beşiktaş",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "besiktas"
      ],
      "source": "sporekrani"
    },
    {
      "id": "se-488989",
      "source_match_id": "488989",
      "starts_at_utc": "2026-11-22 16:00:00",
      "starts_at_istanbul": "2026-11-22 19:00:00",
      "title": "Trabzonspor - Eyüpspor",
      "home": "Trabzonspor",
      "away": "Eyüpspor",
      "sport": "Futbol",
      "sport_id": 1,
      "channels": [
        "Bein Sports 1"
      ],
      "entity_ids": [
        "trabzonspor"
      ],
      "source": "sporekrani"
    }
  ],
  "note": "starts_at_utc is UTC. starts_at_istanbul is Europe/Istanbul. Sahadan wins on the same-day overlap; Spor Ekranı fills later dates. Rows with source=mock are a calendar overflow demo and are not real fixtures."
}
