Available
Bookings, schedules and assignment in Pilotiko
Slots worked out from each person's real availability, a database that refuses double bookings, and assignment suggestions you can keep or discard.
Scheduling is available in Pilotiko. Customers book online from your team's genuinely open slots, without creating an account. The database refuses two overlapping appointments for the same person. For tasks, Pilotiko suggests who should take them based on skills and workload; a person makes the call.
In short
- Status: available. Public booking, service appointments and assignment suggestions work today.
- Slots account for working hours, leave, closed days and existing appointments.
- Two layers against double booking: a per-business lock and a database exclusion constraint.
- Limits: no Google Calendar or Outlook sync for bookings; confirmation emails are being commissioned.
How does a customer book online?
They open a team member's booking page, from a link or a QR code printed on a business card, pick a day and a time, then leave their details. No account is needed.
The .ics file follows the IETF iCalendar standard that Google Calendar, Apple Calendar and Outlook all read [1]. If no time works, the customer sends a request and your team calls back.
- 1
Open the booking page
Each team member has their own address, and Pilotiko generates a print-ready QR code in SVG or PNG.
- 2
Pick a day
The customer sees up to 10 days that have at least one open slot, in English or French.
- 3
Pick a time
Only times when both the person they met and a sales team member are free are offered.
- 4
Leave contact details
Name, email, optional phone, company and interest. The marketing consent box is never pre-checked.
- 5
Get the confirmation
A confirmation page with an .ics file and a signed link to reschedule or cancel, valid until the appointment starts.
How does Pilotiko work out open slots?
Pilotiko starts from a grid of start times in your business's time zone, then removes whatever blocks the person: hours outside their work week, leave, team-wide or personal closed days, existing bookings, meetings they are invited to and service appointments in their name. Daylight saving is handled: a spring-forward time that does not exist is shifted, and a repeated fall-back hour takes its first occurrence.
When the person the customer met is unavailable (on leave, inactive, no hours, no common time), Pilotiko falls back to the sales team alone and records why. The sales team member is picked fairly: whoever has the fewest upcoming bookings first, then whoever got one the longest time ago.
| Setting | Default | Allowed range |
|---|---|---|
| Appointment length | 30 min | 10 to 240 min |
| Minimum notice | 4 hours | 0 to 14 days |
| Booking horizon | 21 days | 1 to 90 days |
| Buffer between appointments | 10 min | 0 to 120 min |
| Step between start times | 30 min | 5 to 120 min |
| Default work week on activation | Mon to Fri, 9 a.m. to noon and 1 to 5 p.m. | Editable per person |
How does Pilotiko prevent double booking?
Two customers clicking the same time at the same instant cannot both get it. Booking first takes a lock specific to your business and re-reads the slots under that lock. As a last line of defence, PostgreSQL enforces an exclusion constraint: two overlapping blocks for the same person are refused, buffer included. A test fires 6 simultaneous bookings at one time slot, and exactly 1 succeeds.
Service appointments entered by your team (customer, service, staff member, resource) have their own constraint: a staff member cannot hold two overlapping appointments. Pilotiko also checks that the time is within their hours, not in the past, does not cross midnight, and that the resource (room, vehicle, equipment) has capacity.
How many slots does a customer see in a day?
How does suggested assignment work?
For tasks, Pilotiko ranks candidates. Matching skills are worth up to 50 points, free time up to 30 and experience with the same task type up to 10. A missing skill subtracts 40 points, and going over 100% workload subtracts at least 25. It can also suggest moving the lowest-priority tasks from an overloaded person to a compatible colleague.
These are suggestions: nothing is applied until a person decides, and assigning someone without the required skill needs a manager's override. Tasks and urgent items show up in the virtual office, and an AI agent can prepare a booking for you to approve.
What are the limits of scheduling?
Real sync would read busy blocks from a calendar, as Google Calendar's freeBusy query does by returning the time ranges during which a calendar should be regarded as busy [2]. The code has a slot for that hook; it is not switched on. See the Google Calendar page for the exact status.
Each business is isolated by the database, and a team member only sees appointments that involve them. That matches the Quebec rule that staff may access personal information only when it is needed for their duties (s. 20) [3].
- No external calendar sync for bookings: Google Calendar and Outlook do not block slots yet. A personal Outlook calendar can be connected read-only to place tasks, with no effect on bookings.
- Confirmation and reminder emails are written but being commissioned; the customer gets an on-screen confirmation.
- One appointment length per business for online booking; no separate appointment types.
- No video meeting link is created automatically for an online booking.
- No public page to book a home service call; your team enters it. The AI receptionist that would do it by phone is coming soon.
Frequently asked questions
Do my customers need an account to book?
No. They pick a day and time, leave their details and get a confirmation with a link to reschedule or cancel. The link works once and expires when the appointment starts.
Can two customers book the same time?
No. A lock and a database exclusion constraint refuse any overlap for the same person, buffer included. The second customer sees that the time was just taken.
Does Pilotiko sync with Google Calendar or Outlook?
Not for bookings today. Customers can add the appointment to their own calendar with the .ics file. A personal Outlook calendar can be connected read-only to place tasks.
Can I change the length and buffer?
Yes. The owner or a manager sets length (10 to 240 min), buffer (0 to 120 min), minimum notice, horizon and the step between start times.
Does Pilotiko assign tasks on its own?
No. It ranks people by skills, free time and workload and can suggest a rebalancing. A person decides.
Do my customers get a reminder email?
Not yet. The 24-hour and 1-hour reminders are scheduled, but real sending is being commissioned: nothing goes out until the provider is connected.
Sources
- IETF / RFC Editor, RFC 5545 : Internet Calendaring and Scheduling Core Object Specification (iCalendar) (accessed on October 15, 2026).
- Google for Developers, Freebusy: query (Google Calendar API) (accessed on October 15, 2026).
- LégisQuébec, Act respecting the protection of personal information in the private sector (CQLR, c. P-39.1) (accessed on October 15, 2026).
Read next
Automatic confirmations and reminders: being commissioned
Confirmations and reminders 24 hours and 1 hour before each appointment: the code is ready in Pilotiko, but real sending still awaits its provider. Here is why.
The virtual office: your whole business on one screen
Pilotiko's virtual office: a room per department, each person and AI agent at a desk, urgent items in red or orange, and key figures drawn from your own data.
AI agents: they prepare, a person approves
Pilotiko's AI agents read your data and prepare the work. Booking, sending or paying waits for a person's approval, enforced right down to the database layer.
AI phone receptionist: coming soon to Pilotiko
Pilotiko's AI receptionist: what is built, what has not been tested on a real phone line yet, and how to cover your calls meanwhile. Join the waiting list.
Connecting Google Calendar to Pilotiko
What the Google Calendar connection really does in Pilotiko: the calendar.events scope, busy times, invitations, its current status and how to revoke access.