Skip to content

Schedules — Plan Skeds + DX Events

New in V1.9.9: a unified tab in the logbook for managing planned radio appointments. Two kinds of entries, same UI:

  • Skeds — 1:1 appointments with a specific counterpart call ("Sunday 14:30 UTC, HB9XYZ, antenna comparison")
  • DX Events — announced DXpeditions, net slots, contest windows ("3D2A Fiji, EU window 18:00 → 22:00 UTC")

Accessible as the lower tab-bar section "Schedules" in the logbook (Standard and Contest logs).

Create a Schedule

Toolbar at the top → "+ New":

FieldDescription
TypeSked or DX Event (segmented control at the top)
TitleOptional, e.g. "Antenna Test" or "3D2A Fiji"
CallCounterpart station (sked) or DX call (DX event). Auto-uppercase
Start (UTC)Date + time, required field
End (UTC)DX events only, optional — window enabled via toggle
FrequencyIn MHz (e.g. 14.205). As you type, the band is set automatically
BandAuto from freq, manually overridable (160m – 23cm)
ModeSSB · CW · FM · AM · RTTY · FT8 · FT4 · JT65 · JS8 · PSK31 · DIGITAL
Statusplanned / done / missed / canceled
Remindernone · 10 min · 30 min · 1 hr · 1 day before (macOS notification)
NotesFree text

At least title or call must be set — otherwise the Save button is disabled.

Card Actions

Each schedule entry appears as a card with:

ElementFunction
Type iconPerson symbol (sked) or globe (DX event)
CountdownLive: "in 1h 23m", "Tomorrow 09:00", "running now" — color-coded
Status badgeVisible when not "planned"; card dimmed when done/missed
📡 Log NowOpens the QSO form pre-filled (call · freq · band · mode · note) and sends a CAT QSY to the radio, if connected
🔍 Cluster FilterDX events only: sets the DX cluster search field to call + band filter
✏ EditA sheet opens pre-filled
▾ StatusQuick menu: planned / done / missed / canceled
🗑 TrashDelete without confirmation

"Log Now" + CAT

If your TRX is connected via CAT, it jumps automatically to the planned frequency and into the planned mode when you click "Log Now" — you only need to type the RST values and log.

Sorting

Order in the list:

  1. Currently running DX events at the very top (with a green "running now" tag)
  2. Future appointments ascending by start time (nearest at the top)
  3. Past appointments descending (most recent at the top), dimmed
  4. Canceled appointments at the very bottom

Filters

Pill filters above the list:

  • Type: All · Skeds · DX Events
  • Time: All times · Today · This week · Future · Past

Filters combine independently. The counter in the top right shows "X of Y" visible/total entries.

macOS Notifications

If you choose a reminder when creating an entry (e.g. "10 min before"), macOS sends a system notification at the lead time:

Sked with HB9XYZ
In 10 min · 14.205 MHz · 20m · SSB

Permission: The first time, macOS asks for permission. If you decline, the schedule is still saved — only the notification is skipped.

Behavior on changes:

  • Edit a schedule → the old notification is replaced by a new one
  • Set status to "done/missed/canceled" → the notification is canceled
  • Delete a schedule → the notification is canceled
  • Restart the app → all active schedules are re-queued at launch (rehydrate)

Notifications need a signed app build

In the DMG release, notifications work normally. In an unsigned dev build (swift run from source) macOS silently denies the permission request — the code path is safe (no crash), but there's no real notification.

Where Are Schedules Stored?

A JSON file under ~/Documents/HAM-Tools/Cache/schedules.json. The format is human-readable (ISO dates, pretty-printed) — you can open the file with any text editor in case you ever need a bulk import or export.

Common Workflows

Arranged Sked with a Radio Friend

  1. + New → type "Sked", type the call, date + UTC time, frequency
  2. Note: "presence check before going abroad" or similar
  3. Reminder: "10 min before"
  4. Create — the macOS notification fires at the trigger

Mark a DXpedition Window

  1. + New → type "DX Event", title "3D2A Fiji", call "3D2A"
  2. Start = window start UTC, turn on "set window end", End = window close
  3. Frequency + band + mode from the DX newsletter
  4. At the start of the window: click "Cluster Filter" → the DX cluster shows only 3D2A spots on the planned band

After a Successful QSO

  1. Card → Status ▾ → "done" — the card is dimmed, the notification (if not yet fired) is canceled
  2. On failure: "missed" — same UI reaction
  3. If the schedule is called off: "canceled" — ends up at the very bottom of the sorting

HAM-Tools © HB9HJI · Funkwelt