How I Built a Booking Chatbot for a Beauty Salon in 2 Days: Step-by-Step Breakdown

How I Built a Booking Chatbot for a Beauty Salon in 2 Days: Step-by-Step Breakdown

Introduction

A beauty salon owner in Nantes reached out to me. Problem: clients often can't get through by phone, appointments are tracked in a paper journal and the administrator's memory, frequent double-bookings and missed visits. Budget — limited, timeline — yesterday.

In this article, I'll walk through how I created a working booking chatbot integrated with a calendar and reminder system in just 2 days.

Step 1: Task Analysis and Tool Selection

First, I understood the salon's workflow:

  • Working hours: Tue-Sat, 10:00-20:00

  • Services: haircut, coloring, styling (different durations)

  • Stylists: 2

  • Booking: by phone or in person

Telegram Bot API was the perfect fit — fast, free, no app installation required for clients.

Step 2: Solution Architecture

The bot needed to handle several tasks:

  1. Show available times based on stylist availability

  2. Book the client for their selected time

  3. Send confirmation to the client

  4. Send notification to the administrator

  5. Send appointment reminders 24 hours in advance

Step 3: Technical Implementation

For the database, I used a simple Google Sheet — the client wanted to see appointments without logging into an admin panel.

Sheet structure:

  • Date and time

  • Client name

  • Service

  • Stylist

  • Status (confirmed/canceled)

The bot was built with Python using the python-telegram-bot library. Basic logic:

# Simplified example
@bot.message_handler(commands=['start'])
def start(message):
    bot.send_message(message.chat.id, "Hi! I'm the salon booking bot. Please select a service:")
    show_services(message.chat.id)

@bot.callback_query_handler(func=lambda call: call.data.startswith('service_'))
def service_selected(call):
    service_id = call.data.replace('service_', '')
    show_masters(call.message.chat.id, service_id)

Step 4: Calendar Integration

The most critical part — ensuring the bot sees real schedules. I used Google Calendar API:

  • Each stylist has their own calendar

  • The bot checks available slots in real-time

  • When booked, an event is created in the calendar

  • The client receives a calendar invitation

Step 5: Reminder System

A separate script runs every hour, checks tomorrow's appointments, and sends Telegram reminders. If a client doesn't respond within 2 hours, the bot notifies the administrator to follow up with a call.

Results After Launch

Three months in. Numbers:

  • 85% of bookings now come through the bot (phone is only used for complex questions)

  • Zero scheduling conflicts

  • 30% reduction in no-shows (thanks to reminders)

  • Administrator saves 15 hours per week

Technical Details for Developers

If you want to replicate something similar, here's the full stack:

  • Python 3.11 + python-telegram-bot

  • Google Sheets API (for simple logging)

  • Google Calendar API (for scheduling)

  • Cron jobs on the server (for reminders)

  • Hosting: any VPS for €5/month

Challenges I Encountered

  1. Timezones — French clients might be traveling; the bot needs to account for their timezone

  2. Cancellations — had to add a "cancel" button and logic to free up slots

  3. Concurrent booking conflicts — solved with sheet-level locking

Conclusion

A business chatbot isn't rocket science — it's an accessible tool you can build in a couple of days. The key is understanding the business logic and choosing the right tools.