Executive Appointment Scheduler

User Guide — Version 1.0.1

1. The Idea in One Minute

Three things make up a booking:

  • A client — who the appointment is for.
  • A resource — who or what it is booked against. A staff member, a room, a chair, a bay, a machine. The word is deliberately generic, because the app is not tied to one trade. Each active resource gets its own column in Day view, so you can see the whole operation at a glance.
  • A service — what is being done. It carries a default duration, price and colour, so picking one fills in the rest of the form for you.
Only the resource is required. You can book “Room 2, 10:00, 30 minutes” without naming a client or a service at all.

2. Getting Started

The first time you launch, the app creates its database and gives you one resource named Main, Monday to Friday 09:00–17:00, and three sample services. All of it is meant to be edited:

  1. Resources — rename Main to whatever you actually book against, and add the rest. Set each one’s working hours, recurring breaks (lunch), and any time off.
  2. Services — replace the samples with your real ones, with correct durations and prices.
  3. Settings — set your business hours and slot granularity. These bound every resource’s hours: a resource can be free at 08:00, but if the business opens at 09:00 nothing is offered before then.
  4. Clients — add as you go. You can create one inline while booking, without leaving the editor.
Closing time has to be after opening time. The pair is refused otherwise, since business hours the wrong way round would report every day as closed — and the app would then accept no booking at all.

3. Booking an Appointment

Click + New appointment, or click any empty slot on the calendar to start with that resource, date and time already filled in.

Client

Client is a picker, not a free-text box. Type to narrow the list, then choose an entry — or choose Create “…” to add someone new without leaving the editor. Typing something that no longer matches the name you picked clears the selection, so what the box says and who the appointment is booked for cannot drift apart. Leave it empty to book without a client.

Start time

The list offers the slots that are genuinely free — the resource’s working hours, minus its breaks and time off, minus what is already booked, stepped at your slot granularity.

If that list would be empty, the app tells you why (“Main does not work on Saturday”, or “No free slots left on this date”) and then offers the business day anyway, rather than leaving you stuck. Booking outside normal hours is allowed on purpose — people do take a Saturday job.

Conflicts

Clashes are flagged live as you change the time. Saving a clashing appointment offers Book anyway, and dragging one on top of another shows the ghost in red before you let go. Turn on Allow double-booking in Settings if you routinely overlap.

Drag an appointment to move it, drag its bottom edge to change its length, and use the undo toast if you did not mean it. A cancelled or no-show booking stays drawn on the grid, struck through, but no longer takes up a lane — so one cancellation does not squeeze the live appointment beside it.

4. Recurring Appointments

Set a standing appointment up with the Repeats checkbox. Editing or cancelling one afterwards asks whether you mean this occurrence, this and following, or the entire series. An occurrence you have edited individually is left alone by later whole-series edits, so a one-off change is not silently undone.

A series edit plays by the same rules as a single one

If the new time falls outside working hours, on a closed day, or on top of something already booked, the app lists which occurrences clash and offers to go ahead anyway — the series equivalent of Book anyway.

Occurrences already marked completed, cancelled or no-show are left as they are: a series edit does not rewrite the record of a visit that is over, and it never touches what has been billed or paid. Money is tracked per appointment, so re-pricing a series only reaches occurrences where no money has changed hands.

5. Getting Around

ShortcutAction
Ctrl+NNew appointment
Ctrl+1Ctrl+6Calendar / Clients / Services / Resources / Money / Settings
Ctrl+FSearch the calendar
Ctrl+PPrint the current view
EscClose the editor panel or the focused dialog
F1The full, current shortcut list

Day view shows one column per resource; Week view one column per day. Month gives you an overview, and Agenda a chronological list — Agenda is also what search results and printing use. Search reaches titles, clients and notes, and ignores letter case.

6. Client History

Selecting a client shows their appointment ledger beside their details: every booking, newest first, with status, price, amount paid, and what is still owed, plus a summary line underneath. Double-click any row to jump to that appointment on the calendar.

Cancelled and no-show appointments stay in the list — they are part of the client’s history — but are left out of the billed and outstanding totals, which reflect real money only.

A client or service that has ever been booked is archived rather than deleted, so the history behind it survives.

7. Money

Billed, paid and outstanding totals over a date range, broken down by service and by resource, plus a worklist of everything unpaid or part-paid. Double-click a row there to open the appointment. Export to CSV for anything further.

Appointments marked waived are not money you are owed, so they are kept out of billed, paid and outstanding, and out of the two breakdowns. When there are any, they are reported on a card of their own — so the outstanding figure and the worklist underneath it always account for each other.

8. Import, Export & Printing

Calendar files

Export the current calendar view, an explicit date range, or a single appointment from its editor panel as a standard .ics file, which opens in Outlook or Google Calendar.

Import an .ics file through a preview screen that lists every parsed event, flags the ones that look like duplicates, and lets you pick which resource the imported appointments belong to — before anything is written. Times marked as UTC are converted to your local time; all-day dates are never shifted.

Spreadsheets

Export clients (respecting the current search and Show-archived filter), the appointments currently visible on the calendar, or the unpaid worklist, all as CSV.

Printing

Ctrl+P produces a day sheet from Day view — appointments grouped by resource — or an agenda list from Week, Month and Agenda views: a chronological list over the visible range.

Cancelled appointments are left out of exports and printouts. The app tells you when that happened, so a file with fewer appointments than the screen shows is never a surprise.

9. Reminders & the Tray

Set a reminder on any appointment and a desktop notification arrives when it is due, with snooze and open-the-appointment. A reminder that is already on screen is left alone rather than re-announced, so one you have not got to yet does not stack up windows.

Closing the window only hides the app to the system tray, so reminders keep firing; the tray tooltip shows your next appointment. Launching the app again brings the running copy back to the front. To close it properly, use Exit in the sidebar or the tray menu.

Reminders appear on the PC running the app. There is no email or SMS sending, and no sync to a phone.

10. Backups

Settings → Back up now copies your live data to a file you choose. It is safe to run while you are working — you do not need to close anything.

Settings → Restore from backup replaces your live data with a backup file. The file is checked to be an Executive Appointment Scheduler backup before anything is replaced, and a copy of your current data is saved into the backups\ folder first — so restoring the wrong file can itself be undone by restoring that copy. The app asks you to restart afterwards, because every open view was built around the data that just got swapped underneath it.

Take a backup before anything irreversible. Apart from the single-step undo toast, and the safety copy a restore takes for you, it is the only undo the app has for bulk changes.

11. Starting the Database Clean

If you have been trying the app out with made-up bookings and now want to start clean for real use, you have two options. Neither can be undone, so take a backup first.

Option 1 — restore a backup from before you started testing (preferred)

If you took a backup before you began experimenting, this is the safer route because it is reversible: Settings → Restore from backup…, choose the file, restart when asked. Your settings, resources and services come back exactly as they were at that moment.

Option 2 — delete the database and let the app rebuild it

This returns the app to a genuine first-run state.

  1. Exit the app completely. The window’s × only hides it to the tray so reminders keep firing — use Exit in the sidebar or the tray menu.
  2. Delete these three files from %LOCALAPPDATA%\AppointmentScheduler\:
    • scheduler.db
    • scheduler.db-wal
    • scheduler.db-shm
  3. Launch the app again.
Delete all three. The -wal and -shm files can hold committed data that has not yet been folded into the main file — deleting only scheduler.db can leave the app rebuilding state you meant to be rid of.

On the next launch the app builds itself from scratch and seeds first-run defaults again — one resource named Main with Monday to Friday 09:00–17:00 hours, three sample services, and default settings. This happens behind the splash screen, before the main window appears. Your backups are not touched, so a restore is still available afterwards if you change your mind.

Two things worth knowing
  • Deleting rows is not the same as re-initializing. Seeding only runs when there are no resources at all. If you empty the app by hand you get an empty app, not a fresh one — no Main resource, no sample services.
  • Crash logs are separate. Anything in logs\ stays until you delete it, and is safe to clear at any time.

12. Where Your Data Lives

Everything is on your machine, under one folder:

PathHolds
%LOCALAPPDATA%\AppointmentScheduler\scheduler.dbYour calendar, clients, services, resources and takings
%LOCALAPPDATA%\AppointmentScheduler\backups\Backup files, including the safety copy a restore takes
%LOCALAPPDATA%\AppointmentScheduler\logs\Crash logs, written only when something goes wrong

Nothing is transmitted anywhere. To remove the app and its data entirely, uninstall and then delete that folder — uninstalling deliberately leaves it in place so records are not lost by accident.

Setting the SCHEDULER_DATA_DIR environment variable points all of the above somewhere else, which is useful for a portable install — for example keeping your data on a USB drive alongside the app.