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

Python
Job 10 of 15
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
Details
  • Added:
94

Freelancer

  • Projects 4
  • Rating 5.0
  • Rating 1 510
Register

If you have an account, log in

Indicators

  • Last visit: 1 hour 10 minutes ago