Skip to content
Anton GoncharovAI systems developer

Telegram and Max · booking, prepayment, reminders

Service booking in Telegram and Max

Booking is the most common bot request: salons, clinics, car services. Here the bot of a fictional barbershop calculates free time from each barber’s schedule and the service duration, holds the slot right after booking, takes a prepayment and sends visit reminders itself. You can book in a single phrase — “haircut and beard tomorrow evening with Artyom” — and the bot parses it and immediately offers suitable times.

Scenario: Britva Barbershop, Moscow — fictional: six services, three barbers with their own schedules, and some slots already taken by other customers.

Conversation with the bot: Service booking in Telegram and Max
The replies are real — captured from the bot’s code and styled like Telegram. The bot speaks Russian.

Open the demo

The bot replies in Russian: it was built for Russian-speaking customers. Example phrases come with translations.

Don’t enter real personal data: this is a demo, and everything is deleted after 24 hours.

What the demo shows

  • Free time based on the barber’s schedule and service duration: a haircut with beard needs an hour and a half in a row

  • Booking in one phrase: service, barber, day and time or “in the evening” — the bot asks for the rest with buttons

  • If the time is taken, it offers the nearest free slots on the same day

  • The slot is held immediately: another customer can’t take it, and rescheduling or cancelling frees it up

  • Prepayment via Telegram’s test payment provider, the rest paid at the salon

  • A reminder with “I’ll come”, “Reschedule” and “Cancel” buttons

  • The schedule as the administrator sees it, with a notification for every booking, reschedule and cancellation

  • One codebase for Telegram and Max

How to try it

  1. Book in one phrase

    Write “стрижка с бородой завтра вечером у Артёма” (haircut and beard tomorrow evening with Artyom) — the bot shows the free evening slots and a booking card.

  2. Make a prepayment

    The “Предоплата 500 ₽” (Prepay ₽500) button under the booking. Test card 1111 1111 1111 1026, any future expiry date, CVC 000.

  3. Wait for the reminder

    A minute later a reminder arrives with “I’ll come”, “Reschedule” and “Cancel” buttons — in a production bot, 24 hours and 2 hours before the visit.

  4. Look at the schedule

    “Как видит администратор” (As the administrator sees it) under the booking, or /admin: barbers’ availability in 30-minute steps, your booking in green.

What to write

  • Стрижка с бородой завтра вечером у АртёмаHaircut and beard tomorrow evening with Artyom
  • Побриться в субботу в 14:00A shave on Saturday at 2 pm
  • Сына подстричь послезавтраA haircut for my son the day after tomorrow
  • К Илье на бороду в пятницу в 7 вечераBeard trim with Ilya on Friday at 7 pm

Commands

/start
start
/book
book with buttons
/my
my bookings
/admin
the schedule as the administrator sees it
/about
how the demo works

No paid neural networks

In a production project, the customer’s phrase is parsed by a language model with a strict JSON response — it understands any wording. In the demo, rules do the job instead: service words, barber names, weekdays, dates and times. The schedule, slots, prepayment, reminders and rescheduling work just as in production.

The demo runs without OpenAI, YandexGPT or GigaChat API keys. Wherever a production system calls a model, there’s a local stub with the same interface — so the demo is free, always available and never makes things up.

What a production project adds

  • Schedule and bookings in YCLIENTS, Google Calendar, amoCRM or Bitrix24 via API
  • Live prepayment via YooKassa or T-Bank with fiscal receipts (54-FZ) and refunds on cancellation
  • Reminders 24 hours and 2 hours before, a review request after the visit, rebooking with the same barber
  • A waiting list: when a slot frees up, the bot offers it to the next customer
  • Phrase parsing by a language model and handing the conversation to the administrator

Stack

  • Python 3.14
  • aiogram
  • Max Bot API
  • Telegram Payments
  • SQLAlchemy
  • SQLite

Developer’s comment

Anton Goncharov

AI systems developer · Python

For business

  • Customers book at night and on weekends, when the front desk isn’t answering — without calls or messaging.
  • Prepayment and a reminder with a “Reschedule” button reduce no-shows: the customer frees up the time instead of just not coming.
  • The front desk gets a notification about every booking and sees a schedule, not a chat history.

For developers

  • Free time is calculated in 30-minute cells of the specialist’s schedule: a long service takes several cells in a row.
  • Bot buttons carry the whole selection in callback data — service, specialist, day, time — so the scenario stores no drafts and survives a restart.
  • The scenario is shared between Telegram and Max: adapters bring messages, buttons and payments to one model.

Tips

  • Tip 01

    Check the slot again at confirmation time: while the customer was thinking, it could have been taken.

  • Tip 02

    Store booking times in the salon’s time zone and service timestamps in UTC: that way there are no one-hour shifts.

Want the same for your business?

Tell me about your task — I’ll tell you what from the demo fits, how long it will take and what I’ll need from you.

Other demos in this section

All demos
  • Telegram and Max · knowledge base search

    live

    AI support from a knowledge base

    A first-line bot answers customers from the company knowledge base, shows the source of each answer, honestly says “I don’t know” and hands the conversation to an operator.

    • Python
    • Telegram and Max
  • Telegram and Max · leads and CRM

    live

    Lead qualification

    The bot takes a request in free-form text, pulls out the task, budget, timeline and contact, rates how “hot” the lead is and puts a card on the deal board.

    • Python
    • Telegram and Max
  • Telegram Mini App · payment · statuses

    live

    A store in Telegram

    A catalog as an app inside Telegram, a cart, test payment and order status notifications — from “packing” to “delivered”.

    • Python
    • Telegram and Max
    • React
  • Telegram and Max · points, QR at the till, broadcasts

    live

    Loyalty program in Telegram and Max

    A bakery guest card right in the messenger: a QR code for the till that changes every minute, points and tiers, every sixth coffee free, points exchanged for coupons, bonuses for friends and segmented broadcasts with marketing consent.

    • Python
    • Telegram and Max
  • Web app · scenario · aiogram 3 code

    live

    Bot scenario builder

    A booking or lead-collection bot is assembled from steps: messages, buttons, questions with phone or date validation, conditions. The scenario can be walked through right away in a Telegram-style preview, and the output is ready-to-run Python bot code.

    • React
    • TypeScript
    • Python