{
  "contest": {
    "id": "sarl-club-40m",
    "name": "SARL Saturday 40 m Club Contest",
    "sponsor": "SARL",
    "sponsor_home": "https://mysarl.org.za/",
    "country": "ZA",
    "summary": "An hour on 40 m for South African club teams, run in January, April, July and November; individual scores add up to a club total.",
    "modes": [
      "SSB",
      "CW",
      "RTTY"
    ],
    "bands": [
      "40m"
    ],
    "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
    "power_categories": [],
    "log_format": "",
    "log_deadline_days": null,
    "log_submit_url": "",
    "timezone": "",
    "local_rolling": false,
    "eligibility": {
      "scope": "entity_list",
      "entities": [
        "ZS"
      ],
      "verified": false,
      "note": "THIS CATALOG'S READING, NOT SARL'S WORDING. The manual states no entry restriction, but the exchange requires an Abbreviated Club Callsign 'derived from the club's ICASA issued callsign', and ICASA is the South African regulator -- so a station outside South Africa has no valid exchange to send. Recorded as ZS with eligibility.verified false rather than as worldwide, and it should be confirmed with SARL."
    },
    "active_from": null,
    "active_until": null,
    "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
    "verified": true,
    "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
    "rules_url_pattern": "",
    "rules_url_archived": "",
    "rules_url_checked": "2026-08-23",
    "source_note": "2026 SARL Contest Manual Version 1.1 (2025-12-15), mysarl.org.za, page 35 onward. The manual is the venue in which SARL publishes these rules; see data/sources.md, 'Africa stops being one record -- SARL'. 'The SARL Saturday 40 m Club Contest'. Date and times: '15:00 to 16:00 UTC on the 4th Saturday of a month - Saturday 24 January; Saturday 25 April; Saturday 25 July; Saturday 28 November 2026.' Frequencies: 'Phone - 7 063 to 7 100 and 7 130 to 7 200 kHz. The segment from 7 101 to 7 129 kHz is contest free. CW - 7 000 to 7 040 kHz. RTTY - 7 040 to 7 060 kHz.' Exchange: 'Your name, your Abbreviated Club Callsign and your 4-character grid square (eg KG30).' Re-read 2026-08-23."
  },
  "rule": {
    "plain": "Fourth Saturday of January, April, July and November",
    "raw": {
      "type": "monthly_nth_weekday",
      "n": 4,
      "weekday": 5,
      "months": [
        1,
        4,
        7,
        11
      ]
    },
    "start": {
      "day_offset": 0,
      "time": "1500"
    },
    "end": {
      "day_offset": 0,
      "time": "1600"
    },
    "sessions": null
  },
  "next": [
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2026-11-28T15:00:00Z",
      "end": "2026-11-28T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20261128T1500@contestcal",
      "start_date": "2026-11-28",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    },
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2027-01-23T15:00:00Z",
      "end": "2027-01-23T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20270123T1500@contestcal",
      "start_date": "2027-01-23",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    },
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2027-04-24T15:00:00Z",
      "end": "2027-04-24T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20270424T1500@contestcal",
      "start_date": "2027-04-24",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    },
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2027-07-24T15:00:00Z",
      "end": "2027-07-24T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20270724T1500@contestcal",
      "start_date": "2027-07-24",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    },
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2027-11-27T15:00:00Z",
      "end": "2027-11-27T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20271127T1500@contestcal",
      "start_date": "2027-11-27",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    },
    {
      "contest_id": "sarl-club-40m",
      "name": "SARL Saturday 40 m Club Contest",
      "start": "2028-01-22T15:00:00Z",
      "end": "2028-01-22T16:00:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 1,
      "modes": [
        "SSB",
        "CW",
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "40m"
      ],
      "bands_note": "Phone 7 063-7 100 and 7 130-7 200 kHz; CW 7 000-7 040 kHz; RTTY 7 040-7 060 kHz. The segment 7 101-7 129 kHz is contest free.",
      "sponsor": "SARL",
      "rules_url": "https://mysarl.org.za/wp-content/uploads/2025/12/2026-SARL-Contest-Manual-Version-1.1-2025-12-15.pdf",
      "verified": true,
      "note": "A club championship rather than an individual contest: operators' scores are added into a club total. The month list is SARL's own -- these run in four months of the year, not every month -- which is what monthly_nth_weekday's `months` field exists for. log_format and log_deadline_days are absent: this pass read each contest's Aim, Dates, Frequencies and Exchange sections and did not read its Log Sheets section, so neither is recorded rather than assumed from SARL's other contests.\n\nPROVENANCE RESTORED 2026-08-23. This record carried verified: true with an EMPTY source_note -- one of three the 2026-08-21 rule audit found, and a stricter defect than the thin ARRL notes beside them: an empty string is not weak evidence, it is none, and there was nothing in the record to check a rule against. The rule, the times, the bands and the exchange were all correct; only the evidence for them was missing. Re-read from the manual and quoted above, and SARL's own printed 2026 dates reproduce it.",
      "exchange": "Your name, your Abbreviated Club Callsign and your 4-character grid square (for example KG30).",
      "country": "ZA",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-23",
      "can_enter": false,
      "eligibility_scope": "entity_list",
      "eligibility_reason": "Entry limited to ZS. K stations may be worked but cannot submit an entry.",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "sarl-club-40m-20280122T1500@contestcal",
      "start_date": "2028-01-22",
      "mode_families": [
        "CW",
        "SSB",
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "40m"
      ],
      "duration_bucket": "lt2"
    }
  ]
}