Blog · Published · Updated
Booking automation: testing a change of appointment
Short answer
Before you buy booking automation, walk through a change to a saved appointment: the new slot may be taken, the old reminder may already be on its way, and 02:00 occurs twice when the clocks change. In our test of 11 October 2026, 42 tests in 4 suites checked these cases with no AI model and no external calendar.
How we workDetails ↓
- 01Call30 minutes with an engineer, free
- 02PrototypeA working system on your process and data, free
- 03ImplementationTarget and fixed price in the contract; 50% at signing
- 04Acceptance50% once the agreed target is met
- net for the automation of one process, paid once
- from €3,000
- from signing the contract to acceptance
- 2–6 weeks
- free prototype on your cases
- €0
We belong to the OpenAI and Anthropic partner programmes and learn through their official courses. What this means ↓
Author: Syntalith · 3 min read
Statistics
Bookings and AI: statistics 2026
42
tests in 4 suites passed in our appointment change test: booking rules, local time, reception commands and a local API. The code, data and tests can be downloaded.
2
According to Syntalith's test (2026), on 25 October 2026 the time 02:00 in the Europe/Warsaw zone occurs 2 times, with offsets +02:00 and +01:00, so the same written time can mean two slots.
Source: Syntalith, booking automation test: code, data and tests (2026) ↗
47%
According to the European Commission (2026), customer service is the most common use of AI among EU SMEs and mid-caps that already use it: 47%.
Source: European Commission, Flash Eurobarometer 578 (2026) ↗
33%
According to Eurostat (2022), 33% of people aged 16 to 74 in the EU made an appointment with a practitioner via a website.
Source: Eurostat, what did we use the internet for in 2022 (2022) ↗
Figures checked: 22 October 2026
Booking automation: what to check when a visit is moved
The receptionist sees the current visit, chooses a new slot and gets an unambiguous result of the save. A „free” reading from a moment ago is not enough, because someone else may have taken the place. If the new slot does not save, the old one stays.
- 01Two visitstwo fictional people and one resource
- 02Conflictmoving the first visit to the second's slot is rejected
- 03Releasethe second visit is cancelled
- 04Movethe first visit goes to the free slot
- 05Retrythe same command returns the earlier confirmation with no further change
A retry matters after a lost connection: the employee does not know whether the save went through. In the demonstrator a retry needs the same identifier and the same input, and a new identifier means a new command. With a real calendar you need to establish how the vendor handles retries.
An old reminder after the date changes
The visit and its notifications have versions. After a move, earlier drafts are marked out of date, and new ones refer to the changed slot. In the final run we picked up one confirmation of the first visit offline and then cancelled the visit. The record picked up kept the state UNKNOWN, because the program does not know whether the message was delivered. The other 5 records had the state STALE. The scope of such a connection is described on SMS automation.
- What happens when a client moves a visit after the SMS was handed to the provider
- How the calendar handles a retry of the same operation after a lost connection
- Whether saving the new slot is atomic, or the old slot can vanish with no new one
- How the form handles a time that occurs twice when the clocks change
The same time can mean two slots
On 25 October 2026, in the Europe/Warsaw zone, 02:00 occurs twice: with offsets +02:00 and +01:00. Two periods from 02:00 to 02:30 are two different slots an hour apart. The Python zoneinfo documentation describes telling such moments apart with the fold parameter. In our form the user chooses the earlier or later occurrence separately for the start and the end, and no choice stops the save. The first version of the panel chose the earlier occurrence for the user. A review of the form caught this, so we removed the default.
How we checked the result
| Suite | Tests | Selected checks |
|---|---|---|
| Booking rules | 16 | collisions, cancellation, old reminders, reopening the database |
| Local time | 11 | repeated and non-existent time, opening hours, breaks |
| Reception commands | 11 | stale version, retry, rolling back changes after a history write error |
| Local API | 4 | access, rejecting disallowed fields, writing and reading state |
The interface walkthrough covered 10 views at widths of 1440 and 390 pixels. We checked the final state over HTTP, by reading SQLite directly and by reading it in a new process. The code, data and tests can be downloaded, and the instructions (in Polish) let you repeat the test locally. The same agent prepared the code, the tests and the review in separate stages, so this is no independent audit, and the number of tests does not measure how well AI works.
What to order after a test like this
The current system handles date changes, retries and old notifications
configuration and reception training
no build
A change passes through several tools and the team fixes it by hand
a booking process automation
from €3,000
Your own availability rules and a reception panel
a custom app
from €3,000
The demonstrator does not check several employees working together, payments, recurring bookings or sync with an external calendar, and it does not measure reception time saved. For the free process review, the name of your current calendar and a description of one visit change are enough: who saves it, where the reminder waits and how reception learns that a move failed.
Worked example · Scenario
How we count the payback: booking automation
We run the same count for your reception in the free process review.
€2,327
a month for handling 1,000 confirmations and changes by hand
Payback: 1.5 mo.
4 minutes per confirmation, reminder or rescheduling and checking in 15% of the old time are our assumptions. €34.90 an hour is the EU average hourly labour cost for 2025 according to Eurostat, for companies with 10 or more employees. Model cost: Claude Sonnet 5.5, about 2,000 + 300 tokens per change, at the ECB rate of 1.1205 USD per euro on 22 October 2026. The payback counts saved time only. A slot cancelled early and filled from the waiting list brings money on top, and we count it on your price list during the review.
See the full calculation →