HADOOPT
TECHNOLOGIES
Schedule a Tech Consultation
Home
Services
Odoo ERP implementation Rollout, custom modules, migration and support. Web application development SaaS products, portals and internal platforms. Mobile application development Offline-first field apps and customer apps. AI development & automation LLM assistants, document processing, forecasting. Odoo version upgrades ↗ Move to a newer release, scoped and priced on its own site.
Products
OrgExp ↗ Budget, CAPEX and OPEX management.
Blog About Contact Schedule a Tech Consultation
Blog / Odoo 17: Complete Guide for Businesses
Odoo 17 3 min read

Let Customers Book Appointments Online with Odoo 17

Offer a seamless online scheduling experience for your customers with Odoo 17's Appointment Booking system — complete with availability, reminders, and…

· ERP practice 06 Dec 2023 · updated 01 May 2025

Odoo 17 takes online bookings through the Appointments app: you define an appointment type with a duration, the staff who can take it and the hours they are available, and Odoo publishes a page where customers pick a free slot. Each booking becomes a calendar event with confirmation and reminder emails. Appointments is an Enterprise app.

Let Customers Book Appointments Online with Odoo 17

Why Online Appointment Booking Matters

Customers today expect convenience. Whether you're offering sales demos, health consultations, virtual meetings, or onboarding calls, online booking:

  • 🎯 Reduces no-shows with reminders
  • 🕒 Cuts back on email/phone scheduling
  • 📲 Offers real-time availability 24/7

With Odoo 17, you don't need a third-party booking tool — it's already built in.

Enabling the Appointment Module

To start using this feature:

Apps → Install "Appointments"

It adds a simple backend configuration and a customer-facing appointment form on your website.

Creating Bookable Services

Define each appointment type under:

Appointments → Configuration → Appointment Types → Create
  • 📝 Service Name (e.g., "Free Demo", "Therapy Session")
  • ⏱️ Duration (15, 30, 60 minutes)
  • 📅 Assigned staff members
  • 🖥️ Meeting location: In-person, phone, or video

Customize lead time, buffer time between slots, and cancellation rules.

How Customers Book Appointments

Each service gets its own link or web page:

  • 🌐 Customers pick a date and time based on live availability
  • 🧑 Fill in their name, email, and optional custom fields
  • 📩 Receive instant confirmation and calendar invite

It's a smooth, professional experience that builds trust from the first interaction.

Managing Staff Availability

Each user defines their working hours in:

Settings → Users → Working Hours

You can block out breaks, public holidays, or personal time. Odoo supports:

  • 📆 Weekly schedules (e.g., Mon–Fri, 9am–5pm)
  • 🔄 Sync with Google/Outlook calendars via iCal
  • 📍 Routing bookings based on team or user availability

Automated Confirmations and Reminders

Odoo sends timely communication to reduce no-shows:

  • ✅ Instant confirmation email on booking
  • 🔔 Reminder emails before the meeting
  • ❌ Optional reschedule/cancellation links

You can personalize the templates with your logo, instructions, or follow-up links.

Integration with CRM and Website

Appointments work hand-in-hand with:

  • 🧪 CRM — Log meetings as activities for leads
  • 🌐 Website — Embed on your "Contact" or "Book Now" pages
  • 📋 Helpdesk or Sales — Route specific services by department

This means every booking helps move your business forward — from lead to loyal customer.

Conclusion

Odoo 17's Appointments module makes scheduling effortless — for you and your customers. Whether you're a service provider, consultant, or coach, you can turn availability into opportunity with automated, professional online bookings.

Want help setting up appointment types or linking your calendar? Our Odoo team can make it work for you.

Questions we get asked

Is the Appointments app in Odoo 17 Community?

No. Appointments carries the Enterprise licence, so it comes with an Odoo Enterprise subscription or a paid Odoo Online plan rather than the free Community edition. Community users can still collect requests through a website form that creates a lead or a calendar activity, but without live availability, self-service slots or customer rescheduling.

How does Odoo know when someone is free?

From two places: the working hours on the user's record, which set the outer limits of the day, and their calendar, where existing meetings block the matching slots. The appointment type adds its own rules on top - minimum notice before a booking, a gap between slots, and how far into the future the calendar can be filled.

Can bookings sync with Google or Outlook calendars?

Yes. Odoo's Calendar app synchronises both ways with Google Calendar and Microsoft Outlook once the connection is authorised in the settings. Meetings booked in Odoo then appear in the personal calendar, and events created there block the matching slots on the booking page, so an hour that is already busy is never offered twice.

Can customers reschedule or cancel by themselves?

Yes, when the appointment type allows it. The confirmation email carries links to move or cancel the booking, and you set how close to the start time that stays possible. A cancellation frees the slot immediately and updates the underlying calendar event, so no one has to trade emails to give the time back.

Can I take payment at the time of booking?

Yes, provided a payment provider is configured on the website. An appointment type can require payment before the slot is confirmed, which suits paid consultations and cuts no-shows sharply. The price is set per appointment type, and the resulting transaction is recorded like any other online payment in the database.

← Previous Managing Field Services and Appointments in Odoo 17 Next → Creating and Managing E-Commerce Stores in Odoo 17
Keep reading
Odoo 17 Complete Guide to Installing Odoo 17 on Mac, Windows, Linux and Docker 7 min read Odoo 17 Integrating All Your Business Apps with Odoo 17 4 min read Odoo 17 Creating and Managing Blogs in Odoo 17 3 min read