{
  "contest": {
    "id": "arrl-rtty-roundup",
    "name": "ARRL RTTY Roundup",
    "sponsor": "ARRL",
    "sponsor_home": "http://www.arrl.org/contest-calendar",
    "country": "US",
    "summary": "",
    "modes": [
      "RTTY"
    ],
    "bands": [
      "80m",
      "40m",
      "20m",
      "15m",
      "10m"
    ],
    "exchange": "",
    "power_categories": [],
    "log_format": "",
    "log_deadline_days": null,
    "log_submit_url": "",
    "timezone": "",
    "local_rolling": false,
    "eligibility": {
      "scope": "worldwide",
      "verified": false
    },
    "active_from": null,
    "active_until": null,
    "note": "",
    "verified": true,
    "rules_url": "http://www.arrl.org/rtty-roundup",
    "rules_url_pattern": "",
    "rules_url_archived": "",
    "rules_url_checked": "2026-08-21",
    "source_note": "ARRL's Generic ARRL Contest Calendar at arrl.org/contest-calendar, which is ARRL stating the recurrence of its own contest in words: 'First full weekend of January, but never on January 1, 1800 UTC Saturday through 2359 UTC Sunday.' Re-verified 2026-08-21 against the stored rule, which matches. The Contest Corral on the same page is NOT a source here -- ARRL states it is generated from WA7BNM Contest Calendar data, so it is derived. Previous note read: 'ARRL: first full weekend of January, but never on January 1'."
  },
  "rule": {
    "plain": "First full weekend of January, except when that falls on 1 January — then the weekend after",
    "raw": {
      "type": "nth_full_weekend",
      "month": 1,
      "n": 1,
      "exclude_dates": [
        [
          1,
          1
        ]
      ]
    },
    "start": {
      "day_offset": 0,
      "time": "1800"
    },
    "end": {
      "day_offset": 1,
      "time": "2359"
    },
    "sessions": null
  },
  "next": [
    {
      "contest_id": "arrl-rtty-roundup",
      "name": "ARRL RTTY Roundup",
      "start": "2027-01-02T18:00:00Z",
      "end": "2027-01-03T23:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 29.98,
      "modes": [
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "ARRL",
      "rules_url": "http://www.arrl.org/rtty-roundup",
      "verified": true,
      "note": "",
      "exchange": "",
      "country": "US",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-21",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "arrl-rtty-roundup-20270102T1800@contestcal",
      "start_date": "2027-01-02",
      "mode_families": [
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "gte24"
    },
    {
      "contest_id": "arrl-rtty-roundup",
      "name": "ARRL RTTY Roundup",
      "start": "2028-01-08T18:00:00Z",
      "end": "2028-01-09T23:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 29.98,
      "modes": [
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "ARRL",
      "rules_url": "http://www.arrl.org/rtty-roundup",
      "verified": true,
      "note": "",
      "exchange": "",
      "country": "US",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-21",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "arrl-rtty-roundup-20280108T1800@contestcal",
      "start_date": "2028-01-08",
      "mode_families": [
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "gte24"
    },
    {
      "contest_id": "arrl-rtty-roundup",
      "name": "ARRL RTTY Roundup",
      "start": "2029-01-06T18:00:00Z",
      "end": "2029-01-07T23:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 29.98,
      "modes": [
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "ARRL",
      "rules_url": "http://www.arrl.org/rtty-roundup",
      "verified": true,
      "note": "",
      "exchange": "",
      "country": "US",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-21",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "arrl-rtty-roundup-20290106T1800@contestcal",
      "start_date": "2029-01-06",
      "mode_families": [
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "gte24"
    },
    {
      "contest_id": "arrl-rtty-roundup",
      "name": "ARRL RTTY Roundup",
      "start": "2030-01-05T18:00:00Z",
      "end": "2030-01-06T23:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 29.98,
      "modes": [
        "RTTY"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "ARRL",
      "rules_url": "http://www.arrl.org/rtty-roundup",
      "verified": true,
      "note": "",
      "exchange": "",
      "country": "US",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-21",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "arrl-rtty-roundup-20300105T1800@contestcal",
      "start_date": "2030-01-05",
      "mode_families": [
        "RTTY",
        "Digital"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "gte24"
    }
  ]
}