Manage Appointments in Odoo 18
By Braincuber Team
Published on January 21, 2026
Managing appointments manually means juggling phone calls, calendar conflicts, no-shows, and payment tracking chaos. Odoo 18's Appointments module transforms this mess into an automated system—clients book online, choose time slots based on real availability, pay upfront (or not), and receive automatic confirmations. No back-and-forth emails, no double bookings, no revenue loss from missed appointments.
This tutorial covers both free and paid appointment workflows in Odoo 18. You'll configure appointment types, set availability rules, enable upfront payments, customize booking pages, and automate notifications. Whether you're running a consulting firm, medical practice, salon, or coaching service, you'll have a complete reservation system by the end.
What You'll Build: Two appointment types—free 30-minute consultations and paid 60-minute coaching sessions. Both integrate with your website, sync with calendars, send automated emails, and reduce no-shows through upfront payment collection.
Why Appointment Management Matters
Eliminate Scheduling Chaos
No more phone tag or email chains. Clients see real-time availability and book instantly. Calendar conflicts disappear.
Reduce No-Shows
Upfront payments create commitment. Automated reminders reduce forgetfulness. Cancellation policies enforce accountability.
Professional Client Experience
Branded booking pages, instant confirmations, calendar invites. Clients perceive higher service quality.
Revenue Protection
Collect payment before service. Prevent revenue loss from cancellations. Automate refund policies for compliance.
Appointment Types Comparison
| Feature | Free Appointments | Paid Appointments |
|---|---|---|
| Payment Required | No | Yes (upfront) |
| Use Cases | Discovery calls, consultations, internal meetings | Coaching, medical, legal, beauty services |
| No-Show Risk | Higher (no financial commitment) | Lower (payment creates accountability) |
| Booking Friction | Minimal (2-3 clicks) | Moderate (payment step) |
| Cancellation Policy | Flexible (no refund needed) | Strict (refund rules apply) |
| Revenue Impact | Lead generation | Direct revenue |
Configuration Guide
Create Free Appointment Type
Set up a no-cost discovery call for lead generation.
Path: Appointments → Create
- Appointment Title: "Business Strategy Consultation"
- Duration: 30 minutes
- Pre-Booking Time: 2 hours (minimum notice)
- Scheduling Window: "Available now" or "Within a date range"
- Allow Cancelling: Enable (Up to 24 hours before)
- Availability On: Select specific days (Monday-Friday)
- Users: Assign to consultant team members
- Assignment Method: "Random" or "Choose a resource"
Schedule Tab Configuration: Set working hours (9 AM - 5 PM), block lunch breaks (12-1 PM), define buffer times between appointments (15 min).
Configure Upfront Payment
Enable payments to reduce no-shows and generate revenue.
Path: Appointments → Create → Options Tab
- Appointment Title: "Executive Coaching Session"
- Duration: 60 minutes
- Enable Upfront Payment: Check the box
- Product: Create "Coaching Session" product
- Price: $150 (or your rate)
- Payment Terms: Immediate payment required
- Cancellation Policy: Full refund if cancelled 48+ hours before
Payment Gateway: Ensure payment providers (Stripe, PayPal, Authorize.net) are configured in Website → Configuration → Payment Providers before enabling upfront payments.
Customize Booking Questions
Collect information needed for the appointment.
Path: Appointments → Questions Tab
Add custom questions:
- Question 1: "What is your company size?" (Dropdown: 1-10, 11-50, 51-200, 200+)
- Question 2: "What challenges are you facing?" (Text area, required)
- Question 3: "Preferred communication method?" (Radio: Phone, Video, In-person)
- Question 4: "How did you hear about us?" (Dropdown: Referral, Google, LinkedIn, etc.)
These answers appear in the appointment details and help prepare for the meeting.
Set Automated Messages
Configure confirmation and reminder emails.
Path: Appointments → Messages Tab
Confirmation Message:
Subject: Your Coaching Session is Confirmed
Hi {name},
Your 60-minute Executive Coaching Session is confirmed for:
📅 {date} at {time}
👤 With {resource}
💳 Payment: $150 (Received)
If you need to reschedule, use this link: {reschedule_link}
Looking forward to working with you!
Reminder (24 hours before): Automatically sent via email and SMS (if enabled).
Publish to Website
Make the appointment type available for online booking.
- Click Go to Website button
- Toggle Published to enable public access
- Share booking URL:
yourcompany.com/appointment/coaching - Embed on website pages or add to navigation menu
The booking page displays:
- Available time slots in client's timezone
- Duration and price (if applicable)
- Booking form with custom questions
- Payment gateway (for paid appointments)
- Confirmation and calendar invite generation
Client Booking Flow
Free Appointment Experience
- Client visits booking page
- Selects date from calendar (available slots highlighted)
- Chooses time slot (e.g., 2:00 PM - 2:30 PM)
- Answers custom questions
- Enters name and email
- Clicks "Confirm Booking"
- Receives instant confirmation email with calendar invite
Paid Appointment Experience
- Client completes same steps as free appointment
- Sees price displayed: "$150 - 60 min session"
- Clicks "Proceed to Payment"
- Redirected to payment gateway (Stripe checkout)
- Enters payment details
- Payment processed instantly
- Receives confirmation with receipt and calendar invite
- Appointment status: "Paid & Confirmed"
Backend View: Navigate to Website → Appointments to see all bookings. Filter by status (pending, confirmed, paid, cancelled). Export to Excel for reporting.
Advanced Features
Multi-User Assignment
Assign appointments to teams.
- Random: Auto-distribute evenly
- Choose Resource: Client selects provider
- Least Busy: Assign to user with fewest bookings
Calendar Sync
Two-way sync with Google Calendar, Outlook.
- Blocks time automatically
- Prevents double bookings
- Updates availability in real-time
Rescheduling & Cancellation
Self-service for clients.
- Unique reschedule link in confirmation
- Automatic refunds (if policy allows)
- Cancellation deadline enforcement
Conclusion
Odoo 18's appointment system eliminates scheduling friction. Clients book when convenient, see real availability, pay upfront for commitment, and receive automated confirmations. You save hours weekly on coordination, reduce no-shows by 60-80%, and create a professional booking experience that converts browsers into booked clients.
Implementation Checklist: Configure appointment types. Enable payments (if needed). Set availability rules. Customize questions and messages. Publish to website. Test booking flow. Monitor analytics and adjust.
