Skip to main content

Booking notifications

The booking-notifications slice stores notices for bookings and cancellations. Each notice has exactly one recipient: a professional or a client account.

Professional inbox​

A professional receives at most one notice per appointment event:

EventRecorded when
New bookingA client booking through the browser or Telegram channel is confirmed on one of their schedules
CancellationA confirmed appointment on one of their schedules is cancelled, by a client or by the professional

A professional's own manual booking records no new-booking notice. The event key combines the event and the appointment, so retrying a booking or a cancellation never creates a second notice. A notice is recorded in the same transaction as the booking change, and only while both the inbox channel and that event's preference are on. Preferences and inbox reads are described in Professional account.

After a professional's own cancellation commits, the API sends a live hint to that professional's private channel. Notices from client bookings and client cancellations are stored without a professional hint. The stored inbox is the source of truth; a professional sees new notices the next time the inbox is loaded.

Client inbox​

The slice stores account-scoped notices for client bookings and cancellations. A committed Telegram booking, or a newly claimed browser booking, records a confirmation once. A claimed client's cancellation records at most one cancellation item when that preference is enabled. Professional cancellation also records client cancellation notices for affected claimed appointments. Repeated writes use stable event keys to avoid duplicate items.

The account inbox retains read and dismissed state across sessions. Marking an item read, dismissing it, or clearing the inbox does not alter appointment history. Account-scoped updates cannot change another client's items.

Client reminders and delivery​

The slice records reminder work for a claimed appointment, with a due time no earlier than booking and normally 24 hours before the start. A cancelled appointment or disabled reminder preference makes pending reminder delivery ineligible. Eligibility also requires the current appointment to remain confirmed, Telegram delivery to be enabled, and bot write permission to have been observed by the server. Saved preferences and bot permission are separate states; enabling a preference cannot grant permission.

The API emits a Realtime Broadcast hint after a committed inbox change. The stored inbox is the durable source of truth and is loaded when the connected Mini App opens. This feature records inbox and pending delivery state; it does not send outbound Telegram, SMS, or email messages.