Executive Appointment Scheduler
User Guide — Version 1.0.1
Contents
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.
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:
- Resources — rename
Mainto whatever you actually book against, and add the rest. Set each one’s working hours, recurring breaks (lunch), and any time off. - Services — replace the samples with your real ones, with correct durations and prices.
- 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.
- Clients — add as you go. You can create one inline while booking, without leaving the editor.
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.
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.
5. Getting Around
| Shortcut | Action |
|---|---|
| Ctrl+N | New appointment |
| Ctrl+1 … Ctrl+6 | Calendar / Clients / Services / Resources / Money / Settings |
| Ctrl+F | Search the calendar |
| Ctrl+P | Print the current view |
| Esc | Close the editor panel or the focused dialog |
| F1 | The 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.
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.
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.
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.
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.
- 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.
- Delete these three files from
%LOCALAPPDATA%\AppointmentScheduler\:scheduler.dbscheduler.db-walscheduler.db-shm
- Launch the app again.
-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
Mainresource, 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:
| Path | Holds |
|---|---|
%LOCALAPPDATA%\AppointmentScheduler\scheduler.db | Your 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.
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.