How to build a Telegram booking and appointment bot

By the Botable team

A Telegram booking bot shows your open slots, takes a reservation in a few taps, and reminds both sides before it starts. Describe your hours, slot length and cancellation rules, and Botable builds the availability logic with them.

What is a booking bot?

A Telegram booking bot replaces the back-and-forth of agreeing a time. It presents availability as buttons — dates first, then times within the chosen date — because a calendar rendered as text is unusable on a phone. Behind that, three rules define the bot: your working hours, your slot length, and how far ahead people may book. The one thing a booking bot must never do is double-book, which means the slot has to be claimed atomically at the moment of the tap rather than checked and then written. Reminders are what actually reduce no-shows: one the day before and one an hour ahead, sent to the customer and optionally to you. Cancellations need a path too, or the calendar fills with slots nobody will attend. On Botable the appointment table, the availability rules and the reminder schedule are all part of the build.

What commands does it have?

Commands a booking bot typically has, and what each one does
CommandWhat it does
/bookShows available dates, then times
/mybookingsThe user's upcoming appointments
/cancelReleases a slot back to availability
/rescheduleMoves a booking to another open slot
/todayAdmin view of today's schedule

What do you need before you start?

  • A Telegram bot token from @BotFather
  • Your working hours, slot length, and how far ahead bookings are allowed
  • A cancellation rule — how late is too late

How do you build it?

How should availability be presented?

Dates as buttons first, then times inside the chosen date. Two short steps beat one long list, and it keeps the message inside a single screen. Say how many days ahead to show; an unbounded calendar invites bookings you cannot honour.

How do you prevent double bookings?

The slot must be reserved at the moment of the tap, in one write, not checked first and saved afterwards. Say this explicitly when you describe the bot — two people tapping the same slot within a second is the exact case that breaks naive implementations.

What reminders actually reduce no-shows?

Two: one the day before, one about an hour ahead. Ask for both, and ask for the reminder to include a cancel button — someone who cannot make it will often say so if it takes one tap, freeing the slot.

Can it take payment for the booking?

Yes, through Telegram Stars, so the payment happens inside the chat with no external checkout. Describe whether payment is required to confirm a slot or collected afterwards.

A prompt you can use as-is

Paste this into Botable and adjust the details. It is specific on purpose — a vague description produces a vague bot.

Build a booking bot. My hours are Monday to Friday, 9:00 to 17:00, in 30-minute slots, bookable up to 14 days ahead. /book shows available dates as buttons, then times for the chosen date, and reserves the slot in a single write so two people cannot take the same one. Confirm with the date, time and a cancel button. Remind the customer 24 hours and 1 hour before. /cancel releases the slot, but not within 2 hours of the appointment. /today shows me the day's schedule.

Build this bot

Who is this bot for?

  • Salons, clinics, tutors and trades taking appointments over chat
  • Consultants who want a booking link that lives inside Telegram
  • Anyone whose customers already message rather than email

What goes wrong with this kind of bot?

  • Reserve on tap, not after a separate availability check, or you will double-book
  • Timezones matter the moment one customer is in another country — state yours in the confirmation
  • Without a cancellation path the calendar silently fills with no-shows

Questions about booking bots

Can it sync with an external calendar?

It can call any API the calendar exposes, so a two-way sync is possible if you name the service. Without a sync, treat the bot as the source of truth and keep one calendar rather than two.

Can several staff members take bookings?

Yes. Availability is then per staff member, and the flow gains one step where the customer picks who they are booking with. Describe the team when you describe the bot.

All twelve build guides