Request / Requirements
An automated booking system was needed for the "Glow&Go" beauty salon in Yakutsk. The main goal was to simplify the service booking process, reduce the workload on administrators, and improve customer service quality. The bot needed to allow clients to independently choose services, masters, date and time, and automatically remind them of upcoming visits.
Main requirements:
- Intuitive interface for service booking
- Master and schedule management
- Automatic appointment reminders
- Client database with visit history
- Admin panel for appointment management
- Promotions and upsell system
- Integration with supergroup for master notifications
Development Process
Stage 1: Design and Technology Stack (3 days)
Started with requirements analysis and architecture design:
- Technology Choice: Python 3.10+ with python-telegram-bot library for asynchronous Telegram API work
- Database: SQLite using SQLAlchemy ORM for reliable data storage
- Architecture: Modular structure with separation into handlers, database, models, reminders
- Dialogs: ConversationHandler for multi-step booking processes
Designed database structure:
- clients — client database with visit history
- appointments — service bookings with statuses
- masters — master information and their topics in supergroup
- services and upsells — service catalog and upsells
Screenshot 1: Bot Main Menu

Stage 2: Basic Booking Functionality (1 week)
Implemented the main client booking process:
- Service Category Selection: Hair, Manicure/Pedicure, Brows/Lashes, Facial Care, Complex Services
- Specific Service Selection: Haircut, coloring, manicure, etc.
- Upsells: Additional service offers with discounts
- Date Selection: Calendar with available dates
- Time Selection: Slots with availability checking
- Master Selection: List of active masters
- Contact Collection: Client name and phone
- Confirmation: Final booking confirmation
Screenshot 2: Booking Process — Service Selection

Screenshot 3: Date and Time Selection

Stage 3: Appointment and Client Management (1 week)
Added functionality for working with existing appointments:
- My Appointments: View all client appointments with cancellation option
- Client Database: Visit history, favorite services, last visit
- Appointment Management: Editing, cancellation, status changes
- Appointment Statuses: pending, confirmed, completed, cancelled, no_show
- Client-Appointment Link: Automatic linking of appointments to client profile
Screenshot 4: Client Appointment List

Screenshot 5: Detailed Appointment Information

Stage 4: Admin Panel and Management (0.5 weeks)
Implemented administrative functions:
- Today's/Week's Appointments: Quick schedule view
- Manual Appointment Addition: Creating appointments by administrator
- Appointment Management: Editing, cancellation, status changes
- Master Management: Adding, editing, supergroup topic configuration
- Client Database: View all clients with visit history
- Data Export: Exporting appointments to CSV format
Screenshot 6: Admin Panel

Screenshot 7: Master Management

Stage 5: Automation and Reminders (0.5 weeks)
Added automatic functions:
- 24-Hour Reminders: Automatic reminders about next day appointments
- 2-Hour Reminders: Reminders about upcoming visits
- Old Client Check: Automatic messages to clients who haven't visited in 30-40 days
- Personalized Offers: Service suggestions based on visit history
- Task Scheduler: Background tasks for checking and sending reminders
Screenshot 8: Reminder Example

Screenshot 9: Old Client Message

Stage 6: Supergroup Integration and Final Polish (0.5 weeks)
Added integration with salon's Telegram group:
- Master Topics: Each master has their own topic in supergroup
- Master Command: Masters can view their appointments via command in their topic
- Notifications: Automatic notifications to master topics about new appointments
- Error Handling: Clear error messages for users
- Logging: Detailed logging of all actions for debugging
Screenshot 10: Master Command in Topic

Stage 7: Convenient Launch and Setup (0.5 weeks)
For easier bot management, a convenient batch file (start.bat) with an interactive menu was created:
- Bot Launch: Automatic dependency and database checking before launch
- Dependency Installation: Automatic installation of all required libraries from requirements.txt
- Get Chat ID: Built-in tool for getting chat/group ID for ADMIN_CHAT_ID configuration
- Get Topic ID: Utility for getting topic IDs in supergroup for master configuration
- Environment Check: Automatic checking for Python and all dependencies
- Create .env: Automatic creation of configuration file from template
The batch file significantly simplifies bot deployment and setup, making the process accessible even for inexperienced users.
Screenshot 10.1: Batch File Launch Menu

Technical Details
Architecture
- Backend: Python 3.10+ with python-telegram-bot 20.7 library
- Database: SQLite with SQLAlchemy 2.0 ORM
- Async: Fully asynchronous processing via asyncio
- API: Telegram Bot API for user interaction
Implementation Features
- Modularity: Separation into handlers, database, models, reminders for easy maintenance
- ConversationHandler: Multi-step dialogs for booking and admin functions
- FSM (Finite State Machine): Dialog state management
- Validation: Time availability checking, appointment conflict checking
- Scheduler: Background tasks for reminders and client checking
- Group Integration: Working with topics in supergroups for master notifications
Database Structure
- clients: id, telegram_id, username, name, phone, preferred_master, favorite_services, created_at, last_visit_date
- appointments: id, client_id, telegram_id, client_name, client_phone, service, date, time, status, master_id, notes, reminder_sent_24h, reminder_sent_2h
- masters: id, name, phone, specialties, is_active, topic_id, created_at
- services: id, category, service_id, name, description, price, duration, is_active
- upsells: id, category, upsell_id, name, description, discount, duration, is_active
Screenshot 11: Example Database Structure

Results and Benefits
Achieved Goals
- ✅ Complete automation of client booking process
- ✅ Convenient interface for clients and administrators
- ✅ Automatic appointment reminders
- ✅ Client database with visit history
- ✅ Master and schedule management
- ✅ Integration with salon's Telegram group
- ✅ Promotions and upsell system
- ✅ Data export for analytics
Solution Benefits
- Automation: 80% reduction in administrator workload
- Convenience: Clients can book anytime without waiting for administrator response
- Reliability: All data stored in database, nothing is lost
- Personalization: Automatic offers based on visit history
- Scalability: Easy to add new services, masters, features
Screenshot 12: Promotions Example

Application
The bot is perfect for:
- Beauty salons and hairdressers
- Medical clinics with appointment booking
- Studios and workshops with advance booking
- Any services requiring time booking
Screenshot 13: Data Export

Conclusion
The Beauty Concierge bot became an indispensable tool for "Glow&Go" salon, completely automating the client booking process and significantly improving service quality. The bot works stably, handles all booking stages, automatically reminds clients about visits, and provides administrators with convenient tools for salon management.
In the future, integration with payment systems for online service payment and a loyalty system with bonus accumulation are planned.