Executive Appointment Scheduler logo

Executive Appointment Scheduler

Changelog

Full release history and version notes for Executive Appointment Scheduler — the private appointment book for Windows.

Version 1.0.1

Latest 31 August 2026

Closes all twenty-four findings of the post-release audit of 1.0.0. No new features — this is money that was counted twice, times that shifted on import, series edits that rewrote history they had no business touching, and a calendar that did more work than it needed to.

Fixed — money and history

  • Editing a recurring appointment no longer rewrites the payment history of the whole series. Both “this and following” and “entire series” were pushing the open occurrence’s payment status across every other one — including visits settled months earlier — and because the amount paid never travelled with it, occurrences were left reading Unpaid while still holding a recorded amount, which the Money view then counted twice over. What has been billed and collected is now strictly per-appointment, and a series edit only re-prices occurrences where no money has changed hands.
  • The Money view no longer counts waived appointments as money you are owed. A waived booking was contributing its full price to total billed and therefore sat in outstanding forever, while never appearing in the unpaid worklist that is meant to account for exactly that figure. Waived amounts now leave billed, paid and outstanding — and the per-service and per-resource breakdowns — and are reported on a card of their own when there are any.
  • Editing a recurring appointment is now checked against the same rules as editing a single one. “This and following” and “entire series” wrote straight to the database, so a series could be moved onto a closed day, on top of existing bookings, or over occurrences that had already happened — none of which a single-appointment edit has ever allowed. The editor now lists which occurrences clash and offers to go ahead anyway, and leaves completed, cancelled and no-show occurrences as they are.
  • Splitting a counted series with “this and following” no longer leaves the remainder the wrong length. The new series inherited the original “ends after N” as though none of those occurrences had been used, so the tail ran on past the end of what was booked. The remainder is now counted from the split, and an occurrence you had already edited on its own travels with the tail rather than being stranded behind it.

Fixed — booking and the calendar

  • An appointment can be marked Completed, No-show or Cancelled from the editor again. The status dropdown had been inert for those three values: choosing Completed and saving reported that the appointment was already Completed. One mistakenly marked as finished can now also be set back to Scheduled, which is what the message tells you to do.
  • A cancelled appointment no longer squeezes the one beside it. Cancelled and no-show bookings were taking a lane in the day view’s overlap layout, so a single cancellation permanently halved the width of the live appointment next to it. They are still drawn, struck through as before, but no longer count as occupying the slot — the same rule conflict detection has always used.
  • A recurring appointment starting more than three months out no longer shows up as a single booking. Its occurrences were not created until the start date drew close, because the rolling horizon measured a future series’ runway from today rather than from the day the series begins. A future series now materializes its first year from its own start date.
  • Start-time suggestions can no longer run past the end of the day. On a business day ending close to midnight, rounding a free window up onto the slot grid could wrap around to 00:00, and a long evening appointment could be offered a slot finishing the following morning.
  • Typing over the client name without choosing from the list no longer saves the appointment against the previous client. Replacing “John Smith” with “Jo” and clicking away left the box reading “Jo” while the booking still belonged to John Smith. An edit that no longer matches the chosen client clears the selection, which is re-established only by picking from the list.
  • Searching now ignores letter case. “physio” found nothing when the appointment was titled “Physio Review”. This affected the calendar search, the client list, and the export and print filters that share the same predicate. Typing a % or _ now searches for that character rather than acting as a wildcard.

Fixed — import, export and reminders

  • Imported .ics files no longer shift every appointment by your time-zone offset. A trailing Z marks a UTC timestamp, which is what Google Calendar and Outlook export; it was being stripped and the value read as local wall-clock. All-day dates are still never shifted, and this app’s own exports round-trip unchanged as before.
  • Importing an .ics file no longer mangles text containing a backslash. A path like C:\notes came back as C:\ followed by a line break and otes.
  • CSV exports no longer let a client name or note act as a spreadsheet formula. A value beginning =, +, - or @ was written straight through and evaluated when the file was opened in Excel; such values are now marked as literal text. This covers the client, appointment and takings exports.
  • Exporting or printing now tells you when cancelled appointments were left out, instead of quietly producing a file with fewer appointments than the screen shows.
  • An unacknowledged reminder no longer opens a new toast every thirty seconds. Only Dismiss and Open marked a reminder as fired, so one nobody was there to answer re-appeared on every poll — up to about 120 stacked windows over its one-hour catch-up window. A reminder already on screen is now left alone.

Fixed — startup and stability

  • The window icon crashed the app on launch, because it was referenced by a relative address that could not be resolved once packaged.
  • A failure while the app is starting up now reports itself and closes, instead of leaving a process running with no window and no tray icon — reachable only through Task Manager.
  • A read error during the reminder check no longer produces a dialog every thirty seconds, faster than it could be dismissed. Brief failures are ridden out silently, and a check that keeps failing stops and says so once.
  • The app no longer opens with the appointment editor panel already showing — empty pickers, both footer rows drawn over each other, and the series prompt and conflict banner both visible on a brand-new appointment.

Changed

  • Business hours are now saved as a pair, and only when the pair makes sense. Setting a closing time earlier than or equal to the opening time is refused with an explanation, instead of being saved and quietly making every day report as closed — which left the app unable to accept any booking at all, with nothing on screen saying why.
  • Restoring from a backup now saves a copy of your current data first, so restoring the wrong file can be undone — and the chosen file is checked to be an Executive Appointment Scheduler backup before anything is replaced, rather than any database file being accepted.
  • Start time no longer presents an unexplained empty dropdown when a resource has nothing free. It says why — a day off, or a fully booked diary — and still offers the business day, so booking outside normal hours remains possible.
  • A second launch brings the running app to the front instead of showing an “already running” dialog. Closing the window only hides it to the tray, so this is the normal way to re-open it.
  • The first-run resource is named Main rather than your Windows account name, which read as a leaked detail and put a real person’s name on calendar columns and printed day sheets.
  • Selecting a sidebar item no longer makes its label disappear, and the sidebar now shows the logo lockup, which the product name had been too wide for. The name remains available to screen readers.
  • The series prompt no longer overflows the editor panel — its three choices are stacked full-width — and client detail fields render at their intended width rather than about a third of it.

Performance

  • The calendar is quicker to load and to search. Typing in the search box now waits for a pause rather than reloading the entire view on every keystroke; Day view fetches its appointments and every resource’s availability in a fixed number of reads instead of several per resource (a ten-resource day went from around forty round trips to four), and Week view reads the whole week at once rather than a query per day. Overlapping reloads can no longer interleave and leave the columns half-rebuilt.
  • Choosing a date range in the Money view loads the figures once instead of three times, and appointment colours are parsed once per colour rather than once per appointment on every reload.

Added

  • A full user guide, including how to return the database to a first-run state.
  • A published privacy policy.

Version 1.0.0

First release 22 August 2026

The first release — a complete appointment book for a practitioner or a small team, running entirely on one PC. No account, no server, no subscription.

Calendar

  • Day, Week, Month and Agenda views over a per-resource, per-day time grid.
  • Drag to move an appointment, drag its bottom edge to resize it, click an empty slot to book — with an undo toast for the most recent destructive action.
  • Recurring appointments on a rolling year-ahead horizon that extends itself, with this-occurrence / this-and-following / entire-series edit and cancel semantics.
  • Live search across title, client and notes.

Clients, services and resources

  • Archive rather than delete for clients and services with appointment history, so a record that has ever been booked keeps its past.
  • Per-resource working hours, breaks and time off, all feeding into suggested start times and clash detection.

Money

  • Billed, paid and outstanding totals with by-service and by-resource breakdowns over Today, this week, this month or a custom range.
  • An unpaid and part-paid worklist, with CSV export and double-click to open the appointment.

Import, export and printing

  • .ics export of the current view, an explicit date range, or a single appointment.
  • .ics import through a preview screen that lists every parsed event and flags likely duplicates — both against this app’s own prior exports and against an .ics file imported before — before anything is written.
  • CSV export for clients and for the appointments currently visible on the calendar.
  • A printable day sheet grouped by resource, and a chronological agenda list over a date range.

Reminders and settings

  • Desktop reminders for due appointments, with snooze and open-the-appointment, and a live next-appointment summary on the tray icon.
  • Business hours, slot granularity and the double-booking override, all read by the same logic that enforces them — so what Settings shows and what is actually enforced cannot drift apart.
  • Back up now and restore from backup, safe to run while the app is in use.
  • System / Light / Dark appearance, applied immediately and remembered.

Around the app

  • Light and dark themes swapped at runtime with no flicker, a tray icon with Open and Exit, and only one copy of the app running at a time.
  • Keyboard shortcuts (Ctrl+N, Ctrl+1…6, Ctrl+F, Ctrl+P, Esc, and F1 for the full list), with empty-state messaging throughout instead of blank space.
  • A splash screen during first-run setup, an About window, and a crash log written only when something actually goes wrong.

Executive Appointment Scheduler

View Product & Download

Versions

Documentation

User Guide →