Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Telegram bot for online nail appointment (Python, aiogram 3)

Telegram bot for automating client appointments for manicure with an admin panel and reminder system.

Main task: Replace manual record-keeping in the messenger with a full-fledged booking system featuring an interactive interface - the client independently selects the service, date, and time, while the master receives notifications and manages the schedule through the admin panel.

What has been implemented:
- Complete FSM flow for booking: service selection → inline calendar → time selection → entering name and phone → confirmation
- Admin panel: management of working days, time slots, services, and their prices (CRUD)
- Inline calendar with month navigation support, blocking of past and closed dates
- Automatic reminders to clients 24 hours and 2 hours before the visit (APScheduler)
- Instant notifications to the admin about new bookings and cancellations with the ability to take action directly from the message
- Phone validation (regex, normalization to +380XXXXXXXXX), protection against double booking (race condition on is_booked)
- CRUD operations with services through the admin panel: adding, changing prices, deleting with automatic transliteration of keys
- Handling edge cases: blocking repeat bookings, notifying the client upon cancellation by the admin, try/except for blocked bots

Technologies: Python 3.11+, aiogram 3.25, Supabase (PostgreSQL), APScheduler, python-dotenv, FSM (Finite State Machine), Inline Keyboards, CallbackData factories
Work details
Added 30 April
79 views
Freelancer
Dmytro V.
Ukraine Lvov  2  0

Available for hire Available for hire
2 Safes completed
On the service 1 month 17 days