4. Reservation chatbot
4. Reservation Chatbot
Audience: Directors, clinic admins
Purpose
Use an AI-powered chatbot to automatically respond to patients' reservation inquiries, take reservations, and provide clinic information.
4.1 Chatbot Overview
Key Features
- 24/7 automated responses: takes inquiries even outside business hours
- Automatic reservation intake: collects patient details and preferred times
- Automatic FAQ answers: responds instantly to frequently asked questions
- Clinic information: shares office hours, location, and specialties
- Multilingual support: Korean, English, and more (configurable)
Supported Channels
- Web chat: embedded on your clinic's website
- Mobile: mobile web supported
- KakaoTalk: KakaoTalk channel integration (additional setup required)
- Naver TalkTalk: Naver reservation integration (additional setup required)
4.2 Creating and Configuring a Chatbot
Creating a Chatbot
-
Open the chatbot management page
- From the organization dashboard, click the "Chatbot" or "Reservation Chatbot" tab
-
Create a new chatbot
- Click the "Add chatbot" button
-
Enter basic details
- Chatbot name: an internal management name (e.g., "OO Dental Reservation Bot")
- Welcome message: the greeting shown when a conversation starts
Example: "Hello! This is OO Dental Clinic. How can we help you?" - Channel selection: Web (default), Mobile, KakaoTalk, etc.
- Status: Active / Inactive / Maintenance
-
Configure the AI model
- Choose an LLM model:
- Gemini 1.5 Flash (default, recommended): fast and inexpensive
- Claude Sonnet: high quality
- GPT-4: OpenAI model
- Enter the API key: register the API key for the model you chose
- Get a Gemini API key from Google AI Studio
- Keys are encrypted and stored securely
- Choose an LLM model:
-
Write the system prompt
- Defines the AI's role and how it should respond
- Example:
You are a friendly reservation assistant for OO Dental Clinic. Main responsibilities: - Take patients' reservation inquiries - Provide clinic hours, location, and parking information - Answer frequently asked questions Response principles: - Always use polite language - Provide accurate information only - When uncertain, offer to connect the patient with a staff member
-
Save
- Click the "Save" button to create the chatbot
4.3 Registering Clinic Information
Enter your clinic's information so the chatbot can give accurate answers.
Entering Clinic Information
-
Open the clinic info settings
- In the chatbot list, click the "Clinic Info" or "Settings" button
-
Enter basic details
- Clinic name: the official name
- Phone number: the main phone number (e.g., 02-1234-5678)
- Address: the full address
Example: 2F, 123 Teheran-ro, Gangnam-gu, Seoul
-
Enter care details
- Specialties: dentistry, orthopedics, internal medicine, etc.
- Office hours:
Weekdays: 09:00 - 18:00 Saturday: 09:00 - 13:00 Sunday/public holidays: Closed Lunch break: 13:00 - 14:00 - Services offered: general care, implants, orthodontics, etc.
-
Enter directions
- Transit: subway and bus information
- Parking: parking lot location and how to use it
- Map link: a Naver Map or KakaoMap link
- HTML map: you can paste embedded map code
-
Save
- Click the "Save" button
4.4 Registering FAQs
Register frequently asked questions and answers in advance so patients get instant responses.
Adding an FAQ
-
Open FAQ management
- In the chatbot settings, click the "FAQ Management" tab
-
Add a new FAQ
- Click the "Add FAQ" button
-
Enter the question and answer
- Question: a question patients ask often
Example: "What are your office hours?" - Answer: a clear, friendly answer
Example: "We're open 9 AM to 6 PM on weekdays and 9 AM to 1 PM on Saturdays. We're closed on Sundays and public holidays."
- Question: a question patients ask often
-
Register keywords
- Search keywords: the words the AI uses to find this FAQ
Example: ["office hours", "opening hours", "what time", "when", "hours"] - Registering a variety of phrasings improves accuracy
- Search keywords: the words the AI uses to find this FAQ
-
Save
- Click the "Save" button
Sample FAQs
| Question | Answer | Keywords |
|---|---|---|
| Is parking available? | Parking is available on basement level 1 of the building, free for 2 hours. | parking, parking lot, car |
| Is insurance accepted? | National health insurance covers general care. Cosmetic procedures are not covered. | insurance, health insurance, coverage |
| How do I cancel a reservation? | To cancel, please call us (02-1234-5678) or tell the chatbot. | cancel, cancel reservation, change |
| I'm a first-time patient — what should I bring? | Please bring your ID and health insurance card. | first visit, what to bring, bring |
4.5 Taking and Managing Reservations
The Reservation Flow via Chatbot
-
The patient chats with the chatbot
- Types a message like "I'd like to make a reservation"
-
The chatbot collects details
- Name: "May I have your name?"
- Contact: "What phone number can we reach you at?"
- Preferred date: "When would you like to visit?"
- Preferred time: "What time works for you?"
- Reason for visit: "What kind of care are you looking for?" (optional)
-
The reservation is created automatically
- A reservation is created automatically from the collected details
- Status: "Pending"
Viewing the Reservation List
-
Open the reservation management page
- From the organization dashboard, click the "Reservations" or "Reservation Management" tab
-
Browse the reservation list
- By date: today, this week, this month, all
- By status: pending, confirmed, completed, canceled
- By channel: web, mobile, KakaoTalk, etc.
-
Reservation details
- Patient name and contact
- Reservation date and time
- Reason for visit (patient note)
- Intake channel (chatbot, phone, web, etc.)
- Consultation notes (for staff)
Managing Reservation Status
-
Confirming a reservation
- Select a pending reservation
- Click the "Confirm" button
- Optionally send a confirmation notification to the patient
-
Canceling a reservation
- Select the reservation to cancel
- Click the "Cancel" button
- Enter a cancellation reason (optional)
-
Marking a reservation complete
- Change reservations whose visit has finished to the "Completed" status
-
Adding notes
- Write staff-facing notes in the Consultation notes field
- Example: "New patient, wants an implant consultation", "Returning patient"
4.6 Embedding the Chatbot on Your Website
Getting the Embed Code
-
Generate the embed code
- In the chatbot list, click the "Embed" or "Install" button
-
Copy the code
- Copy the JavaScript code shown
- Example:
<script src="https://app.stepnote.works/chatbot-embed.js"></script> <script> ChatbotWidget.init({ chatbotId: 'your-chatbot-id', position: 'bottom-right', primaryColor: '#0084ff' }); </script>
-
Paste it into your website
- Paste the code right before the
</body>tag on your clinic's website - Or hand the code to your webmaster
- Paste the code right before the
-
Verify
- The chatbot icon appears at the bottom right of your website
- Clicking it opens the chat window
4.7 Checking Chatbot Usage and Costs
Viewing Usage Statistics
-
Open the usage page
- In chatbot management, click the "Usage Statistics" or "Analytics" tab
-
Choose a period
- Today / this week / this month / all
-
Displayed information
- Request count: total number of conversations
- Input tokens: the amount of text the AI read
- Output tokens: the amount of text the AI generated
- Total tokens: input + output
- Estimated cost: calculated from each model's pricing
-
Per-chatbot analysis
- If you run multiple chatbots, check each one's usage
- Use it to choose the most cost-effective model
Cost-Saving Tips
-
Make full use of FAQs
- Questions answerable by FAQ get an instant response with no AI call
- Reduces token usage
-
Choose models efficiently
- Gemini 1.5 Flash: sufficient and inexpensive for typical reservation handling
- Claude/GPT-4: use only when complex consultations are needed
-
Optimize the system prompt
- Write concise, clear instructions
- Remove unnecessarily long explanations
4.8 Cautions and Best Practices
Cautions
-
Protect personal information
- Do not collect sensitive medical information in chatbot conversations
- Keep personal data beyond name and phone number to a minimum
-
No medical consultations
- The chatbot is for taking reservations and sharing general information
- It must not diagnose, prescribe, or give medical advice
- State this explicitly in the system prompt
-
Provide accurate information
- Keep clinic information and FAQs up to date at all times
- Update immediately when anything changes
Best Practices
-
Update FAQs regularly
- Analyze real patient inquiries
- Add new frequently asked questions
-
A reservation review routine
- Check pending reservations every morning
- Reconfirm same-day reservations by phone
-
Monitor conversation quality
- Review chatbot conversations periodically
- Adjust the system prompt when you spot inappropriate responses
-
Provide a path to a human
- Guide complex inquiries to a staff member
- Provide a phone number or email address
4.9 Visual Refresh Notes (Updated 2026-05)
The chatbot management/settings, prompt template, and AI Gateway screens have been updated across the board to use StepNote design system tokens. How you use them and the shortcuts are unchanged.
- Consistent status colors: unified as active = green (success), inactive = gray (muted), cost and default-model highlights = blue (primary), warning areas = orange (warning), deactivate/delete actions = red (destructive).
- Dark mode support: cards, tables, modals, and inputs now all follow HSL semantic tokens, so colors keep the same meaning in both light and dark mode.
- Focus/hover: button and link hover states and input focus rings are unified to the system tones (primary/ring), improving readability during keyboard navigation.
- Modal backdrop: the outer overlay was changed to
bg-foreground/50to maintain content contrast in both light and dark mode.