Payment protectionDetails
- Revisions within the package are free.
- If you do not respond within 3 days of delivery, the work is accepted automatically.
The money is reserved when you pay and released only once you accept the work.

Example result
Telegram bot for booking haircuts at a barbershop
The bot in Telegram
A part of the code
async def booking_done(update: Update, context: ContextTypes.DEFAULT_TYPE) -> int:
"""The last step of the form: thanks the client and passes the request on."""
request = context.user_data["booking"]
request["phone"] = update.message.text.strip()
await update.message.reply_text(TEXTS["booking_thanks"], reply_markup=main_menu())
await context.bot.send_message(settings.admin_chat_id, format_request(request))
sheet.append_row([datetime.now().isoformat(timespec="minutes"), *request.values()])
return ConversationHandler.END
All the answers and buttons are in texts.yaml, so the client changes a price or the hours without touching the code.
Files: a ZIP archive with bot.py, texts.yaml, settings.example.env (where the bot token and the sheet go, filled in by the client), requirements.txt and a README: creating the bot in Telegram, connecting the Google Sheet and running it on a small server or hosting. The bot sends the request but does not check the barbers' calendar: the owner confirms the time.
Client: a barbershop with 3 barbers that took bookings only by phone. Task: a Telegram bot with a menu: prices, address and hours, a booking form (service, day and time, name, phone) that sends each request to the owner's chat and adds it to a Google Sheet.
The client and all details are made up.
About this service
A fitness club answers the same questions all week: what's on tonight, how much is a membership, can I try a class first. This Telegram bot shows your timetable, prices and club rules from buttons and, from Standard, takes a sign-up: the class, the day, a name and phone, and whether it is a first visit. Each sign-up comes to your chat and a Google Sheet, and the club confirms it. The bot does not count places, check a booking system or calendar or hold a spot, so you tell people yourself when a class is full. It gives no training, health or diet advice beyond your texts. We write the Python code and a README on creating the bot in @BotFather and running it on your computer, server or a hosting. It takes no payments; a link to your own payment page is fine. Hosting and the token are yours.
What is included
- What you getA ZIP archive with the Python code, the timetable and prices in a texts file, an example settings file and a README; the code is also shown on the order page.
- Timetable by buttonsClasses by day, with times and halls
- Sign-ups to your chatClass, day, name and phone, from Standard
- Trial visit formA separate form for newcomers, if you want one
- Changes to membersA broadcast about a cancelled or moved class, in Premium
- Timetable in one fileUpdate the week in the texts file and restart
How it works
- 1TimetableYou give the classes, prices, rules and sign-up questions
- 2CodeWe write the bot and the guide to running it
- 3LaunchYou create the bot, put in its token and run it
- 4ChangesYou ask for changes within your package
What we need from you
The timetable as text (classes, days, times, halls, trainers' names if you want them), memberships and prices, club rules and what to bring; address and how to find you; the questions of each sign-up form and the chat where sign-ups should go. Never send the bot's token or any passwords: the README shows where you put them yourself.
We will ask you:
- Timetable
- Memberships and prices
- Sign-up form
- Where sign-ups go
Compare packages
| Packages | BasicTimetable and prices bot$25 | StandardClass sign-up bot$49 | PremiumClub bot with broadcasts$85 |
|---|---|---|---|
| Deadline | 1 day | 2 days | 3 days |
| Revisions | 1 | 2 | 3 |
| Platform | Telegram | Telegram | Telegram |
| Ready answers | up to 10 | up to 25 | up to 40 |
| Forms (request, booking, order) | No | up to 3 | up to 5 |
| Requests sent to your chat and a Google Sheet | No | Yes | Yes |
| Admin commands and broadcasts | No | No | Yes |
| Languages of the menu | 1 | 1 | 2 |
| Order Basic | Order Standard | Order Premium |
Payment protection
You pay when you order, but the money is released only for accepted work.
- Fixed priceThe package price does not change after you pay.
- The money is reservedWhen you pay, the amount is only reserved. It is released to the service once you accept the work.
- Checked before deliveryEvery result goes through a quality check before it reaches you, and you see it on the order page before accepting it.
- Free revisionsAsk for changes within your brief as many times as the package allows.
- Acceptance after 3 daysIf within 3 days of delivery you neither accept the work nor ask for changes, it is accepted automatically. If you write in the order chat after delivery, the order waits; once we answer, we may start the 3 days again and will say so in the chat.
- Redo or a full refundIf the result does not match your brief and the revisions did not fix it, or the work takes more than twice its deadline, write in the order chat: we will redo the work or refund the payment in full.
Questions and answers
Does the bot know when a class is full?
No. It does not count places or check a booking system or calendar. It sends each sign-up to you, and you tell the person if the class is full.
How do I change the timetable?
The timetable sits in the texts file: change it in any text editor and restart the bot. In Premium you can also send members a message about the change.
Can members pay for a membership in the bot?
No. The bot takes no payments; it can give a link to your own payment page.
Can it give workout or diet tips?
Only texts you write yourself, shown as they are. The bot gives no health or training advice of its own.
Where does it run?
On your computer, server or a hosting with Python; the token is yours and never goes to us. This service makes Telegram bots, not WhatsApp ones.
Did not find your answer?
