Website Appointment Odoo
Hệ thống đặt lịch hẹn trực tuyến tự động với tích hợp calendar, thanh toán và quản lý slot thông minh
Module Website Appointment trong Odoo 19 cho phép khách hàng tự đặt lịch hẹn trực tuyến 24/7, tự động đồng bộ với calendar của nhân viên và gửi xác nhận qua email/SMS.
Hệ thống quản lý availability thông minh, tự động block slot đã đặt, tích hợp Google Calendar/Outlook, thu phí đặt lịch, và cho phép reschedule/cancel dễ dàng.
Từ tư vấn bán hàng, khám bệnh, cắt tóc đến coaching - mọi loại dịch vụ đều có thể nhận booking online với quy trình tự động hoàn toàn.
Tính năng nổi bật
Điểm chính
• Self-Service Booking: Khách hàng tự chọn ngày giờ, nhân viên, dịch vụ trên website 24/7
• Smart Availability: Tự động hiển thị slot trống dựa trên working hours, leaves, existing appointments
• Calendar Integration: Đồng bộ 2-way với Google Calendar, Outlook, Apple Calendar
• Payment Collection: Thu phí đặt lịch hoặc deposit qua Stripe, PayPal trước khi confirm
• Auto-Confirmation: Gửi email/SMS xác nhận tự động với calendar invite (.ics file)
• Reschedule/Cancel: Khách hàng tự reschedule hoặc cancel với policy linh hoạt
• Resource Management: Quản lý rooms, equipment, staff assignment cho appointment
• Reminders: Tự động gửi reminder email/SMS trước appointment (24h, 1h)
Quy trình đặt lịch
Các bước thực hiện
1. Khách hàng vào website, nhấn "Book Appointment". Chọn loại dịch vụ (Sales Consultation, Medical Checkup, Haircut).
2. Chọn nhân viên (hoặc "Any Available"). Hệ thống hiển thị avatar, bio, rating của staff.
3. Chọn ngày từ calendar. Hệ thống chỉ hiển thị ngày có slot trống, disable ngày nghỉ/full.
4. Chọn time slot (9:00 AM, 9:30 AM, 10:00 AM). Chỉ hiển thị slot available dựa trên working hours và appointments đã có.
5. Điền thông tin: Name, Email, Phone, Notes. Nếu dịch vụ yêu cầu payment, nhập thẻ tín dụng.
6. Review booking details, nhấn Confirm. Nếu có payment, xử lý thanh toán qua gateway.
7. Nhận email xác nhận với calendar invite (.ics). Appointment tự động thêm vào Google Calendar của staff và customer.
Cấu hình appointment type
Các bước thực hiện
1. Vào Website → Configuration → Appointment Types. Nhấn Create.
2. Basic Info: Name (Sales Consultation), Duration (30 minutes), Category (Sales).
3. Availability: Chọn working hours (Mon-Fri 9AM-5PM). Set buffer time (15 min before/after). Max bookings per day (8).
4. Staff Assignment: Chọn staff có thể handle appointment này. Bật "Allow customer to choose staff" hoặc auto-assign.
5. Location: Office address, Zoom link, hoặc Phone call. Tự động thêm vào calendar invite.
6. Payment: Bật "Require Payment". Chọn amount ($50) hoặc percentage (20% deposit). Chọn payment provider (Stripe).
7. Confirmation: Customize email template. Thêm instructions, preparation checklist. Bật SMS reminder.
8. Cancellation Policy: Allow cancel up to 24h before. Refund policy (full/partial/no refund).
Tích hợp Google Calendar
Các bước thực hiện
1. Vào Settings → General Settings → Integrations → Google Calendar. Nhấn Configure.
2. Authorize: Nhấn "Connect Google Account". Login với Google account của staff. Grant calendar permissions.
3. Sync Settings: Chọn calendar để sync (Work, Personal). Bật 2-way sync (Odoo ↔ Google).
4. Conflict Detection: Bật "Block slots with existing events". Nếu staff có meeting trong Google Calendar, slot đó sẽ unavailable.
5. Auto-Create Events: Khi appointment được book, tự động tạo event trong Google Calendar với title, description, attendees.
6. Update Sync: Nếu appointment reschedule/cancel trong Odoo, tự động update/delete event trong Google Calendar.
7. Test: Book test appointment, verify event xuất hiện trong Google Calendar. Tạo event trong Google Calendar, verify slot bị block trong Odoo.
Quản lý availability
Điểm chính
• Working Hours: Set working hours cho từng staff (Mon-Fri 9-5, Sat 10-2). Hệ thống chỉ hiển thị slot trong working hours.
• Time Off: Staff request time off trong HR module. Appointments tự động block những ngày nghỉ.
• Buffer Time: Set buffer before/after appointment (15 min) để staff có thời gian chuẩn bị/wrap up.
• Slot Duration: Customize slot duration (15/30/60 min). Có thể set different duration cho different appointment types.
• Max Bookings: Limit số bookings per day/week để tránh overload. Ví dụ: max 8 consultations per day.
• Advance Booking: Set minimum (24h) và maximum (30 days) advance booking window.
• Same-Day Booking: Bật/tắt same-day booking. Nếu tắt, khách hàng phải book ít nhất 1 ngày trước.
Payment và pricing
Payment options
| Option | Use Case | Setup |
|---|---|---|
| Full Payment | Thu toàn bộ phí trước appointment | Set Amount = service price. Require payment before confirm |
| Deposit | Thu deposit, còn lại trả sau | Set Amount = 20% of price. Collect remaining at appointment |
| Free Booking | Không thu phí đặt lịch | Disable "Require Payment". Useful for internal meetings |
| Pay at Venue | Khách trả tiền khi đến | Disable payment. Add note "Payment due at appointment" |
| Cancellation Fee | Thu phí nếu cancel muộn | Set cancellation policy. Charge fee if cancel < 24h |
Email và SMS automation
Điểm chính
• Confirmation Email: Gửi ngay sau khi book. Include appointment details, calendar invite, location, preparation instructions.
• Reminder Email: Gửi 24h trước appointment. Include reschedule/cancel link. Bật trong Appointment Type settings.
• SMS Reminder: Gửi 1h trước appointment. Short message với time, location. Require SMS credits.
• Reschedule Notification: Gửi khi appointment được reschedule. Include new date/time.
• Cancellation Confirmation: Gửi khi appointment bị cancel. Include refund info nếu có.
• Follow-up Email: Gửi sau appointment. Request feedback, offer next appointment.
Reschedule và cancellation
Các bước thực hiện
1. Khách hàng nhận email confirmation với link "Reschedule" và "Cancel".
2. Reschedule: Click link, chọn ngày giờ mới từ available slots. Confirm reschedule. Nhận email xác nhận mới.
3. Cancellation: Click link, confirm cancel. Nếu trong cancellation window (>24h), full refund. Nếu muộn (<24h), no refund hoặc partial refund.
4. Admin Reschedule: Staff có thể reschedule từ backend. Gửi notification cho customer.
5. No-Show: Nếu customer không đến, staff mark "No-Show". Không refund, có thể charge no-show fee.
6. Refund Process: Nếu eligible, refund tự động process qua payment gateway. Tiền về account trong 5-10 ngày.
Use cases theo ngành
Ứng dụng thực tế
| Ngành | Appointment Type | Setup |
|---|---|---|
| Healthcare | Doctor Consultation (30 min) | Require patient info. Sync with medical records. Send pre-visit forms |
| Beauty/Spa | Haircut (45 min), Massage (60 min) | Show staff portfolio. Require deposit. Send preparation tips |
| Education | Tutoring Session (60 min) | Recurring appointments. Zoom integration. Send homework before session |
| Real Estate | Property Viewing (30 min) | Attach property details. Location on map. Require ID verification |
| Legal | Legal Consultation (60 min) | Require case summary. NDA signing. Full payment upfront |
| Fitness | Personal Training (45 min) | Package booking (10 sessions). Track attendance. Send workout plan |
Tối ưu booking rate
Điểm chính
• Reduce Friction: Minimize form fields (Name, Email, Phone only). Pre-fill info for logged-in users.
• Show Availability: Display "Next available: Tomorrow 2PM" prominently. Create urgency.
• Staff Profiles: Add photos, bios, specialties. Let customers choose preferred staff.
• Social Proof: Show "15 people booked this week". Display reviews/ratings.
• Mobile-First: 70% bookings from mobile. Ensure calendar picker works well on mobile.
• Instant Confirmation: Confirm immediately, don't make customer wait for approval.
• Flexible Rescheduling: Make it easy to reschedule. Reduces no-shows.
• Reminders: Send 24h and 1h reminders. Reduces no-shows by 30-40%.
Báo cáo và analytics
Điểm chính
• Booking Dashboard: Vào Appointments → Reporting. View total bookings, revenue, no-show rate.
• Staff Performance: Bookings per staff, average rating, revenue generated.
• Peak Times: Identify busiest days/hours. Optimize staff scheduling.
• Cancellation Analysis: Track cancellation rate, reasons. Adjust policy if needed.
• Revenue Tracking: Total revenue from appointments. Break down by service type.
• Customer Insights: Repeat booking rate, average time between appointments.
Khắc phục sự cố
Common issues
| Issue | Cause | Solution |
|---|---|---|
| No slots available | Working hours not set or all slots booked | Check staff working hours. Increase max bookings per day |
| Calendar not syncing | Google Calendar not authorized | Re-authorize Google account. Check sync settings |
| Payment failed | Invalid card or gateway error | Check payment provider settings. Test with test card |
| Email not sent | Email server not configured | Configure SMTP in Settings → Email Servers |
| Double booking | 2-way sync not enabled | Enable 2-way sync with Google Calendar |
| Customer can't reschedule | Reschedule link expired or disabled | Check appointment settings. Generate new link |
FAQ
Điểm chính
• Có thể book recurring appointments không? Có, bật "Recurring" trong appointment type. Khách hàng chọn frequency (weekly, monthly).
• Làm sao để block specific dates? Vào Calendar → Time Off, tạo time off cho staff. Hoặc create "Blocked" appointment type.
• Có thể tích hợp với Zoom không? Có, cài module website_appointment_zoom. Tự động tạo Zoom meeting cho appointment.
• Làm sao để require deposit? Trong Appointment Type, bật "Require Payment", set amount = 20% of price.
• Có thể customize booking form không? Có, vào Appointment Type → Form Fields. Thêm custom fields (Address, Age, etc).
• Làm sao để prevent no-shows? Require deposit, send reminders, có no-show policy rõ ràng.
• Có thể book cho nhiều người cùng lúc không? Có, set "Max Attendees" > 1. Useful cho group classes.
• Làm sao để track attendance? Staff mark "Attended" hoặc "No-Show" sau appointment. View report trong Analytics.