{
  "contest": {
    "id": "bfra-lz-dx",
    "name": "LZ DX Contest",
    "sponsor": "BFRA",
    "sponsor_home": "https://www.bfra.bg/",
    "country": "BG",
    "summary": "Bulgaria's DX contest, deliberately placed the weekend before CQ WW CW. LZ stations are worth ten points and hand out districts.",
    "modes": [
      "CW",
      "SSB"
    ],
    "bands": [
      "80m",
      "40m",
      "20m",
      "15m",
      "10m"
    ],
    "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
    "power_categories": [
      {
        "name": "High Power",
        "max_watts": 1500
      },
      {
        "name": "Low Power",
        "max_watts": 100
      },
      {
        "name": "QRP",
        "max_watts": 10
      }
    ],
    "log_format": "Cabrillo",
    "log_deadline_days": null,
    "log_submit_url": "",
    "timezone": "",
    "local_rolling": false,
    "eligibility": {
      "scope": "worldwide",
      "verified": true,
      "note": "The rules give an exchange for stations inside and outside Bulgaria and score QSOs by continent, with no entry restriction."
    },
    "active_from": null,
    "active_until": null,
    "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
    "verified": true,
    "rules_url": "https://lzdx.bfra.bg/rulesen.html",
    "rules_url_pattern": "",
    "rules_url_archived": "",
    "rules_url_checked": "2026-08-19",
    "source_note": "lzdx.bfra.bg/rulesen.html, the Bulgarian Federation of Radio Amateurs' own rules. 'The weekend before the last full weekend of November (the weekend before CQWW CW contest weekend) from 12:00 UTC on Saturday till 11:59 UTC on Sunday (22-23 November 2025). Logs due 0000Z, Dec 7 2025'. Bands: '80, 40, 20, 15 and 10 meters ... on both CW and SSB modes.' Exchange: non-LZ stations send RS(T) and ITU zone, LZ stations RS(T) and their two-letter district. Points: 10 for an LZ station, 3 to another continent, 1 within one's own. Categories: HP up to 1500 W, LP up to 100 W, QRP up to 10 W."
  },
  "rule": {
    "plain": "Second-to-last full weekend of November",
    "raw": {
      "type": "nth_full_weekend",
      "month": 11,
      "n": -2
    },
    "start": {
      "day_offset": 0,
      "time": "1200"
    },
    "end": {
      "day_offset": 1,
      "time": "1159"
    },
    "sessions": null
  },
  "next": [
    {
      "contest_id": "bfra-lz-dx",
      "name": "LZ DX Contest",
      "start": "2026-11-21T12:00:00Z",
      "end": "2026-11-22T11:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 23.98,
      "modes": [
        "CW",
        "SSB"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "BFRA",
      "rules_url": "https://lzdx.bfra.bg/rulesen.html",
      "verified": true,
      "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
      "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
      "country": "BG",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-19",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "bfra-lz-dx-20261121T1200@contestcal",
      "start_date": "2026-11-21",
      "mode_families": [
        "CW",
        "SSB"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "12-24"
    },
    {
      "contest_id": "bfra-lz-dx",
      "name": "LZ DX Contest",
      "start": "2027-11-20T12:00:00Z",
      "end": "2027-11-21T11:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 23.98,
      "modes": [
        "CW",
        "SSB"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "BFRA",
      "rules_url": "https://lzdx.bfra.bg/rulesen.html",
      "verified": true,
      "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
      "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
      "country": "BG",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-19",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "bfra-lz-dx-20271120T1200@contestcal",
      "start_date": "2027-11-20",
      "mode_families": [
        "CW",
        "SSB"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "12-24"
    },
    {
      "contest_id": "bfra-lz-dx",
      "name": "LZ DX Contest",
      "start": "2028-11-18T12:00:00Z",
      "end": "2028-11-19T11:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 23.98,
      "modes": [
        "CW",
        "SSB"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "BFRA",
      "rules_url": "https://lzdx.bfra.bg/rulesen.html",
      "verified": true,
      "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
      "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
      "country": "BG",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-19",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "bfra-lz-dx-20281118T1200@contestcal",
      "start_date": "2028-11-18",
      "mode_families": [
        "CW",
        "SSB"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "12-24"
    },
    {
      "contest_id": "bfra-lz-dx",
      "name": "LZ DX Contest",
      "start": "2029-11-17T12:00:00Z",
      "end": "2029-11-18T11:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 23.98,
      "modes": [
        "CW",
        "SSB"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "BFRA",
      "rules_url": "https://lzdx.bfra.bg/rulesen.html",
      "verified": true,
      "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
      "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
      "country": "BG",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-19",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "bfra-lz-dx-20291117T1200@contestcal",
      "start_date": "2029-11-17",
      "mode_families": [
        "CW",
        "SSB"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "12-24"
    },
    {
      "contest_id": "bfra-lz-dx",
      "name": "LZ DX Contest",
      "start": "2030-11-16T12:00:00Z",
      "end": "2030-11-17T11:59:00Z",
      "start_wall": null,
      "end_wall": null,
      "local_rolling": false,
      "timezone": "",
      "duration_hours": 23.98,
      "modes": [
        "CW",
        "SSB"
      ],
      "submodes": [],
      "bands": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "bands_note": "",
      "sponsor": "BFRA",
      "rules_url": "https://lzdx.bfra.bg/rulesen.html",
      "verified": true,
      "note": "'The weekend before the last full weekend of November' is a rule, not an annual announcement -- BFRA anchors it to CQ WW CW, which sits on the last one -- so it is encoded as n=-2 and this is the record that made the engine count backwards past 'last'. November 2025's full weekends are the 1st/2nd, 8th/9th, 15th/16th, 22nd/23rd and 29th/30th, so n=-2 gives 22-23 November, the date BFRA prints. For 2026 it gives 21-22 November. The log deadline is a stated instant (0000Z on 7 December 2025) and not the contest end plus a whole number of days, so it is recorded here rather than as log_deadline_days. REGISTRY CORRECTION: BFRA is at bfra.bg; the lzdx.bfra.org host that the sponsor's own news page cites does not resolve.",
      "exchange": "Stations outside Bulgaria send RS(T) and their ITU zone; LZ stations send RS(T) and a two-letter district abbreviation.",
      "country": "BG",
      "rules_url_archived": "",
      "rules_url_checked": "2026-08-19",
      "can_enter": true,
      "eligibility_scope": "worldwide",
      "eligibility_reason": "",
      "works": "everyone",
      "practical": "",
      "log_due": null,
      "uid": "bfra-lz-dx-20301116T1200@contestcal",
      "start_date": "2030-11-16",
      "mode_families": [
        "CW",
        "SSB"
      ],
      "band_families": [
        "80m",
        "40m",
        "20m",
        "15m",
        "10m"
      ],
      "duration_bucket": "12-24"
    }
  ]
}